)]}'
{
  "log": [
    {
      "commit": "f4fc66a894546bdc88a775d0e83ad20a65210bcb",
      "tree": "87d725ad4e579eb353f615eab26dbf705e2e4bc2",
      "parents": [
        "f34fb6eccc962e4137b77c4bbe1e9a31d27a30e6"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Oct 16 01:25:05 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:42:55 2007 -0700"
      },
      "message": "ext3: convert to new aops\n\nVarious fixes and improvements\n\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f4e6b498d6e06742d72706ef50593a9c4dd72214",
      "tree": "74a573302b2ea086c0d21907175be604f110f5b1",
      "parents": [
        "0bb7ba6b9c358c12084a3cbc6ac08c8d1e973937"
      ],
      "author": {
        "name": "Fengguang Wu",
        "email": "wfg@mail.ustc.edu.cn",
        "time": "Tue Oct 16 01:24:33 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:42:52 2007 -0700"
      },
      "message": "readahead: combine file_ra_state.prev_index/prev_offset into prev_pos\n\nCombine the file_ra_state members\n\t\t\t\tunsigned long prev_index\n\t\t\t\tunsigned int prev_offset\ninto\n\t\t\t\tloff_t prev_pos\n\nIt is more consistent and better supports huge files.\n\nThanks to Peter for the nice proposal!\n\n[akpm@linux-foundation.org: fix shift overflow]\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Fengguang Wu \u003cwfg@mail.ustc.edu.cn\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ef2b02d3e617cb0400eedf2668f86215e1b0e6af",
      "tree": "d6d65ea9ad201645dab91383dc6e0928c2069024",
      "parents": [
        "e42601973b1bce1d2987f82159c1ebeaccc6b310"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Tue Sep 18 22:46:42 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Sep 19 11:24:18 2007 -0700"
      },
      "message": "ext34: ensure do_split leaves enough free space in both blocks\n\nThe do_split() function for htree dir blocks is intended to split a leaf\nblock to make room for a new entry.  It sorts the entries in the original\nblock by hash value, then moves the last half of the entries to the new\nblock - without accounting for how much space this actually moves.  (IOW,\nit moves half of the entry *count* not half of the entry *space*).  If by\nchance we have both large \u0026 small entries, and we move only the smallest\nentries, and we have a large new entry to insert, we may not have created\nenough space for it.\n\nThe patch below stores each record size when calculating the dx_map, and\nthen walks the hash-sorted dx_map, calculating how many entries must be\nmoved to more evenly split the existing entries between the old block and\nthe new block, guaranteeing enough space for the new entry.\n\nThe dx_map \"offs\" member is reduced to u16 so that the overall map size\ndoes not change - it is temporarily stored at the end of the new block, and\nif it grows too large it may be overwritten.  By making offs and size both\nu16, we won\u0027t grow the map size.\n\nAlso add a few comments to the functions involved.\n\nThis fixes the testcase reported by hooanon05@yahoo.co.jp on the\nlinux-ext4 list, \"ext3 dir_index causes an error\"\n\nThanks to Andreas Dilger for discussing the problem \u0026 solution with me.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Andreas Dilger \u003cadilger@clusterfs.com\u003e\nTested-by: Junjiro Okajima \u003chooanon05@yahoo.co.jp\u003e\nCc: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3d82abae9523c33d4a16fdfdfd2bdde316d7b56a",
      "tree": "e0059b667ac7ef765814a2ee9587f9e89015b387",
      "parents": [
        "e67aa27a6179c287983c6c525beb5320f5cd1672"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Tue Sep 18 22:46:38 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Sep 19 11:24:18 2007 -0700"
      },
      "message": "dir_index: error out instead of BUG on corrupt dx dirs\n\nConvert asserts (BUGs) in dx_probe from bad on-disk data to recoverable\nerrors with helpful warnings.  With help catching other asserts from Duane\nGriffin \u003cduaneg@dghda.com\u003e\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nAcked-by: Duane Griffin \u003cduaneg@dghda.com\u003e\nAcked-by: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9c3013e9b91ad23ecae88e45405e98208cce455d",
      "tree": "2f18bb2d539727e2d9228a3d02a2e8810aa2ac3d",
      "parents": [
        "af7b83f9324a77ef9a9080044bf0461f444ca651"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Sep 11 15:23:29 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Sep 11 17:21:19 2007 -0700"
      },
      "message": "quota: fix infinite loop\n\nIf we fail to start a transaction when releasing dquot, we have to call\ndquot_release() anyway to mark dquot structure as inactive.  Otherwise we\nend in an infinite loop inside dqput().\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: xb \u003cxavier.bru@bull.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "780dcdb21170ae8ad3faa640ede249261f216a8c",
      "tree": "c452df9f27ff6e1df8498f7b53763ef31279b3d0",
      "parents": [
        "98ac0e53facc851f8bc5110039ab05005c0c4736"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Thu Jul 26 10:41:11 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 26 11:35:17 2007 -0700"
      },
      "message": "fix inode_table test in ext234_check_descriptors\n\next[234]_check_descriptors sanity checks block group descriptor geometry at\nmount time, testing whether the block bitmap, inode bitmap, and inode table\nreside wholly within the blockgroup.  However, the inode table test is off\nby one so that if the last block in the inode table resides on the last\nblock of the block group, the test incorrectly fails.  This is because it\ntests the last block as (start + length) rather than (start + length - 1).\n\nThis can be seen by trying to mount a filesystem made such as:\n\n mkfs.ext2 -F -b 1024 -m 0 -g 256 -N 3744 fsfile 1024\n\nwhich yields:\n\n EXT2-fs error (device loop0): ext2_check_descriptors: Inode table for group 0 not in group (block 101)!\n EXT2-fs: group descriptors corrupted!\n\nThere is a similar bug in e2fsprogs, patch already sent for that.\n\n(I wonder if inside(), outside(), and/or in_range() should someday be\nused in this and other tests throughout the ext filesystems...)\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "20c2df83d25c6a95affe6157a4c9cac4cf5ffaac",
      "tree": "415c4453d2b17a50abe7a3e515177e1fa337bd67",
      "parents": [
        "64fb98fc40738ae1a98bcea9ca3145b89fb71524"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "message": "mm: Remove slab destructors from kmem_cache_create().\n\nSlab destructors were no longer supported after Christoph\u0027s\nc59def9f222d44bb7e2f0a559f2906191a0862d7 change. They\u0027ve been\nBUGs for both slab and slub, and slob never supported them\neither.\n\nThis rips out support for the dtor pointer from kmem_cache_create()\ncompletely and fixes up every single callsite in the kernel (there were\nabout 224, not including the slab allocator definitions themselves,\nor the documentation references).\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "cf914a7d656e62b9dd3e0dffe4f62b953ae6048d",
      "tree": "baf7e79de006ca80eac426d2d1be4c52f5f19624",
      "parents": [
        "fe3cba17c49471e99d3421e675fc8b3deaaf0b70"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jul 19 01:48:08 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:44 2007 -0700"
      },
      "message": "readahead: split ondemand readahead interface into two functions\n\nSplit ondemand readahead interface into two functions.  I think this makes it\na little clearer for non-readahead experts (like Rusty).\n\nInternally they both call ondemand_readahead(), but the page argument is\nchanged to an obvious boolean flag.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Fengguang Wu \u003cwfg@mail.ustc.edu.cn\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dc7868fcb9a73990e6f30371c1be465c436a7a7f",
      "tree": "21dfd3e625bb4a9f78a7795f0a5b110c3dd8843e",
      "parents": [
        "a08a166fe77d9f9ad88ed6d06b97e73453661f89"
      ],
      "author": {
        "name": "Fengguang Wu",
        "email": "wfg@mail.ustc.edu.cn",
        "time": "Thu Jul 19 01:48:04 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:44 2007 -0700"
      },
      "message": "readahead: convert ext3/ext4 invocations\n\nConvert ext3/ext4 dir reads to use on-demand readahead.\n\nReadahead for dirs operates _not_ on file level, but on blockdev level.  This\nmakes a difference when the data blocks are not continuous.  And the read\nroutine is somehow opaque: there\u0027s no handy info about the status of current\npage.  So a simplified call scheme is employed: to call into readahead\nwhenever the current page falls out of readahead windows.\n\nSigned-off-by: Fengguang Wu \u003cwfg@mail.ustc.edu.cn\u003e\nCc: Steven Pratt \u003cslpratt@austin.ibm.com\u003e\nCc: Ram Pai \u003clinuxram@us.ibm.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3bd858ab1c451725c07a805dcb315215dc85b86e",
      "tree": "5d49c4300e350d64fd81eb3230b81f754117e0c1",
      "parents": [
        "49c13b51a15f1ba9f6d47e26e4a3886c4f3931e2"
      ],
      "author": {
        "name": "Satyam Sharma",
        "email": "ssatyam@cse.iitk.ac.in",
        "time": "Tue Jul 17 15:00:08 2007 +0530"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 12:00:03 2007 -0700"
      },
      "message": "Introduce is_owner_or_cap() to wrap CAP_FOWNER use with fsuid check\n\nIntroduce is_owner_or_cap() macro in fs.h, and convert over relevant\nusers to it. This is done because we want to avoid bugs in the future\nwhere we check for only effective fsuid of the current task against a\nfile\u0027s owning uid, without simultaneously checking for CAP_FOWNER as\nwell, thus violating its semantics.\n[ XFS uses special macros and structures, and in general looked ...\nuntouchable, so we leave it alone -- but it has been looked over. ]\n\nThe (current-\u003efsuid !\u003d inode-\u003ei_uid) check in generic_permission() and\nexec_permission_lite() is left alone, because those operations are\ncovered by CAP_DAC_OVERRIDE and CAP_DAC_READ_SEARCH. Similarly operations\nfalling under the purview of CAP_CHOWN and CAP_LEASE are also left alone.\n\nSigned-off-by: Satyam Sharma \u003cssatyam@cse.iitk.ac.in\u003e\nCc: Al Viro \u003cviro@ftp.linux.org.uk\u003e\nAcked-by: Serge E. Hallyn \u003cserge@hallyn.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a569425512253992cc64ebf8b6d00a62f986db3e",
      "tree": "7ea72c75c54697bddbad807af89cc549d7426a69",
      "parents": [
        "6dd4ac3b30b81b5bd0d628af1c89b7da689a38ea"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Jul 17 04:04:28 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:06 2007 -0700"
      },
      "message": "knfsd: exportfs: add exportfs.h header\n\ncurrently the export_operation structure and helpers related to it are in\nfs.h.  fs.h is already far too large and there are very few places needing the\nexport bits, so split them off into a separate header.\n\n[akpm@linux-foundation.org: fix cifs build]\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a71ce8c6c9bf269b192f352ea555217815cf027e",
      "tree": "32d1c37b890120e0eb12c2f4fe821af5507aad91",
      "parents": [
        "2235219b7721b8e74de6841e79240936561a2b63"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Sun Jul 15 23:41:59 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:52 2007 -0700"
      },
      "message": "ext3: statfs speed up\n\nThis is a patch that speeds up statfs.  It is very simple - the \"overhead\"\ncalculation, which takes a huge amount of time for large filesystems, never\nchanges unless the size of the filesystem itself changes.  That means we can\nstore it in memory and only recalculate if the filesystem has been resized\n(almost never).\n\nIt also fixes a minor problem that we never update the on-disk superblock free\nblocks/inodes counts until the filesystem is unmounted.  While not fatal, we\nmay as well update that on disk when we have the information, and it makes\nthings like debugfs and dumpe2fs report a bit more accurate info.\n\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Andreas Dilger \u003cadilger@clusterfs.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "952d9de116ad87261de106464a9eeec038c4cd14",
      "tree": "415354669cb3b2ccfe7ea066e0bcf79c0a4305de",
      "parents": [
        "1f1f642e2f092e37eb9038060eb0100c44f55a11"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "bbpetkov@yahoo.de",
        "time": "Sun Jul 15 23:41:45 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:51 2007 -0700"
      },
      "message": "ext3: fix error handling in ext3_create_journal()\n\nFix error handling in ext3_create_journal according to kernel conventions.\n\nSigned-off-by: Borislav Petkov \u003cbbpetkov@yahoo.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3fc74269c8910573a0e9a7bc303752194ce5cae0",
      "tree": "ebe371367d6438a88d13c6d2ebb6157fecb24632",
      "parents": [
        "681dcd95431e2258c1174602fcd69393e4139959"
      ],
      "author": {
        "name": "vignesh babu",
        "email": "vignesh.babu@wipro.com",
        "time": "Sun Jul 15 23:41:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:48 2007 -0700"
      },
      "message": "is_power_of_2: ext3/super.c\n\nReplace (n \u0026 (n-1)) in the context of power of 2 checks with is_power_of_2()\n\nSigned-off-by: vignesh babu \u003cvignesh.babu@wipro.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e3a68e30d28dbc6981dfc3d6ceddbfa2f885fe4e",
      "tree": "f15372ae04f4eaea734c1c6935ae65887acf4c3c",
      "parents": [
        "6b86e854f71600c809536502a0efa9d4e384fb23"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Sun Jul 15 23:41:14 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:48 2007 -0700"
      },
      "message": "ext3: remove extra IS_RDONLY() check\n\next3_change_inode_journal_flag() is only called from one location:\next3_ioctl(EXT3_IOC_SETFLAGS).  That ioctl case already has a IS_RDONLY()\ncall in it so this one is superfluous.\n\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "030703e49d4966bd348660e0fdc2699507efb82b",
      "tree": "7ff200c2834960fc70b2683007b7d13cdb7f761e",
      "parents": [
        "8b3b295502444340dd0701855ac422fbf32e161d"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Sun Jul 15 23:41:08 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:47 2007 -0700"
      },
      "message": "ext3: fix deadlock in ext3_remount() and orphan list handling\n\next3_orphan_add() and ext3_orphan_del() functions lock sb-\u003es_lock with a\ntransaction started with ext3_mark_recovery_complete() waits for a transaction\nholding sb-\u003es_lock, thus leading to a possible deadlock.  At the moment we\ncall ext3_mark_recovery_complete() from ext3_remount() we have done all the\nwork needed for remounting and thus we are safe to drop sb-\u003es_lock before we\nwait for transactions to commit.  Note that at this moment we are still\nguarded by s_umount lock against other remounts/umounts.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: Eric Sandeen \u003csandeen@sandeen.net\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a6c15c2b0fbfd5c0a84f5f0e1e3f20f85d2b8692",
      "tree": "87af8336e669c8e63fda7d57b0650b5a806f77ff",
      "parents": [
        "9f7dd93de07420b423336d5d0028959e94778ddb"
      ],
      "author": {
        "name": "Vasily Averin",
        "email": "vvs@sw.ru",
        "time": "Sun Jul 15 23:40:46 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:46 2007 -0700"
      },
      "message": "ext3/ext4: orphan list corruption due bad inode\n\nAfter ext3 orphan list check has been added into ext3_destroy_inode()\n(please see my previous patch) the following situation has been detected:\n\n EXT3-fs warning (device sda6): ext3_unlink: Deleting nonexistent file (37901290), 0\n Inode 00000101a15b7840: orphan list check failed!\n 00000773 6f665f00 74616d72 00000573 65725f00 06737270 66000000 616d726f\n...\n Call Trace: [\u003cffffffff80211ea9\u003e] ext3_destroy_inode+0x79/0x90\n  [\u003cffffffff801a2b16\u003e] sys_unlink+0x126/0x1a0\n  [\u003cffffffff80111479\u003e] error_exit+0x0/0x81\n  [\u003cffffffff80110aba\u003e] system_call+0x7e/0x83\n\nFirst messages said that unlinked inode has i_nlink\u003d0, then ext3_unlink()\nadds this inode into orphan list.\n\nSecond message means that this inode has not been removed from orphan list.\n Inode dump has showed that i_fop \u003d \u0026bad_file_ops and it can be set in\nmake_bad_inode() only.  Then I\u0027ve found that ext3_read_inode() can call\nmake_bad_inode() without any error/warning messages, for example in the\nfollowing case:\n\n...\n        if (inode-\u003ei_nlink \u003d\u003d 0) {\n                if (inode-\u003ei_mode \u003d\u003d 0 ||\n                    !(EXT3_SB(inode-\u003ei_sb)-\u003es_mount_state \u0026 EXT3_ORPHAN_FS)) {\n                        /* this inode is deleted */\n                        brelse (bh);\n                        goto bad_inode;\n...\n\nBad inode can live some time, ext3_unlink can add it to orphan list, but\next3_delete_inode() do not deleted this inode from orphan list.  As result\nwe can have orphan list corruption detected in ext3_destroy_inode().\n\nHowever it is not clear for me how to fix this issue correctly.\n\nAs far as i see is_bad_inode() is called after iget() in all places\nexcluding ext3_lookup() and ext3_get_parent().  I believe it makes sense to\nadd bad inode check to these functions too and call iput if bad inode\ndetected.\n\nSigned-off-by:\tVasily Averin \u003cvvs@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9f7dd93de07420b423336d5d0028959e94778ddb",
      "tree": "a2255d5c1f28bc8defdd7103a95689c706d08a1d",
      "parents": [
        "dcae56ea661e13d8f904b584bbe4c1e50c7ee548"
      ],
      "author": {
        "name": "Vasily Averin",
        "email": "vvs@sw.ru",
        "time": "Sun Jul 15 23:40:45 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:46 2007 -0700"
      },
      "message": "ext3/ext4: orphan list check on destroy_inode\n\nCustomers claims to ext3-related errors, investigation showed that ext3\norphan list has been corrupted and have the reference to non-ext3 inode.\nThe following debug helps to understand the reasons of this issue.\n\n[akpm@linux-foundation.org: update for print_hex_dump() changes]\nSigned-off-by: Vasily Averin \u003cvvs@sw.ru\u003e\nCc: \"Randy.Dunlap\" \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5ffc4ef45b3b0a57872f631b4e4ceb8ace0d7496",
      "tree": "437ec32a58ac5e4794565b2bbb3da6611f0d6a04",
      "parents": [
        "534f2aaa6ab07cd71164180bc958a7dcde41db11"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jun 01 11:49:19 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 10 08:04:13 2007 +0200"
      },
      "message": "sendfile: remove .sendfile from filesystems that use generic_file_sendfile()\n\nThey can use generic_file_splice_read() instead. Since sys_sendfile() now\nprefers that, there should be no change in behaviour.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e4a10a362cd1df6c23fe46f449d36b3f712e2824",
      "tree": "2e926ca5225e8b6f52d9fc4dd3886cff7f235721",
      "parents": [
        "7b018b2888b32284e09bba9cccb5cd2e12199feb"
      ],
      "author": {
        "name": "Kirill Korotaev",
        "email": "dev@openvz.org",
        "time": "Sat Jun 23 17:16:48 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Jun 24 08:59:12 2007 -0700"
      },
      "message": "ext3: lost brelse in ext3_read_inode()\n\nOne of error path in ext3_read_inode() leaks bh since brelse is forgoten.\n\nSigned-off-by: Kirill Korotaev \u003cdev@openvz.org\u003e\nAcked-by: Vasily Averin \u003cvvs@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a35afb830f8d71ec211531aeb9a621b09a2efb39",
      "tree": "198280081e1f8b2f6c450742a5075cc7904a3d58",
      "parents": [
        "5577bd8a85c8b7643a241789b14fafa9c8a6c7db"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 16 22:10:57 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 17 05:23:04 2007 -0700"
      },
      "message": "Remove SLAB_CTOR_CONSTRUCTOR\n\nSLAB_CTOR_CONSTRUCTOR is always specified. No point in checking it.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Anton Altaparmakov \u003caia21@cantab.net\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nCc: David Chinner \u003cdgc@sgi.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0c11d7a9e9e9793219baf715048c190a84bead57",
      "tree": "ba5557118502f04a6dc12b66a6afacac1144256b",
      "parents": [
        "f36dca90e674a1a62cad810f630629c0008b2128"
      ],
      "author": {
        "name": "Nate Diller",
        "email": "nate.diller@gmail.com",
        "time": "Wed May 09 02:35:08 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:55 2007 -0700"
      },
      "message": "ext3: use zero_user_page\n\nUse zero_user_page() instead of open-coding it.\n\nSigned-off-by: Nate Diller \u003cnate.diller@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "28be5abb400e5e082f5225105fdc69337ec0c0b4",
      "tree": "e4bb3e527aac316004be68e28a25b2919e30afd4",
      "parents": [
        "9926e4c74300c4b31dee007298c6475d33369df0"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue May 08 00:30:33 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:12 2007 -0700"
      },
      "message": "ext3: copy i_flags to inode flags on write\n\nA patch that stores inode flags such as S_IMMUTABLE, S_APPEND, etc.  from\ni_flags to EXT3_I(inode)-\u003ei_flags when inode is written to disk.  The same\nthing is done on GETFLAGS ioctl.\n\nQuota code changes these flags on quota files (to make it harder for\nsysadmin to screw himself) and these changes were not correctly propagated\ninto the filesystem (especially, lsattr did not show them and users were\nwondering...).\n\nPropagate flags such as S_APPEND, S_IMMUTABLE, etc.  from i_flags into\next3-specific i_flags.  Hence, when someone sets these flags via a\ndifferent interface than ioctl, they are stored correctly.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e63340ae6b6205fef26b40a75673d1c9c0c8bb90",
      "tree": "8d3212705515edec73c3936bb9e23c71d34a7b41",
      "parents": [
        "04c9167f91e309c9c4ea982992aa08e83b2eb42e"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue May 08 00:28:08 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:07 2007 -0700"
      },
      "message": "header cleaning: don\u0027t include smp_lock.h when not used\n\nRemove includes of \u003clinux/smp_lock.h\u003e where it is not used/needed.\nSuggested by Al Viro.\n\nBuilds cleanly on x86_64, i386, alpha, ia64, powerpc, sparc,\nsparc64, and arm (all 59 defconfigs).\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fedee54d8f12cdfde299f181fec5c62b0c647ad6",
      "tree": "815a5de82d0c242bb1e6a012a237d0715c3b08af",
      "parents": [
        "753e9c5cd9b123156152c66c816f751954b15e53"
      ],
      "author": {
        "name": "Dmitriy Monakhov",
        "email": "dmonakhov@sw.ru",
        "time": "Tue May 08 00:25:34 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:01 2007 -0700"
      },
      "message": "ext3: dirindex error pointer issues\n\n- ext3_dx_find_entry() exit with out setting proper error pointer\n\n- do_split() exit with out setting proper error pointer\n  it is realy painful because many callers contain folowing code:\n\n          de \u003d do_split(handle,dir, \u0026bh, frame, \u0026hinfo, \u0026retval);\n          if (!(de))\n                       return retval;\n          \u003c\u003c\u003c WOW retval wasn\u0027t changed by do_split(), so caller failed\n          \u003c\u003c\u003c but return SUCCESS :)\n\n- Rearrange do_split() error path. Current error path is realy ugly, all\n  this up and down jump stuff doesn\u0027t make code easy to understand.\n\n[dmonakhov@sw.ru: fix annoying fake error messages]\nSigned-off-by: Monakhov Dmitriy \u003cdmonakhov@openvz.org\u003e\nCc: Andreas Dilger \u003cadilger@clusterfs.com\u003e\nCc: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nSigned-off-by: Monakhov Dmitriy \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4d7bf11d649c72621ca31b8ea12b9c94af380e63",
      "tree": "c4a3c11cf6d13210ed344de0ae091d3f7523c689",
      "parents": [
        "8948e11f450e6189a79e47d6051c3d5a0b98e3f3"
      ],
      "author": {
        "name": "Markus Rechberger",
        "email": "Markus.Rechberger@amd.com",
        "time": "Tue May 08 00:23:39 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:14:58 2007 -0700"
      },
      "message": "ext2/3/4: fix file date underflow on ext2 3 filesystems on 64 bit systems\n\nTaken from http://bugzilla.kernel.org/show_bug.cgi?id\u003d5079\n\nsigned long ranges from -2.147.483.648 to 2.147.483.647 on x86 32bit\n\n10000011110110100100111110111101 .. -2,082,844,739\n10000011110110100100111110111101 ..  2,212,122,557 \u003c- this currently gets\nstored on the disk but when converting it to a 64bit signed long value it loses\nits sign and becomes positive.\n\nCc: Andreas Dilger \u003cadilger@dilger.ca\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\n\nAndreas says:\n\nThis patch is now treating timestamps with the high bit set as negative\ntimes (before Jan 1, 1970).  This means we lose 1/2 of the possible range\nof timestamps (lopping off 68 years before unix timestamp overflow -\nnow only 30 years away :-) to handle the extremely rare case of setting\ntimestamps into the distant past.\n\nIf we are only interested in fixing the underflow case, we could just\nlimit the values to 0 instead of storing negative values.  At worst this\nwill skew the timestamp by a few hours for timezones in the far east\n(files would still show Jan 1, 1970 in \"ls -l\" output).\n\nThat said, it seems 32-bit systems (mine at least) allow files to be set\ninto the past (01/01/1907 works fine) so it seems this patch is bringing\nthe x86_64 behaviour into sync with other kernels.\n\nOn the plus side, we have a patch that is ready to add nanosecond timestamps\nto ext3 and as an added bonus adds 2 high bits to the on-disk timestamp so\nthis extends the maximum date to 2242.\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "50953fe9e00ebbeffa032a565ab2f08312d51a87",
      "tree": "9f95f56f0b51600959a76cd88ce17f6e9c7a98a3",
      "parents": [
        "4b1d89290b62bb2db476c94c82cf7442aab440c8"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun May 06 14:50:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:57 2007 -0700"
      },
      "message": "slab allocators: Remove SLAB_DEBUG_INITIAL flag\n\nI have never seen a use of SLAB_DEBUG_INITIAL.  It is only supported by\nSLAB.\n\nI think its purpose was to have a callback after an object has been freed\nto verify that the state is the constructor state again?  The callback is\nperformed before each freeing of an object.\n\nI would think that it is much easier to check the object state manually\nbefore the free.  That also places the check near the code object\nmanipulation of the object.\n\nAlso the SLAB_DEBUG_INITIAL callback is only performed if the kernel was\ncompiled with SLAB debugging on.  If there would be code in a constructor\nhandling SLAB_DEBUG_INITIAL then it would have to be conditional on\nSLAB_DEBUG otherwise it would just be dead code.  But there is no such code\nin the kernel.  I think SLUB_DEBUG_INITIAL is too problematic to make real\nuse of, difficult to understand and there are easier ways to accomplish the\nsame effect (i.e.  add debug code before kfree).\n\nThere is a related flag SLAB_CTOR_VERIFY that is frequently checked to be\nclear in fs inode caches.  Remove the pointless checks (they would even be\npointless without removeal of SLAB_DEBUG_INITIAL) from the fs constructors.\n\nThis is the last slab flag that SLUB did not support.  Remove the check for\nunimplemented flags from SLUB.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f98393a64ca1392130724c3acb4e3f325801d2b6",
      "tree": "b02838bdf84156ac923bb37b6cf5f5ed6aaa3d48",
      "parents": [
        "0a27a14a62921b438bb6f33772690d345a089be6"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sun May 06 14:49:54 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:55 2007 -0700"
      },
      "message": "mm: remove destroy_dirty_buffers from invalidate_bdev()\n\nRemove the destroy_dirty_buffers argument from invalidate_bdev(), it hasn\u0027t\nbeen used in 6 years (so akpm says).\n\nfind * -name \\*.[ch] | xargs grep -l invalidate_bdev |\nwhile read file; do\n\tquilt add $file;\n\tsed -ie \u0027s/invalidate_bdev(\\([^,]*\\),[^)]*)/invalidate_bdev(\\1)/g\u0027 $file;\ndone\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1aa9b4b9bc10a0cf6e6109c2997d759a76e840e5",
      "tree": "52a18d3d83f28e8a736775c2a88ad9cb60f48da6",
      "parents": [
        "03221702608c60b470fc86a23bdf4bc30e5bd59f"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Sun Apr 01 23:49:43 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Apr 02 10:06:08 2007 -0700"
      },
      "message": "[PATCH] revert \"retries in ext3_prepare_write() violate ordering requirements\"\n\nRevert e92a4d595b464c4aae64be39ca61a9ffe9c8b278.\n\nDmitry points out\n\n\"When we block_prepare_write() failed while ext3_prepare_write() we jump to\n \"failure\" label and call ext3_prepare_failure() witch search last mapped bh\n and invoke commit_write untill it.  This is wrong!!  because some bh from\n begining to the last mapped bh may be not uptodate.  As a result we commit to\n disk not uptodate page content witch contains garbage from previous usage.\"\n\nand\n\n\"Unexpected file size increasing.\"\n\n   Call trace the same as it was in first issue but result is different.\n   For example we have file with i_size is zero.  we want write two blocks ,\n   but fs has only one free block.\n\n   -\u003eext3_prepare_write(...from \u003d\u003d 0, to \u003d\u003d 2048)\n     retry:\n     -\u003eblock_prepare_write() \u003d\u003d -ENOSPC# we failed but allocated one block here.\n     -\u003eext3_prepare_failure()\n       -\u003ecommit_write( from \u003d\u003d 0, to \u003d\u003d 1024) # after this i_size becomes 1024 :)\n     if (ret \u003d\u003d -ENOSPC \u0026\u0026 ext3_should_retry_alloc(inode-\u003ei_sb, \u0026retries))\n        goto retry;\n\n   Finally when all retries will be spended ext3_prepare_failure return\n   -ENOSPC, but i_size was increased and later block trimm procedures can\u0027t\n   help here.\n\nWe don\u0027t appear to have the horsepower to fix these issues, so let\u0027s put\nthings back the way they were for now.\n\nCc: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Ken Chen \u003ckenneth.w.chen@intel.com\u003e\nCc: Andrey Savochkin \u003csaw@sw.ru\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Dmitriy Monakhov \u003cdmonakhov@openvz.org\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "105fd108a66ceff2b0fb710582b97d61ee4c9d40",
      "tree": "33d5acd7ec1acd625ae76be9b8b969c5b4a9a814",
      "parents": [
        "cee9e8c5cb1554e9e85ad764d27b6c808555ed89"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Fri Mar 23 00:10:02 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Mar 23 11:01:22 2007 -0700"
      },
      "message": "[PATCH] \"ext[34]: EA block reference count racing fix\" performance fix\n\nA little mistake in 8a2bfdcbfa441d8b0e5cb9c9a7f45f77f80da465 is making all\ntransactions synchronous, which reduces ext3 performance to comical levels.\n\nCc: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8a2bfdcbfa441d8b0e5cb9c9a7f45f77f80da465",
      "tree": "10c90347c8eaf6dcad69b74198c535c2febd3387",
      "parents": [
        "1463fdbcc797dfcb8574ababbd39cf6205f6ed00"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Wed Feb 28 20:13:35 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Mar 01 14:53:38 2007 -0800"
      },
      "message": "[PATCH] ext[34]: EA block reference count racing fix\n\nThere are race issues around ext[34] xattr block release code.\n\next[34]_xattr_release_block() checks the reference count of xattr block\n(h_refcount) and frees that xattr block if it is the last one reference it.\n Unlike ext2, the check of this counter is unprotected by any lock.\next[34]_xattr_release_block() will free the mb_cache entry before freeing\nthat xattr block.  There is a small window between the check for the re\nh_refcount \u003d\u003d1 and the call to mb_cache_entry_free().  During this small\nwindow another inode might find this xattr block from the mbcache and reuse\nit, racing a refcount updates.  The xattr block will later be freed by the\nfirst inode without notice other inode is still use it.  Later if that\nblock is reallocated as a datablock for other file, then more serious\nproblem might happen.\n\nWe need put a lock around places checking the refount as well to avoid\nracing issue.  Another place need this kind of protection is in\next3_xattr_block_set(), where it will modify the xattr block content in-\nthe-fly if the refcount is 1 (means it\u0027s the only inode reference it).\n\nThis will also fix another issue: the xattr block may not get freed at all\nif no lock is to protect the refcount check at the release time.  It is\npossible that the last two inodes could release the shared xattr block at\nthe same time.  But both of them think they are not the last one so only\ndecreased the h_refcount without freeing xattr block at all.\n\nWe need to call lock_buffer() after ext3_journal_get_write_access() to\navoid deadlock (because the later will call lock_buffer()/unlock_buffer\n() as well).\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nCc: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e627432c2948d500669a6c4522f22b66f5118d64",
      "tree": "dc7abe744ab9eff3a3b95251a3d3552ed8b54f0c",
      "parents": [
        "ae6b95d4d86565a4f267359852f7fbe000b6e0e7"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@gmail.com",
        "time": "Tue Feb 20 13:57:58 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 20 17:10:14 2007 -0800"
      },
      "message": "[PATCH] ext[234]: update documentation\n\nSigned-off-by: \"Aneesh Kumar K.V\" \u003caneesh.kumar@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cd354f1ae75e6466a7e31b727faede57a1f89ca5",
      "tree": "09a2da1672465fefbc7fe06ff4e6084f1dd14c6b",
      "parents": [
        "3fc605a2aa38899c12180ca311f1eeb61a6d867e"
      ],
      "author": {
        "name": "Tim Schmielau",
        "email": "tim@physik3.uni-rostock.de",
        "time": "Wed Feb 14 00:33:14 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 14 08:09:54 2007 -0800"
      },
      "message": "[PATCH] remove many unneeded #includes of sched.h\n\nAfter Al Viro (finally) succeeded in removing the sched.h #include in module.h\nrecently, it makes sense again to remove other superfluous sched.h includes.\nThere are quite a lot of files which include it but don\u0027t actually need\nanything defined in there.  Presumably these includes were once needed for\nmacros that used to live in sched.h, but moved to other header files in the\ncourse of cleaning it up.\n\nTo ease the pain, this time I did not fiddle with any header files and only\nremoved #includes from .c-files, which tend to cause less trouble.\n\nCompile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha,\narm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig,\nallmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all\nconfigs in arch/arm/configs on arm.  I also checked that no new warnings were\nintroduced by the patch (actually, some warnings are removed that were emitted\nby unnecessarily included header files).\n\nSigned-off-by: Tim Schmielau \u003ctim@physik3.uni-rostock.de\u003e\nAcked-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ee9b6d61a2a43c5952eb43283f8db284a4e70b8a",
      "tree": "afb0340e79d3e9d14f39df20e165ce2efe941b18",
      "parents": [
        "c5ef1c42c51b1b5b4a401a6517bdda30933ddbaf"
      ],
      "author": {
        "name": "Josef \u0027Jeff\u0027 Sipek",
        "email": "jsipek@cs.sunysb.edu",
        "time": "Mon Feb 12 00:55:41 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:47 2007 -0800"
      },
      "message": "[PATCH] Mark struct super_operations const\n\nThis patch is inspired by Arjan\u0027s \"Patch series to mark struct\nfile_operations and struct inode_operations const\".\n\nCompile tested with gcc \u0026 sparse.\n\nSigned-off-by: Josef \u0027Jeff\u0027 Sipek \u003cjsipek@cs.sunysb.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "754661f143e70d66eae6c48532ca245aa05dec0e",
      "tree": "c3ed0f7f96061931e497ed92d2b21294756b4831",
      "parents": [
        "9c2e08c592cd357a8330c34def1e8ecfdcf53275"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Feb 12 00:55:38 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:46 2007 -0800"
      },
      "message": "[PATCH] mark struct inode_operations const 1\n\nMany struct inode_operations in the kernel can be \"const\".  Marking them const\nmoves these to the .rodata section, which avoids false sharing with potential\ndirty data.  In addition it\u0027ll catch accidental writes at compile time to\nthese shared resources.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3e4fdaf8aebe489e8e59826fdf78cb64356d2ad0",
      "tree": "fe95bee85f97d16f192ff02fa8880f857b71d136",
      "parents": [
        "501b9ebf43f9973c3e246c8fbd17144d81a989ef"
      ],
      "author": {
        "name": "Dmitriy Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Sat Feb 10 01:46:35 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 11:18:06 2007 -0800"
      },
      "message": "[PATCH] jbd layer function called instead of fs specific one\n\njbd function called instead of fs specific one.\n\nSigned-off-by: Dmitriy Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "731b9a549882c76189baafccbd068d5785ea2a82",
      "tree": "0393399e3dccd93f78595f6e503ae098758c9811",
      "parents": [
        "2988a7740dc0dd9a0cb56576e8fe1d777dff0db3"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Sat Feb 10 01:46:16 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:34 2007 -0800"
      },
      "message": "[PATCH] remove ext[34]_inc_count and _dec_count\n\n- Naming is confusing, ext3_inc_count manipulates i_nlink not i_count\n- handle argument passed in is not used\n- ext3 and ext4 already call inc_nlink and dec_nlink directly in other places\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2988a7740dc0dd9a0cb56576e8fe1d777dff0db3",
      "tree": "9c1b67be5d16a24d5c613ecb8e3804c7ff3994da",
      "parents": [
        "967bb77c69e3bc44dd1128a8b503a205cce3fd4a"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Sat Feb 10 01:46:16 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:34 2007 -0800"
      },
      "message": "[PATCH] return ENOENT from ext3_link when racing with unlink\n\nReturn -ENOENT from ext[34]_link if we\u0027ve raced with unlink and i_nlink is\n0.  Doing otherwise has the potential to corrupt the orphan inode list,\nbecause we\u0027d wind up with an inode with a non-zero link count on the list,\nand it will never get properly cleaned up \u0026 removed from the orphan list\nbefore it is freed.\n\n[akpm@osdl.org: build fix]\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2e7842b887627c4319c4625d2b52fa6616fda2cd",
      "tree": "608123e38adff4cb19f756b0a67158ea30a15b18",
      "parents": [
        "9bbf81e4830db873300c1d0503b371b4f8a932ce"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Feb 10 01:46:13 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:34 2007 -0800"
      },
      "message": "[PATCH] fix umask when noACL kernel meets extN tuned for ACLs\n\nFix insecure default behaviour reported by Tigran Aivazian: if an ext2 or\next3 or ext4 filesystem is tuned to mount with \"acl\", but mounted by a\nkernel built without ACL support, then umask was ignored when creating\ninodes - though root or user has umask 022, touch creates files as 0666,\nand mkdir creates directories as 0777.\n\nThis appears to have worked right until 2.6.11, when a fix to the default\nmode on symlinks (always 0777) assumed VFS applies umask: which it does,\nunless the mount is marked for ACLs; but ext[234] set MS_POSIXACL in\ns_flags according to s_mount_opt set according to def_mount_opts.\n\nWe could revert to the 2.6.10 ext[234]_init_acl (adding an S_ISLNK test);\nbut other filesystems only set MS_POSIXACL when ACLs are configured.  We\ncould fix this at another level; but it seems most robust to avoid setting\nthe s_mount_opt flag in the first place (at the expense of more ifdefs).\n\nLikewise don\u0027t set the XATTR_USER flag when built without XATTR support.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Tigran Aivazian \u003ctigran@aivazian.fsnet.co.uk\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ea9a05a1330053759c02eb2c60547085140a4cbd",
      "tree": "f81451db36a53d682ad4a623b7144e27a3e04033",
      "parents": [
        "bfb58478fe2f8cbbb776d910ff3549515e3c8f4f"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Sat Feb 10 01:46:07 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:34 2007 -0800"
      },
      "message": "[PATCH] ext3: refuse ro to rw remount of fs with orphan inodes\n\nIn the rare case where we have skipped orphan inode processing due to a\nreadonly block device, and the block device subsequently changes back to\nread-write, disallow a remount,rw transition of the filesystem when we have an\nunprocessed orphan inodes as this would corrupt the list.\n\nIdeally we should process the orphan inode list during the remount, but that\u0027s\ntrickier, and this plugs the hole for now.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nCc: \"Stephen C. Tweedie\" \u003csct@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f0d1b0b30d250a07627ad8b9fbbb5c7cc08422e8",
      "tree": "0aa5379150574374351fb92af7881a48dbfcf2ce",
      "parents": [
        "b3d7ae5f47a58a9f7b152deeaf7daa1fc558a8f1"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Dec 08 02:37:49 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:51 2006 -0800"
      },
      "message": "[PATCH] LOG2: Implement a general integer log2 facility in the kernel\n\nThis facility provides three entry points:\n\n\tilog2()\t\tLog base 2 of unsigned long\n\tilog2_u32()\tLog base 2 of u32\n\tilog2_u64()\tLog base 2 of u64\n\nThese facilities can either be used inside functions on dynamic data:\n\n\tint do_something(long q)\n\t{\n\t\t...;\n\t\ty \u003d ilog2(x)\n\t\t...;\n\t}\n\nOr can be used to statically initialise global variables with constant values:\n\n\tunsigned n \u003d ilog2(27);\n\nWhen performing static initialisation, the compiler will report \"error:\ninitializer element is not constant\" if asked to take a log of zero or of\nsomething not reducible to a constant.  They treat negative numbers as\nunsigned.\n\nWhen not dealing with a constant, they fall back to using fls() which permits\nthem to use arch-specific log calculation instructions - such as BSR on\nx86/x86_64 or SCAN on FRV - if available.\n\n[akpm@osdl.org: MMC fix]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Wojtek Kaniewski \u003cwojtekka@toxygen.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fe21a69389165b9641a8d0b89e00a71c4e5f5d59",
      "tree": "69680eba96fa96884edea6af2d6e060b90a2cc37",
      "parents": [
        "c29c6934304a05781c9bd1611bd98870689f34e7"
      ],
      "author": {
        "name": "Josef \"Jeff\" Sipek",
        "email": "jsipek@cs.sunysb.edu",
        "time": "Fri Dec 08 02:36:38 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:41 2006 -0800"
      },
      "message": "[PATCH] ext3: change uses of f_{dentry, vfsmnt} to use f_path\n\nChange all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in the ext3\nfilesystem.\n\nSigned-off-by: Josef \"Jeff\" Sipek \u003cjsipek@cs.sunysb.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7d1c520bb57e4b5e94ec937c13553dccf473341b",
      "tree": "6e6ff8db13b6b8a3c122553bd5b1d43c7498ad77",
      "parents": [
        "2823b5535efad71e950ef50c2ce5f9e4dbaedc17"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Wed Dec 06 20:41:30 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:48 2006 -0800"
      },
      "message": "[PATCH] ext3 balloc: fix _with_rsv freeze\n\nPort fix to the off-by-one in find_next_usable_block\u0027s memscan from ext2 to\next3; but it didn\u0027t cause a serious problem for ext3 because the additional\next3_test_allocatable check rescued it from the error.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2823b5535efad71e950ef50c2ce5f9e4dbaedc17",
      "tree": "181340cdda3b11a2bff6570615f926a804b71b70",
      "parents": [
        "c56d2561f7189762c4fce854630d4f7f6d64ccee"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Wed Dec 06 20:41:28 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:48 2006 -0800"
      },
      "message": "[PATCH] ext3 balloc: use io_error label\n\next3_new_blocks has a nice io_error label for setting -EIO, so goto that in\nthe one place that doesn\u0027t already use it.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c56d2561f7189762c4fce854630d4f7f6d64ccee",
      "tree": "2b1366881b78072b21fe9a914cb6c025f82fef52",
      "parents": [
        "ff50dc562bf6de00fec264b11531e2745209ba12"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Wed Dec 06 20:41:27 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:48 2006 -0800"
      },
      "message": "[PATCH] ext3 balloc: say rb_entry not list_entry\n\nThe reservations tree is an rb_tree not a list, so it\u0027s less confusing to use\nrb_entry() than list_entry() - though they\u0027re both just container_of().\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ff50dc562bf6de00fec264b11531e2745209ba12",
      "tree": "c866557dfe97498e213e5a905f42834b51f82aed",
      "parents": [
        "1650242324a0c19d629a8be0d5a8ecdc174d31f8"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Wed Dec 06 20:41:25 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:48 2006 -0800"
      },
      "message": "[PATCH] ext3 balloc: fix off-by-one against rsv_end\n\nrsv_end is the last block within the reservation, so alloc_new_reservation\nshould accept start_block \u003d\u003d rsv_end as success.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1650242324a0c19d629a8be0d5a8ecdc174d31f8",
      "tree": "ede667fcb170d58750794b5b1f7baade4d0ba552",
      "parents": [
        "ef5036782e619ab394daaec5c00876fa6b17d7a1"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Wed Dec 06 20:41:25 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:48 2006 -0800"
      },
      "message": "[PATCH] ext3 balloc: fix off-by-one against grp_goal\n\ngrp_goal 0 is a genuine goal (unlike -1), so ext3_try_to_allocate_with_rsv\nshould treat it as such.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ef5036782e619ab394daaec5c00876fa6b17d7a1",
      "tree": "a4ca5d66eaf0788311cb92d403cc1079713c9e20",
      "parents": [
        "1aa16eeacd6f10c202da1cf0cff5c81107dac942"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Wed Dec 06 20:41:23 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:48 2006 -0800"
      },
      "message": "[PATCH] ext3 balloc: reset windowsz when full\n\next3_new_blocks should reset the reservation window size to 0 when squeezing\nthe last blocks out of an almost full filesystem, so the retry doesn\u0027t skip\nany groups with less than half that free, reporting ENOSPC too soon.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a8f48a95619cbce8f85423480e7d0a1bf971a62b",
      "tree": "c33bf8406bb61945c4031b89cad533b041599567",
      "parents": [
        "a0e7688df1484fbf4d6d61c31f7d61a5d8cacf3c"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Wed Dec 06 20:40:13 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:44 2006 -0800"
      },
      "message": "[PATCH] ext3/4: don\u0027t do orphan processing on readonly devices\n\nIf you do something like:\n\n  # touch foo\n  # tail -f foo \u0026\n  # rm foo\n  # \u003ctake snapshot\u003e\n  # \u003cmount snapshot\u003e\n\nyou\u0027ll panic, because ext3/4 tries to do orphan list processing on the\nreadonly snapshot device, and:\n\n  kernel: journal commit I/O error\n  kernel: Assertion failure in journal_flush_Rsmp_e2f189ce() at journal.c:1356: \"!journal-\u003ej_checkpoint_transactions\"\n  kernel: Kernel panic: Fatal exception\n\nfor a truly readonly underlying device, it\u0027s reasonable and necessary\nto just skip orphan list processing.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2bd94bd79e5bfa217714f78e5d6d7b6517ca546f",
      "tree": "825e9764b6e62492fddd8f14694b09a44e0ecb0a",
      "parents": [
        "02316067852187b8bec781bec07410e91af79627"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Wed Dec 06 20:38:18 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:39 2006 -0800"
      },
      "message": "[PATCH] ext3: fix reservation extension\n\nHugh Dickins wrote:\n\u003e Not found anything relevant, but I keep noticing these lines\n\u003e in ext2_try_to_allocate_with_rsv(), ext3 and ext4 similar:\n\u003e\n\u003e \t\t} else if (grp_goal \u003e 0 \u0026\u0026\n\u003e \t\t\t\t(my_rsv-\u003ersv_end - grp_goal + 1) \u003c *count)\n\u003e \t\t\ttry_to_extend_reservation(my_rsv, sb,\n\u003e \t\t\t\t\t*count-my_rsv-\u003ersv_end + grp_goal - 1);\n\u003e\n\u003e They\u0027re wrong, a no-op in most groups, aren\u0027t they?  rsv_end is an\n\u003e absolute block number, whereas grp_goal is group-relative, so the\n\u003e calculation ought to bring in group_first_block?  Or I\u0027m confused.\n\u003e\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nCc: \"linux-ext4@vger.kernel.org\" \u003clinux-ext4@vger.kernel.org\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e92a4d595b464c4aae64be39ca61a9ffe9c8b278",
      "tree": "7d80804e689ea1f01fc8ceaea2a1b1da78081c60",
      "parents": [
        "04903664325acb3f199dd8a4b8f1aa437e9fd6b2"
      ],
      "author": {
        "name": "Andrey Savochkin",
        "email": "saw@sw.ru",
        "time": "Wed Dec 06 20:37:34 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:37 2006 -0800"
      },
      "message": "[PATCH] retries in ext3_prepare_write() violate ordering requirements\n\nIn journal\u003dordered or journal\u003ddata mode retry in ext3_prepare_write()\nbreaks the requirements of journaling of data with respect to metadata.\nThe fix is to call commit_write to commit allocated zero blocks before\nretry.\n\nSigned-off-by: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Ken Chen \u003ckenneth.w.chen@intel.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3a229b39eb8497ae5f8077f81f7c8c3e1aacd624",
      "tree": "cfec8501e4f3fa57c61897ce11e5247ca3842876",
      "parents": [
        "072330584404392dae44cd0793ac9b316cff045b"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Wed Dec 06 20:37:14 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:35 2006 -0800"
      },
      "message": "[PATCH] ext3: uninline large functions\n\nSaves nearly 4kbytes on x86.\n\nCc: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "40b851348fe9bf49c26025b34261d25142269b60",
      "tree": "dae334f455fecbcb070ddd4b8e8b220159014652",
      "parents": [
        "59287c0913cc9a6c75712a775f6c1c1ef418ef3b"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Wed Dec 06 20:36:26 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:33 2006 -0800"
      },
      "message": "[PATCH] handle ext3 directory corruption better\n\nI\u0027ve been using Steve Grubb\u0027s purely evil \"fsfuzzer\" tool, at\nhttp://people.redhat.com/sgrubb/files/fsfuzzer-0.4.tar.gz\n\nBasically it makes a filesystem, splats some random bits over it, then\ntries to mount it and do some simple filesystem actions.\n\nAt best, the filesystem catches the corruption gracefully.  At worst,\nthings spin out of control.\n\nAs you might guess, we found a couple places in ext3 where things spin out\nof control :)\n\nFirst, we had a corrupted directory that was never checked for\nconsistency...  it was corrupt, and pointed to another bad \"entry\" of\nlength 0.  The for() loop looped forever, since the length of\next3_next_entry(de) was 0, and we kept looking at the same pointer over and\nover and over and over...  I modeled this check and subsequent action on\nwhat is done for other directory types in ext3_readdir...\n\n(adding this check adds some computational expense; I am testing a followup\npatch to reduce the number of times we check and re-check these directory\nentries, in all cases.  Thanks for the idea, Andreas).\n\nNext we had a root directory inode which had a corrupted size, claimed to\nbe \u003e 200M on a 4M filesystem.  There was only really 1 block in the\ndirectory, but because the size was so large, readdir kept coming back for\nmore, spewing thousands of printk\u0027s along the way.\n\nPer Andreas\u0027 suggestion, if we\u0027re in this read error condition and we\u0027re\ntrying to read an offset which is greater than i_blocks worth of bytes,\nstop trying, and break out of the loop.\n\nWith these two changes fsfuzz test survives quite well on ext3.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ed2908f31398049c4371de9b100700e80704e95f",
      "tree": "eac7806d85893ef62091cacc15a8a08c98045662",
      "parents": [
        "696040670a12f66b17a839011f96d9ca376f688b"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@suse.de",
        "time": "Wed Dec 06 20:36:16 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:32 2006 -0800"
      },
      "message": "[PATCH] Remove superfluous lock_super() in extN xattr code\n\nlock_super() is unnecessary for setting super-block feature flags.  Use the\nprovided *_SET_COMPAT_FEATURE() macros as well.\n\nSigned-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "50ee0a32b192902e32a2b596df7ec3496c4bf485",
      "tree": "f7f1a18ba215bfd4b313a70a8d1c9a9e4a75a044",
      "parents": [
        "e4fca01ea2b41c41a82f4ca3537f6ebc237adde5"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Dec 06 20:35:28 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:31 2006 -0800"
      },
      "message": "[PATCH] ext3: fsid for statvfs\n\nUpdate ext3_statfs to return an FSID that is a 64 bit XOR of the 128 bit\nfilesystem UUID as suggested by Andreas Dilger.  See the following Bugzilla\nentry for details:\n\n  http://bugzilla.kernel.org/show_bug.cgi?id\u003d136\n\nCc: Andreas Dilger \u003cadilger@clusterfs.com\u003e\nCc: Stephen Tweedie \u003csct@redhat.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e18b890bb0881bbab6f4f1a6cd20d9c60d66b003",
      "tree": "4828be07e1c24781c264b42c5a75bcd968223c3f",
      "parents": [
        "441e143e95f5aa1e04026cb0aa71c801ba53982f"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:33:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:25 2006 -0800"
      },
      "message": "[PATCH] slab: remove kmem_cache_t\n\nReplace all uses of kmem_cache_t with struct kmem_cache.\n\nThe patch was generated using the following script:\n\n\t#!/bin/sh\n\t#\n\t# Replace one string by another in all the kernel sources.\n\t#\n\n\tset -e\n\n\tfor file in `find * -name \"*.c\" -o -name \"*.h\"|xargs grep -l $1`; do\n\t\tquilt add $file\n\t\tsed -e \"1,\\$s/$1/$2/g\" $file \u003e/tmp/$$\n\t\tmv /tmp/$$ $file\n\t\tquilt refresh\n\tdone\n\nThe script was run like this\n\n\tsh replace kmem_cache_t \"struct kmem_cache\"\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e6b4f8da3a88457148038bc952043e99a7fdba64",
      "tree": "858c2a0e04b442395e7ecd0f60c8d2a3304b83e1",
      "parents": [
        "55acbda0965ca0a29b0ca276e7d17a55edc11d1b"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:33:14 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:23 2006 -0800"
      },
      "message": "[PATCH] slab: remove SLAB_NOFS\n\nSLAB_NOFS is an alias of GFP_NOFS.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2245d7c21f5bb1f104ee1226ebcb3dd5b9acfff6",
      "tree": "61b4bcf44994399fe5d23016be5c6e52f9569226",
      "parents": [
        "fa3ba2e81ea23416272a22009bba95954c81969c"
      ],
      "author": {
        "name": "Dmitry Mishin",
        "email": "dim@openvz.org",
        "time": "Wed Oct 11 01:21:49 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 11 11:14:21 2006 -0700"
      },
      "message": "[PATCH] ext3: errors behaviour fix\n\nCurrent error behaviour for ext2 and ext3 filesystems does not fully\ncorrespond to the documentation and should be fixed.\n\nAccording to man 8 mount, ext2 and ext3 file systems allow to set one of 3\ndifferent on-errors behaviours:\n\n  ---- start of quote man 8 mount ----\n\n  errors\u003dcontinue / errors\u003dremount-ro / errors\u003dpanic\n\n    Define the behaviour when an error is encountered.  (Either ignore\n    errors and just mark the file system erroneous and continue, or remount\n    the file system read-only, or panic and halt the system.) The default is\n    set in the filesystem superblock, and can be changed using tune2fs(8).\n\n  ---- end of quote ----\n\nHowever EXT3_ERRORS_CONTINUE is not read from the superblock, and thus\nERRORS_CONT is not saved on the sbi-\u003es_mount_opt.  It leads to the incorrect\nhandle of errors on ext3.\n\nThen we\u0027ve checked corresponding code in ext2 and discovered that it is buggy\nas well:\n\n- EXT2_ERRORS_CONTINUE is not read from the superblock (the same);\n\n- parse_option() does not clean the alternative values and thus something\n  like (ERRORS_CONT|ERRORS_RO) can be set;\n\n- if options are omitted, parse_option() does not set any of these options.\n\nTherefore it is possible to set any combination of these options on the ext2:\n\n- none of them may be set: EXT2_ERRORS_CONTINUE on superblock / empty mount\n  options;\n\n- any of them may be set using mount options;\n\n- 2 any options may be set: by using EXT2_ERRORS_RO/EXT2_ERRORS_PANIC on the\n  superblock and other value in mount options;\n\n- and finally all three options may be set by adding third option in remount.\n\nCurrently ext2 uses these values only in ext2_error() and it is not leading to\nany noticeable troubles.  However somebody may be discouraged when he will try\nto workaround EXT2_ERRORS_PANIC on the superblock by using errors\u003dcontinue in\nmount options.\n\nThis patch:\n\nEXT3_ERRORS_CONTINUE should be taken from the superblock as default value for\nerror behaviour.\n\nSigned-off-by:\tDmitry Mishin \u003cdim@openvz.org\u003e\nAcked-by:\tVasily Averin \u003cvvs@sw.ru\u003e\nAcked-by: \tKirill Korotaev \u003cdev@openvz.org\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ce71ec36840368b877fb63bd14c8e67ab62d08b1",
      "tree": "55ea3caaa339881dfd66d787b3dbbb964825d07a",
      "parents": [
        "17ff785691503f63ec648df82a7fdaece7695561"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Sat Sep 30 23:29:06 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:30 2006 -0700"
      },
      "message": "[PATCH] r/o bind mounts: monitor zeroing of i_nlink\n\nSome filesystems, instead of simply decrementing i_nlink, simply zero it\nduring an unlink operation.  We need to catch these in addition to the\ndecrement operations.\n\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d8c76e6f45c111c32a4b3e50a2adc9210737b0d8",
      "tree": "25521b59d48c6d8c9aec1af54dbe5008ad4b215b",
      "parents": [
        "9a53c3a783c2fa9b969628e65695c11c3e51e673"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Sat Sep 30 23:29:04 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:30 2006 -0700"
      },
      "message": "[PATCH] r/o bind mount prepwork: inc_nlink() helper\n\nThis is mostly included for parity with dec_nlink(), where we will have some\nmore hooks.  This one should stay pretty darn straightforward for now.\n\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9a53c3a783c2fa9b969628e65695c11c3e51e673",
      "tree": "5a6115e18ee105246d46e3db3d5b07749d232f5b",
      "parents": [
        "aab520e2f6c80160cabd187a8d0292d1cec8ff68"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Sat Sep 30 23:29:03 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:30 2006 -0700"
      },
      "message": "[PATCH] r/o bind mounts: unlink: monitor i_nlink\n\nWhen a filesystem decrements i_nlink to zero, it means that a write must be\nperformed in order to drop the inode from the filesystem.\n\nWe\u0027re shortly going to have keep filesystems from being remounted r/o between\nthe time that this i_nlink decrement and that write occurs.\n\nSo, add a little helper function to do the decrements.  We\u0027ll tie into it in a\nbit to note when i_nlink hits zero.\n\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ee0b3e671baff681d69fbf0db33b47603c0a8280",
      "tree": "3202ff815b2196c6c353bc5b28d7a2800df273ec",
      "parents": [
        "027445c37282bc1ed26add45e573ad2d3e4860a5"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Sat Sep 30 23:28:47 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:28 2006 -0700"
      },
      "message": "[PATCH] Remove readv/writev methods and use aio_read/aio_write instead\n\nThis patch removes readv() and writev() methods and replaces them with\naio_read()/aio_write() methods.\n\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "027445c37282bc1ed26add45e573ad2d3e4860a5",
      "tree": "93eab101a938ffebaea64703033c8649df4d73f0",
      "parents": [
        "9ea0f9499d15c49df23e7aac4332d830c40e12d0"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Sat Sep 30 23:28:46 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:28 2006 -0700"
      },
      "message": "[PATCH] Vectorize aio_read/aio_write fileop methods\n\nThis patch vectorizes aio_read() and aio_write() methods to prepare for\ncollapsing all aio \u0026 vectored operations into one interface - which is\naio_read()/aio_write().\n\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Michael Holzheu \u003cHOLZHEU@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "52a700c5675f399c07e6e57328291e57f13ef3bb",
      "tree": "4ef1a3a7d66f589ad2e5f7d769da8c30f172a70e",
      "parents": [
        "e322ff07fb2d0f05c02d85e7c6b30d23f308c20f"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Aug 29 19:06:23 2006 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:52:29 2006 +0200"
      },
      "message": "[PATCH] BLOCK: Move the Ext3 device ioctl compat stuff to the Ext3 driver [try #6]\n\nMove the Ext3 device ioctl compat stuff from fs/compat_ioctl.c to the Ext3\ndriver so that the Ext3 header file doesn\u0027t need to be included.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "caa38fb0f481a3cb732b115cb59bfa6b59b6daaf",
      "tree": "c68f069f58748813e9195b6205936846aba2e43e",
      "parents": [
        "5404bc7a87b9949cf61e0174b21f80e73239ab25"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Sun Jul 23 01:41:26 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:29:42 2006 +0200"
      },
      "message": "[PATCH] ext3: make meta data reads use READ_META\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "ba52de123d454b57369f291348266d86f4b35070",
      "tree": "3973f3f3c853b5857b6b64a027cadd4fe954e3b9",
      "parents": [
        "577c4eb09d1034d0739e3135fd2cff50588024be"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Sep 27 01:50:49 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:18 2006 -0700"
      },
      "message": "[PATCH] inode-diet: Eliminate i_blksize from the inode structure\n\nThis eliminates the i_blksize field from struct inode.  Filesystems that want\nto provide a per-inode st_blksize can do so by providing their own getattr\nroutine instead of using the generic_fillattr() function.\n\nNote that some filesystems were providing pretty much random (and incorrect)\nvalues for i_blksize.\n\n[bunk@stusta.de: cleanup]\n[akpm@osdl.org: generic_fillattr() fix]\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1a1d92c10dd24bbdc28b3d6e2d03ec199dd3a65b",
      "tree": "fade83955f75e718e39153d6f81d221403338bed",
      "parents": [
        "f52720ca5f48574e347dff35ffe6b389ace61537"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Sep 27 01:49:40 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:10 2006 -0700"
      },
      "message": "[PATCH] Really ignore kmem_cache_destroy return value\n\n* Rougly half of callers already do it by not checking return value\n* Code in drivers/acpi/osl.c does the following to be sure:\n\n\t(void)kmem_cache_destroy(cache);\n\n* Those who check it printk something, however, slab_error already printed\n  the name of failed cache.\n* XFS BUGs on failed kmem_cache_destroy which is not the decision\n  low-level filesystem driver should make. Converted to ignore.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f52720ca5f48574e347dff35ffe6b389ace61537",
      "tree": "7efc8ec6bad32b98e406a5c553149d57e46bd07e",
      "parents": [
        "f8314dc60ccba7e41f425048c4160dc7f63377d5"
      ],
      "author": {
        "name": "Panagiotis Issaris",
        "email": "takis@issaris.org",
        "time": "Wed Sep 27 01:49:39 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:10 2006 -0700"
      },
      "message": "[PATCH] fs: Removing useless casts\n\n* Removing useless casts\n* Removing useless wrapper\n* Conversion from kmalloc+memset to kzalloc\n\nSigned-off-by: Panagiotis Issaris \u003ctakis@issaris.org\u003e\nAcked-by: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f8314dc60ccba7e41f425048c4160dc7f63377d5",
      "tree": "4e361a6e93dc7f64da0244e5a0dfef1fface0ddb",
      "parents": [
        "32c2d2bc4bed61323f14f2a7d69ccbd567253d8a"
      ],
      "author": {
        "name": "Panagiotis Issaris",
        "email": "takis@issaris.org",
        "time": "Wed Sep 27 01:49:37 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:10 2006 -0700"
      },
      "message": "[PATCH] fs: Conversions from kmalloc+memset to k(z|c)alloc\n\nConversions from kmalloc+memset to kzalloc.\n\nSigned-off-by: Panagiotis Issaris \u003ctakis@issaris.org\u003e\nJffs2-bit-acked-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "32c2d2bc4bed61323f14f2a7d69ccbd567253d8a",
      "tree": "07b65d42ae5fa3d38ad8832928408dcd4aa31fc6",
      "parents": [
        "a4e4de36dc446b2193bdc8ebb96a96e44b69dd94"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "esandeen@redhat.com",
        "time": "Wed Sep 27 01:49:36 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:10 2006 -0700"
      },
      "message": "[PATCH] more ext3 16T overflow fixes\n\nSome of the changes in balloc.c are just cosmetic, as Andreas pointed out -\nif they overflow they\u0027ll then underflow and things are fine.\n\n5th hunk actually fixes an overflow problem.\n\nAlso check for potential overflows in inode \u0026 block counts when resizing.\n\nSigned-off-by: Eric Sandeen \u003cesandeen@redhat.com\u003e\nCc: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a4e4de36dc446b2193bdc8ebb96a96e44b69dd94",
      "tree": "d9a024e2c10dcb94decadc57caac162cef706307",
      "parents": [
        "e9ad5620bfb901df8a7a2603c88689ededeecaf1"
      ],
      "author": {
        "name": "Dave Kleikamp",
        "email": "shaggy@austin.ibm.com",
        "time": "Wed Sep 27 01:49:36 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:10 2006 -0700"
      },
      "message": "[PATCH] ext3: Fix sparse warnings\n\nFixing up some endian-ness warnings in preparation to clone ext4 from ext3.\n\nSigned-off-by: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e9ad5620bfb901df8a7a2603c88689ededeecaf1",
      "tree": "82a2b22e1b7401b98fc2f201b8df2db05764332a",
      "parents": [
        "7543fc7b3abfee8c6cd6349ebd5e5fde02fac984"
      ],
      "author": {
        "name": "Dave Kleikamp",
        "email": "shaggy@austin.ibm.com",
        "time": "Wed Sep 27 01:49:35 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:10 2006 -0700"
      },
      "message": "[PATCH] ext3: More whitespace cleanups\n\nMore white space cleanups in preparation of cloning ext4 from ext3.\nRemoving spaces that precede a tab.\n\nSigned-off-by: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7543fc7b3abfee8c6cd6349ebd5e5fde02fac984",
      "tree": "c3525ab6440599fcde96bda0cd41db30308dc2b3",
      "parents": [
        "36faadc144477b4929c8fe60b8053f4472eeb3d2"
      ],
      "author": {
        "name": "Vasily Averin",
        "email": "vvs@sw.ru",
        "time": "Wed Sep 27 01:49:33 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:09 2006 -0700"
      },
      "message": "[PATCH] ext3: wrong error behavior\n\nSWsoft Virtuozzo/OpenVZ Linux kernel team has discovered that ext3 error\nbehavior was broken in linux kernels since 2.5.x versions by the following\npatch:\n\n2002/10/31 02:15:26-05:00 tytso@snap.thunk.org\nDefault mount options from superblock for ext2/3 filesystems\nhttp://linux.bkbits.net:8080/linux-2.6/gnupatch@3dc0d88eKbV9ivV4ptRNM8fBuA3JBQ\n\nIn case ext3 file system is mounted with errors\u003dcontinue\n(EXT3_ERRORS_CONTINUE) errors should be ignored when possible.  However at\npresent in case of any error kernel aborts journal and remounts filesystem\nto read-only.  Such behavior was hit number of times and noted to differ\nfrom that of 2.4.x kernels.\n\nThis patch fixes this:\n- do nothing in case of EXT3_ERRORS_CONTINUE,\n- set EXT3_MOUNT_ABORT and call journal_abort() in all other cases\n- panic() should be called after ext3_commit_super() to save\n sb marked as EXT3_ERROR_FS\n\nSigned-off-by: Vasily Averin \u003cvvs@sw.ru\u003e\nAcked-by: Kirill Korotaev \u003cdev@sw.ru\u003e\nCc: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nCc: \"Stephen C. Tweedie\" \u003csct@redhat.com\u003e\nCc: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "36faadc144477b4929c8fe60b8053f4472eeb3d2",
      "tree": "b329171a15b7caf363b0dec82ef7641fc43faced",
      "parents": [
        "321fb9e81821a81b2cda1328698b0c19d57c717f"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Wed Sep 27 01:49:32 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:09 2006 -0700"
      },
      "message": "[PATCH] ext3: more comments about block allocation/reservation code\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nAcked-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "321fb9e81821a81b2cda1328698b0c19d57c717f",
      "tree": "6d9aad256d4a6597fc34c5b130092ca109ef2e33",
      "parents": [
        "37ed322290eb6d5cf2ab33915793ed4219eae1d6"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Wed Sep 27 01:49:32 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:09 2006 -0700"
      },
      "message": "[PATCH] ext3: turn on reservation dump on block allocation errors\n\nIn the past there were a few kernel panics related to block reservation\ntree operations failure (insert/remove etc).  It would be very useful to\nget the block allocation reservation map info when such error happens.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "eee194e76c681dbdbf5024b889fda1181b66ef57",
      "tree": "bbefd2b2da5a49dcf8057e182f35c044445111e9",
      "parents": [
        "41f04d852e359582518f950d12b2287766613022"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "esandeen@redhat.com",
        "time": "Wed Sep 27 01:49:30 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:09 2006 -0700"
      },
      "message": "[PATCH] ext3: inode numbers are unsigned long\n\nThis is primarily format string fixes, with changes to ialloc.c where large\ninode counts could overflow, and also pass around journal_inum as an\nunsigned long, just to be pedantic about it....\n\nSigned-off-by: Eric Sandeen \u003cesandeen@redhat.com\u003e\nCc: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "855565e81ad8940cc645b5110ec2c7f124a76d23",
      "tree": "48b5ff0eb7bd297404b301e679d6330976e3e90d",
      "parents": [
        "2aed3484695ecb03f1395bb62f1099e8b0826124"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "esandeen@redhat.com",
        "time": "Wed Sep 27 01:49:29 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:09 2006 -0700"
      },
      "message": "[PATCH] fix ext3 mounts at 16T\n\nI need to do some actual IO testing now, but this gets things mounting for\na 16T ext3 filesystem.  (patched up e2fsprogs is needed too, I\u0027ll send that\noff the kernel list)\n\nThis patch fixes these issues in the kernel:\n\no sbi-\u003es_groups_count overflows in ext3_fill_super()\n\n\tsbi-\u003es_groups_count \u003d (le32_to_cpu(es-\u003es_blocks_count) -\n\t\t\t       le32_to_cpu(es-\u003es_first_data_block) +\n\t\t\t       EXT3_BLOCKS_PER_GROUP(sb) - 1) /\n\t\t\t      EXT3_BLOCKS_PER_GROUP(sb);\n\n  at 16T, s_blocks_count is already maxed out; adding\n  EXT3_BLOCKS_PER_GROUP(sb) overflows it and groups_count comes out to 0.\n  Not really what we want, and causes a failed mount.\n\n  Feel free to check my math (actually, please do!), but changing it this\n  way should work \u0026 avoid the overflow:\n\n  (A + B - 1)/B changed to: ((A - 1)/B) + 1\n\no ext3_check_descriptors() overflows range checks\n\n  ext3_check_descriptors() iterates over all block groups making sure\n  that various bits are within the right block ranges...  on the last pass\n  through, it is checking the error case\n\n   [item] \u003e\u003d block + EXT3_BLOCKS_PER_GROUP(sb)\n\n  where \"block\" is the first block in the last block group.  The last\n  block in this group (and the last one that will fit in 32 bits) is block\n  + EXT3_BLOCKS_PER_GROUP(sb)- 1.  block + EXT3_BLOCKS_PER_GROUP(sb) wraps\n  back around to 0.\n\n  so, make things clearer with \"first_block\" and \"last_block\" where those\n  are first and last, inclusive, and use \u003c, \u003e rather than \u003c, \u003e\u003d.\n\n  Finally, the last block group may be smaller than the rest, so account\n  for this on the last pass through: last_block \u003d sb-\u003es_blocks_count - 1;\n\n(a similar patch could be done for ext2; does anyone in their right mind\nuse ext2 at 16T?  I\u0027ll send an ext2 patch doing the same thing if that\u0027s\nwarranted)\n\nSigned-off-by: Eric Sandeen \u003cesandeen@redhat.com\u003e\nCc: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ae6ddcc5f24d6b06ae9231dc128904750a4155e0",
      "tree": "93c6e20b513f39b616af101dabe9b756f7300d0d",
      "parents": [
        "e7ab8d65055e9b9dfc131d0467cfc5a8368d7ee4"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Wed Sep 27 01:49:27 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:09 2006 -0700"
      },
      "message": "[PATCH] ext3 and jbd cleanup: remove whitespace\n\nRemove whitespace from ext3 and jbd, before we clone ext4.\n\nSigned-off-by: Mingming Cao\u003ccmm@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "20acaa18d0c002fec180956f87adeb3f11f635a6",
      "tree": "2cd2f21530150e8248a0217e380d58d42e79d89d",
      "parents": [
        "e4b69aa2a1bcee21f8d5e089b8682dd8aaace5eb"
      ],
      "author": {
        "name": "Suparna Bhattacharya",
        "email": "suparna@in.ibm.com",
        "time": "Sat Sep 16 12:15:58 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Sep 16 12:54:32 2006 -0700"
      },
      "message": "[PATCH] ext3 sequential read regression fix\n\next3-get-blocks support caused ~20% degrade in Sequential read\nperformance (tiobench). Problem is with marking the buffer boundary\nso IO can be submitted right away. Here is the patch to fix it.\n\n  2.6.18-rc6:\n  -----------\n  # ./iotest\n  1048576+0 records in\n  1048576+0 records out\n  4294967296 bytes (4.3 GB) copied, 75.2726 seconds, 57.1 MB/s\n\n  real    1m15.285s\n  user    0m0.276s\n  sys     0m3.884s\n\n  2.6.18-rc6 + fix:\n  -----------------\n  [root@elm3a241 ~]# ./iotest\n  1048576+0 records in\n  1048576+0 records out\n  4294967296 bytes (4.3 GB) copied, 62.9356 seconds, 68.2 MB/s\n\nThe boundary block check in ext3_get_blocks_handle needs to be adjusted\nagainst the count of blocks mapped in this call, now that it can map\nmore than one block.\n\nSigned-off-by: Suparna Bhattacharya \u003csuparna@in.ibm.com\u003e\nTested-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fdb36673a9d6accf93b11e7eff3a7e34cd284616",
      "tree": "3e34c42fc03b4606f834e0516a62417082fd1ab0",
      "parents": [
        "ecaff756ff540f3821e2b00b8fa19aca07c7c3e5"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Sat Sep 16 12:15:38 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Sep 16 12:54:31 2006 -0700"
      },
      "message": "[PATCH] knfsd: Make ext3 reject filehandles referring to invalid inode number\n\nInodes earlier than the \u0027first\u0027 inode (e.g.  journal, resize) should be\nrejected early - except the root inode.  Also inode numbers that are too\nbig should be rejected early.\n\n[akpm@osdl.org: cleanup]\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3665d0e58fa44f50c744f85c7e8ad21d5b10e206",
      "tree": "7714916ca20e906d685f6b0886195692d3471f68",
      "parents": [
        "47d4b9066df023670a61e74565a75293cf15a441"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Fri Sep 08 09:48:21 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 08 10:22:50 2006 -0700"
      },
      "message": "[PATCH] ext3_getblk() should handle HOLE correctly\n\nIt has been reported that ext3_getblk() is not doing the right thing and\ntriggering following WARN():\n\nBUG: warning at fs/ext3/inode.c:1016/ext3_getblk()\n \u003cc01c5140\u003e ext3_getblk+0x98/0x2a6  \u003cc03b2806\u003e md_wakeup_thread+0x26/0x2a\n \u003cc01c536d\u003e ext3_bread+0x1f/0x88  \u003cc01cedf9\u003e ext3_quota_read+0x136/0x1ae\n \u003cc018b683\u003e v1_read_dqblk+0x61/0xac  \u003cc0188f32\u003e dquot_acquire+0xf6/0x107\n \u003cc01ceaba\u003e ext3_acquire_dquot+0x46/0x68  \u003cc01897d4\u003e dqget+0x155/0x1e7\n \u003cc018a97b\u003e dquot_transfer+0x3e0/0x3e9  \u003cc016fe52\u003e dput+0x23/0x13e\n \u003cc01c7986\u003e ext3_setattr+0xc3/0x240  \u003cc0120f66\u003e current_fs_time+0x52/0x6a\n \u003cc017320e\u003e notify_change+0x2bd/0x30d  \u003cc0159246\u003e chown_common+0x9c/0xc5\n \u003cc02a222c\u003e strncpy_from_user+0x3b/0x68  \u003cc0167fe6\u003e do_path_lookup+0xdf/0x266\n \u003cc016841b\u003e __user_walk_fd+0x44/0x5a  \u003cc01592b9\u003e sys_chown+0x4a/0x55\n \u003cc015a43c\u003e vfs_write+0xe7/0x13c  \u003cc01695d4\u003e sys_mkdir+0x1f/0x23\n \u003cc0102a97\u003e syscall_call+0x7/0xb\n\nLooking at the code, it looks like it\u0027s not handle HOLE correctly.  It ends\nup returning -EIO.  Here is the patch to fix it.\n\nIf we really want to be paranoid, we can allow return values 0 (HOLE), 1\n(we asked for one block) and return -EIO for more than 1 block.  But I\nreally don\u0027t see a reason for doing it - all we need is the block# here.\n(doesn\u0027t matter how many blocks are mapped).\n\next3_get_blocks_handle() returns number of blocks it mapped.  It returns 0\nin case of HOLE.  ext3_getblk() should handle HOLE properly (currently its\ndumping warning stack and returning -EIO).\n\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nAcked-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "08fb306fe63d98eb86e3b16f4cc21816fa47f18e",
      "tree": "16f48eb09736b99fef7bf133b9785315becbacb8",
      "parents": [
        "607eb266aea9dd2abe515985e12c5cd8b32546e8"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Sun Aug 27 01:23:44 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Aug 27 11:01:30 2006 -0700"
      },
      "message": "[PATCH] ext3 filesystem bogus ENOSPC with reservation fix\n\nTo handle the earlier bogus ENOSPC error caused by filesystem full of block\nreservation, current code falls back to non block reservation, starts to\nallocate block(s) from the goal allocation block group as if there is no\nblock reservation.\n\nCurrent code needs to re-load the corresponding block group descriptor for\nthe initial goal block group in this case.  The patch fixes this.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0e31f51d8177320d61ec5786ca4aafa7b7a749b4",
      "tree": "a076261c90d757d7d2740c1ba4d219782914ea4d",
      "parents": [
        "51d8c5edd3b166fcc51aba84d78761d578400a7c"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Sun Jul 30 03:04:14 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 31 13:28:44 2006 -0700"
      },
      "message": "[PATCH] ext3 -nobh option causes oops\n\nFor files other than IFREG, nobh option doesn\u0027t make sense.  Modifications\nto them are journalled and needs buffer heads to do that.  Without this\npatch, we get kernel oops in page_buffers().\n\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2ccb48ebb4de139eef4fcefd5f2bb823cb0d81b9",
      "tree": "e06a83c7306e143175a87df2328b45e1ef34da5b",
      "parents": [
        "f712c0c7e1796f92e45e4de144e247816d974b8f"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@suse.de",
        "time": "Sun Jul 30 03:03:01 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 31 13:28:36 2006 -0700"
      },
      "message": "[PATCH] ext3: avoid triggering ext3_error on bad NFS file handle\n\nThe inode number out of an NFS file handle gets passed eventually to\next3_get_inode_block() without any checking.  If ext3_get_inode_block()\nallows it to trigger an error, then bad filehandles can have unpleasant\neffect - ext3_error() will usually cause a forced read-only remount, or a\npanic if `errors\u003dpanic\u0027 was used.\n\nSo remove the call to ext3_error there and put a matching check in\next3/namei.c where inode numbers are read off storage.\n\n[akpm@osdl.org: fix off-by-one error]\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nCc: \u003cstable@kernel.org\u003e\nCc: \"Stephen C. Tweedie\" \u003csct@redhat.com\u003e\nCc: Eric Sandeen \u003cesandeen@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "36cf96f5e7c098731a1ad9d79694d6f591b18e7f",
      "tree": "589037fc024c7ccf5aa5a291f011ebcb4a683c42",
      "parents": [
        "2017b376c01a54bf7d26ad4f461abe9b5f9064fe"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@suse.de",
        "time": "Mon Jul 10 04:45:33 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 10 13:24:26 2006 -0700"
      },
      "message": "[PATCH] Remove leftover ext3 acl declarations\n\nThese functions no longer exist; remove their declarations.\n\nSigned-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5c81a4197de38411fe3e27f8593fff73a5d6b868",
      "tree": "0a7867025e08353bf9946759864beeaf0ff01ad2",
      "parents": [
        "59345374742ee6673c2d04b0fa8c888e881b7209"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Jul 03 00:25:20 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:08 2006 -0700"
      },
      "message": "[PATCH] lockdep: annotate the quota code\n\nThe quota code plays interesting games with the lock ordering; to quote Jan:\n\n| i_mutex of inode containing quota file is acquired after all other\n| quota locks. i_mutex of all other inodes is acquired before quota\n| locks. Quota code makes sure (by resetting inode operations and\n| setting special flag on inode) that noone tries to enter quota code\n| while holding i_mutex on a quota file...\n\nThe good news is that all of this special case i_mutex grabbing happens in the\n(per filesystem) low level quota write function.  For this special case we\nneed a new I_MUTEX_* nesting level, since this just entirely outside any of\nthe regular VFS locking rules for i_mutex.  I trust Jan on his blue eyes that\nthis is not ever going to deadlock; and based on that the patch below is what\nit takes to inform lockdep of these very interesting new locking rules.\n\nThe new locking rule for the I_MUTEX_QUOTA nesting level is that this is the\ndeepest possible level of nesting for i_mutex, and that this only should be\nused in quota write (and possibly read) function of filesystems.  This makes\nthe lock ordering of the I_MUTEX_* levels:\n\nI_MUTEX_PARENT -\u003e I_MUTEX_CHILD -\u003e I_MUTEX_NORMAL -\u003e I_MUTEX_QUOTA\n\nHas no effect on non-lockdep kernels.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6ab3d5624e172c553004ecc862bfeac16d9d68b7",
      "tree": "6d98881fe91fd9583c109208d5c27131b93fa248",
      "parents": [
        "e02169b682bc448ccdc819dc8639ed34a23cedd8"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@wohnheim.fh-wedel.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "message": "Remove obsolete #include \u003clinux/config.h\u003e\n\nSigned-off-by: Jörn Engel \u003cjoern@wohnheim.fh-wedel.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "f5e54d6e53a20cef45af7499e86164f0e0d16bb2",
      "tree": "cb92acbb89b84796261bf5563182261ec5654127",
      "parents": [
        "a052b68b1e7a31f1e6a721290035e9deb0f6fed9"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Jun 28 04:26:44 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jun 28 14:59:04 2006 -0700"
      },
      "message": "[PATCH] mark address_space_operations const\n\nSame as with already do with the file operations: keep them in .rodata and\nprevents people from doing runtime patching.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ade1a29e168ba08b699a418ff5e762315fa33f70",
      "tree": "d01dbf3a9da6f76d21e2c0b17f481709b17c8839",
      "parents": [
        "71c0cd7042672fce2463d82183d20bfb574f4cb5"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Mon Jun 26 00:25:04 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:20 2006 -0700"
      },
      "message": "[PATCH] ext3: Add \"-o bh\" option\n\nThis patch adds \"-o bh\" option to force use of buffer_heads.  This option\nis needed when we make \"nobh\" as default - and if we run into problems.\n\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "92eeccd8badbfebe12383b6e5326b27dc707601d",
      "tree": "b3d96a855685ec96f4fa0ee4419b0f6efdb977ae",
      "parents": [
        "0710d36a0fd5db3176369397f0fc49db32a63507"
      ],
      "author": {
        "name": "Johann Lombardi",
        "email": "johann.lombardi@bull.net",
        "time": "Sun Jun 25 05:48:33 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:15 2006 -0700"
      },
      "message": "[PATCH] ext3: cleanup dead code in ext3_add_entry()\n\nThe variables nlen and rlen are defined/initialized but not used in\next3_add_entry().\n\nSigned-off-by: Johann Lombardi \u003cjohann.lombardi@bull.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "43d23f9039fc810ecd621f1e4f9d578eadce058a",
      "tree": "be241eb5a8e6010f1f8ca9e960bc9838b70d6779",
      "parents": [
        "1c2bf374a4b8c2e1a3e6ff3a64fb67272a8cd2e2"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Sun Jun 25 05:48:07 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:10 2006 -0700"
      },
      "message": "[PATCH] ext3_fsblk_t: the rest of in-kernel filesystem blocks conversion\n\nConvert the ext3 in-kernel filesystem blocks to ext3_fsblk_t.  Convert the\nrest of all unsigned long type in-kernel filesystem blocks to ext3_fsblk_t,\nand replace the printk format string respondingly.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1c2bf374a4b8c2e1a3e6ff3a64fb67272a8cd2e2",
      "tree": "abb4e01a4bc146183d5cf1f0e18c1aa6e847aa5e",
      "parents": [
        "cedfb178ada245b6c52a654936b34d7996e26a1d"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Sun Jun 25 05:48:06 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:10 2006 -0700"
      },
      "message": "[PATCH] ext3_fsblk_t: filesystem, group blocks and bug fixes\n\nSome of the in-kernel ext3 block variable type are treated as signed 4 bytes\nint type, thus limited ext3 filesystem to 8TB (4kblock size based).  While\ntrying to fix them, it seems quite confusing in the ext3 code where some\nblocks are filesystem-wide blocks, some are group relative offsets that need\nto be signed value (as -1 has special meaning).  So it seem saner to define\ntwo types of physical blocks: one is filesystem wide blocks, another is\ngroup-relative blocks.  The following patches clarify these two types of\nblocks in the ext3 code, and fix the type bugs which limit current 32 bit ext3\nfilesystem limit to 8TB.\n\nWith this series of patches and the percpu counter data type changes in the mm\ntree, we are able to extend exts filesystem limit to 16TB.\n\nThis work is also a pre-request for the recent \u003e32 bit ext3 work, and makes\nthe kernel to able to address 48 bit ext3 block a lot easier: Simply redefine\next3_fsblk_t from unsigned long to sector_t and redefine the format string for\next3 filesystem block corresponding.\n\nTwo RFC with a series patches have been posted to ext2-devel list and have\nbeen reviewed and discussed:\nhttp://marc.theaimsgroup.com/?l\u003dext2-devel\u0026m\u003d114722190816690\u0026w\u003d2\n\nhttp://marc.theaimsgroup.com/?l\u003dext2-devel\u0026m\u003d114784919525942\u0026w\u003d2\n\nPatches are tested on both 32 bit machine and 64 bit machine, \u003c8TB ext3 and\n\u003e8TB ext3 filesystem(with the latest to be released e2fsprogs-1.39).  Tests\nincludes overnight fsx, tiobench, dbench and fsstress.\n\nThis patch:\n\nDefines ext3_fsblk_t and ext3_grpblk_t, and the printk format string for\nfilesystem wide blocks.\n\nThis patch classifies all block group relative blocks, and ext3_fsblk_t blocks\noccurs in the same function where used to be confusing before.  Also include\nkernel bug fixes for filesystem wide in-kernel block variables.  There are\nsome fileystem wide blocks are treated as int/unsigned int type in the kernel\ncurrently, especially in ext3 block allocation and reservation code.  This\npatch fixed those bugs by converting those variables to ext3_fsblk_t(unsigned\nlong) type.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d2e5b13c4a7c68fdbcf389c9fffc12cfa2c185af",
      "tree": "8e82fbc922646a754918de5381e5e0d4efcc896e",
      "parents": [
        "e8f1c6227a0bc9b1e3a7e87cd31f650a909f647f"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Jun 25 05:47:52 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:07 2006 -0700"
      },
      "message": "[PATCH] ext3: remove inconsistent space before exclamation point in mount code\n\nThis was reported as Debian bug #336604.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fcd5df35882b128ef3e160fab3074e6fe7ae501b",
      "tree": "2ffa30054f510e0fdca988d18ab28d6df12c3f06",
      "parents": [
        "b61367732fc273977cc3fb85c272ce1a7bb1f533"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Sun Jun 25 05:47:50 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:07 2006 -0700"
      },
      "message": "[PATCH] Avoid disk sector_t overflow for \u003e2TB ext3 filesystem\n\nIf ext3 filesystem is larger than 2TB, and sector_t is a u32 (i.e.\nCONFIG_LBD not defined in the kernel), the calculation of the disk sector\nwill overflow.  Add check at ext3_fill_super() and ext3_group_extend() to\nprevent mount/remount/resize \u003e2TB ext3 filesystem if sector_t size is 4\nbytes.\n\nVerified this patch on a 32 bit platform without CONFIG_LBD defined\n(sector_t is 32 bits long), mount refuse to mount a 10TB ext3.\n\nSigned-off-by: Mingming Cao\u003ccmm@us.ibm.com\u003e\nAcked-by: Andreas Dilger \u003cadilger@clusterfs.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0216bfcffe424a5473daa4da47440881b36c1f41",
      "tree": "80eaa49bfc644b070e57c251285048992ac6fafc",
      "parents": [
        "3cbc564024d8f174202f023e8a2991782f6a9431"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Fri Jun 23 02:05:41 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:43:06 2006 -0700"
      },
      "message": "[PATCH] percpu counter data type changes to suppport more than 2**31 ext3 free blocks counter\n\nThe percpu counter data type are changed in this set of patches to support\nmore users like ext3 who need more than 32 bit to store the free blocks\ntotal in the filesystem.\n\n- Generic perpcu counters data type changes.  The size of the global counter\n  and local counter were explictly specified using s64 and s32.  The global\n  counter is changed from long to s64, while the local counter is changed from\n  long to s32, so we could avoid doing 64 bit update in most cases.\n\n- Users of the percpu counters are updated to make use of the new\n  percpu_counter_init() routine now taking an additional parameter to allow\n  users to pass the initial value of the global counter.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e6022603b9aa7d61d20b392e69edcdbbc1789969",
      "tree": "f94b059e312ea7b2f3c4d0b01939e868ed525fb0",
      "parents": [
        "304c4c841a31c780a45d65e389b07706babf5d36"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Jun 23 02:05:32 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:43:05 2006 -0700"
      },
      "message": "[PATCH] ext3_clear_inode(): avoid kfree(NULL)\n\nSteven Rostedt \u003crostedt@goodmis.org\u003e points out that `rsv\u0027 here is usually\nNULL, so we should avoid calling kfree().\n\nAlso, fix up some nearby whitespace damage.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "726c334223180e3c0197cc980a432681370d4baf",
      "tree": "8327b354bb3dc959a6606051ae6f8d4d035e38a2",
      "parents": [
        "454e2398be9b9fa30433fccc548db34d19aa9958"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jun 23 02:02:58 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:45 2006 -0700"
      },
      "message": "[PATCH] VFS: Permit filesystem to perform statfs with a known root dentry\n\nGive the statfs superblock operation a dentry pointer rather than a superblock\npointer.\n\nThis complements the get_sb() patch.  That reduced the significance of\nsb-\u003es_root, allowing NFS to place a fake root there.  However, NFS does\nrequire a dentry to use as a target for the statfs operation.  This permits\nthe root in the vfsmount to be used instead.\n\nlinux/mount.h has been added where necessary to make allyesconfig build\nsuccessfully.\n\nInterest has also been expressed for use with the FUSE and XFS filesystems.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Nathan Scott \u003cnathans@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "454e2398be9b9fa30433fccc548db34d19aa9958",
      "tree": "1f61cb0c3716a33b661cfc8977e9beeb480a322c",
      "parents": [
        "1ad5544098a69d7dc1fa508cbb17e13a7a952fd8"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jun 23 02:02:57 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:45 2006 -0700"
      },
      "message": "[PATCH] VFS: Permit filesystem to override root dentry on mount\n\nExtend the get_sb() filesystem operation to take an extra argument that\npermits the VFS to pass in the target vfsmount that defines the mountpoint.\n\nThe filesystem is then required to manually set the superblock and root dentry\npointers.  For most filesystems, this should be done with simple_set_mnt()\nwhich will set the superblock pointer and then set the root dentry to the\nsuperblock\u0027s s_root (as per the old default behaviour).\n\nThe get_sb() op now returns an integer as there\u0027s now no need to return the\nsuperblock pointer.\n\nThis patch permits a superblock to be implicitly shared amongst several mount\npoints, such as can be done with NFS to avoid potential inode aliasing.  In\nsuch a case, simple_set_mnt() would not be called, and instead the mnt_root\nand mnt_sb would be set directly.\n\nThe patch also makes the following changes:\n\n (*) the get_sb_*() convenience functions in the core kernel now take a vfsmount\n     pointer argument and return an integer, so most filesystems have to change\n     very little.\n\n (*) If one of the convenience function is not used, then get_sb() should\n     normally call simple_set_mnt() to instantiate the vfsmount. This will\n     always return 0, and so can be tail-called from get_sb().\n\n (*) generic_shutdown_super() now calls shrink_dcache_sb() to clean up the\n     dcache upon superblock destruction rather than shrink_dcache_anon().\n\n     This is required because the superblock may now have multiple trees that\n     aren\u0027t actually bound to s_root, but that still need to be cleaned up. The\n     currently called functions assume that the whole tree is rooted at s_root,\n     and that anonymous dentries are not the roots of trees which results in\n     dentries being left unculled.\n\n     However, with the way NFS superblock sharing are currently set to be\n     implemented, these assumptions are violated: the root of the filesystem is\n     simply a dummy dentry and inode (the real inode for \u0027/\u0027 may well be\n     inaccessible), and all the vfsmounts are rooted on anonymous[*] dentries\n     with child trees.\n\n     [*] Anonymous until discovered from another tree.\n\n (*) The documentation has been adjusted, including the additional bit of\n     changing ext2_* into foo_* in the documentation.\n\n[akpm@osdl.org: convert ipath_fs, do other stuff]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Nathan Scott \u003cnathans@sgi.com\u003e\nCc: Roland Dreier \u003crolandd@cisco.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2edc322d420a4cec8dbc184a1220ecd7fa9f8ae6",
      "tree": "e7be2cf442626316b6b6fb212960fe1f77ff2725",
      "parents": [
        "be967b7e2f7747a5ebf2a07ee627d9338491e784",
        "2f3243aebd8df4d9eecaeca04bbff6c7dbfb2142"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 20 14:51:22 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 20 14:51:22 2006 -0700"
      },
      "message": "Merge git://git.infradead.org/~dwmw2/rbtree-2.6\n\n* git://git.infradead.org/~dwmw2/rbtree-2.6:\n  [RBTREE] Switch rb_colour() et al to en_US spelling of \u0027color\u0027 for consistency\n  Update UML kernel/physmem.c to use rb_parent() accessor macro\n  [RBTREE] Update hrtimers to use rb_parent() accessor macro.\n  [RBTREE] Add explicit alignment to sizeof(long) for struct rb_node.\n  [RBTREE] Merge colour and parent fields of struct rb_node.\n  [RBTREE] Remove dead code in rb_erase()\n  [RBTREE] Update JFFS2 to use rb_parent() accessor macro.\n  [RBTREE] Update eventpoll.c to use rb_parent() accessor macro.\n  [RBTREE] Update key.c to use rb_parent() accessor macro.\n  [RBTREE] Update ext3 to use rb_parent() accessor macro.\n  [RBTREE] Change rbtree off-tree marking in I/O schedulers.\n  [RBTREE] Add accessor macros for colour and parent fields of rb_node\n"
    },
    {
      "commit": "6855a3a6c3ab611c3a393be846c1e36120033b18",
      "tree": "fc8b79da08a45dead0733ebe2e092ed39e30be01",
      "parents": [
        "e6ed89ac9f5da16fea5111651b6de0ff0a76a5c2"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Tue May 30 21:25:31 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed May 31 16:27:10 2006 -0700"
      },
      "message": "[PATCH] ext3 resize: fix double unlock_super()\n\nFrom: Andrew Morton \u003cakpm@osdl.org\u003e\n\nSpotted by Jan Capek \u003cjca@sysgo.com\u003e\n\nCc: \"Stephen C. Tweedie\" \u003csct@redhat.com\u003e\nCc: Andreas Dilger \u003cadilger@clusterfs.com\u003e\nCc: Jan Capek \u003cjca@sysgo.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ],
  "next": "5dea5176e5c32ef9f0d1a41d28427b3bf6881b3a"
}
