)]}'
{
  "log": [
    {
      "commit": "c4be0c1dc4cdc37b175579be1460f15ac6495e9a",
      "tree": "716ea88318211ed27cadcebda0fd85c1f8246edb",
      "parents": [
        "69347a236b22c3962ea812511495e502dedfd50c"
      ],
      "author": {
        "name": "Takashi Sato",
        "email": "t-sato@yk.jp.nec.com",
        "time": "Fri Jan 09 16:40:58 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 09 16:54:42 2009 -0800"
      },
      "message": "filesystem freeze: add error handling of write_super_lockfs/unlockfs\n\nCurrently, ext3 in mainline Linux doesn\u0027t have the freeze feature which\nsuspends write requests.  So, we cannot take a backup which keeps the\nfilesystem\u0027s consistency with the storage device\u0027s features (snapshot and\nreplication) while it is mounted.\n\nIn many case, a commercial filesystem (e.g.  VxFS) has the freeze feature\nand it would be used to get the consistent backup.\n\nIf Linux\u0027s standard filesystem ext3 has the freeze feature, we can do it\nwithout a commercial filesystem.\n\nSo I have implemented the ioctls of the freeze feature.\nI think we can take the consistent backup with the following steps.\n1. Freeze the filesystem with the freeze ioctl.\n2. Separate the replication volume or create the snapshot\n   with the storage device\u0027s feature.\n3. Unfreeze the filesystem with the unfreeze ioctl.\n4. Take the backup from the separated replication volume\n   or the snapshot.\n\nThis patch:\n\nVFS:\nChanged the type of write_super_lockfs and unlockfs from \"void\"\nto \"int\" so that they can return an error.\nRename write_super_lockfs and unlockfs of the super block operation\nfreeze_fs and unfreeze_fs to avoid a confusion.\n\next3, ext4, xfs, gfs2, jfs:\nChanged the type of write_super_lockfs and unlockfs from \"void\"\nto \"int\" so that write_super_lockfs returns an error if needed,\nand unlockfs always returns 0.\n\nreiserfs:\nChanged the type of write_super_lockfs and unlockfs from \"void\"\nto \"int\" so that they always return 0 (success) to keep a current behavior.\n\nSigned-off-by: Takashi Sato \u003ct-sato@yk.jp.nec.com\u003e\nSigned-off-by: Masayuki Hamaguchi \u003cm-hamaguchi@ys.jp.nec.com\u003e\nCc: \u003cxfs-masters@oss.sgi.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Alasdair G Kergon \u003cagk@redhat.com\u003e\nCc: Al Viro \u003cviro@zeniv.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": "2150edc6c5cf00f7adb54538b9ea2a3e9cedca3f",
      "tree": "f72a0d85e66f500b4cead348a231e3d3b9f357bc",
      "parents": [
        "cd764695b67386a81964f68e9c66efd9f13f4d29",
        "4b905671d2ea09fd48fed72c581df17e40823f39"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 17:14:59 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 17:14:59 2009 -0800"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (57 commits)\n  jbd2: Fix oops in jbd2_journal_init_inode() on corrupted fs\n  ext4: Remove \"extents\" mount option\n  block: Add Kconfig help which notes that ext4 needs CONFIG_LBD\n  ext4: Make printk\u0027s consistently prefixed with \"EXT4-fs: \"\n  ext4: Add sanity checks for the superblock before mounting the filesystem\n  ext4: Add mount option to set kjournald\u0027s I/O priority\n  jbd2: Submit writes to the journal using WRITE_SYNC\n  jbd2: Add pid and journal device name to the \"kjournald2 starting\" message\n  ext4: Add markers for better debuggability\n  ext4: Remove code to create the journal inode\n  ext4: provide function to release metadata pages under memory pressure\n  ext3: provide function to release metadata pages under memory pressure\n  add releasepage hooks to block devices which can be used by file systems\n  ext4: Fix s_dirty_blocks_counter if block allocation failed with nodelalloc\n  ext4: Init the complete page while building buddy cache\n  ext4: Don\u0027t allow new groups to be added during block allocation\n  ext4: mark the blocks/inode bitmap beyond end of group as used\n  ext4: Use new buffer_head flag to check uninit group bitmaps initialization\n  ext4: Fix the race between read_inode_bitmap() and ext4_new_inode()\n  ext4: code cleanup\n  ...\n"
    },
    {
      "commit": "73ac36ea14fd18ea3dc057e41b16ff31a3c0bd5a",
      "tree": "7f187cade83d9ca9bd180273c25e1216a1dff506",
      "parents": [
        "da2bdf9a6ff40b10d77620d0d76b02a738c103cb"
      ],
      "author": {
        "name": "Coly Li",
        "email": "coyli@suse.de",
        "time": "Wed Jan 07 18:09:16 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:15 2009 -0800"
      },
      "message": "fix similar typos to successfull\n\nWhen I review ocfs2 code, find there are 2 typos to \"successfull\".  After\ndoing grep \"successfull \" in kernel tree, 22 typos found totally -- great\nminds always think alike :)\n\nThis patch fixes all the similar typos. Thanks for Randy\u0027s ack and comments.\n\nSigned-off-by: Coly Li \u003ccoyli@suse.de\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nAcked-by: Roland Dreier \u003crolandd@cisco.com\u003e\nCc: Jeremy Kerr \u003cjk@ozlabs.org\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nCc: Mark Fasheh \u003cmfasheh@suse.com\u003e\nCc: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nCc: Sridhar Samudrala \u003csri@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": "97e133b4543c5c677e768a8538d6d704c4218ff2",
      "tree": "3473e5e7e634cab8cfb2c3b59c1bfe99182d7b70",
      "parents": [
        "be857df1dd8d8e1491e60d999caf3b8446ccd475"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Wed Jan 07 18:09:13 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:15 2009 -0800"
      },
      "message": "generic swap(): ext4: remove local swap() macro\n\nUse the new generic implementation.\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "179f7ebff6be45738c6e2fa68c8d2cc5c2c6308e",
      "tree": "3d48b5f825cfa29f5b39656503c5157872454e9f",
      "parents": [
        "e3d5a27d5862b6425d0879272e24abecf7245105"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue Jan 06 14:41:04 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:13 2009 -0800"
      },
      "message": "percpu_counter: FBC_BATCH should be a variable\n\nFor NR_CPUS \u003e\u003d 16 values, FBC_BATCH is 2*NR_CPUS\n\nConsidering more and more distros are using high NR_CPUS values, it makes\nsense to use a more sensible value for FBC_BATCH, and get rid of NR_CPUS.\n\nA sensible value is 2*num_online_cpus(), with a minimum value of 32 (This\nminimum value helps branch prediction in __percpu_counter_add())\n\nWe already have a hotcpu notifier, so we can adjust FBC_BATCH dynamically.\n\nWe rename FBC_BATCH to percpu_counter_batch since its not a constant\nanymore.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-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": "83982b6f47201c4c7767210d24d7d8c99567a0b3",
      "tree": "f1c19b1c6b5a34dd0c5de7519b78414b7a9267ee",
      "parents": [
        "4d783b093cd4f3e2738527365979cbd1c5101065"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jan 06 14:53:16 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jan 06 14:53:16 2009 -0500"
      },
      "message": "ext4: Remove \"extents\" mount option\n\nThis mount option is largely superfluous, and in fact the way it was\nimplemented was buggy; if a filesystem which did not have the extents\nfeature flag was mounted -o extents, the filesystem would attempt to\ncreate and use extents-based file even though the extents feature flag\nwas not eabled.  The simplest thing to do is to nuke the mount option\nentirely.  It\u0027s not all that useful to force the non-creation of new\nextent-based files if the filesystem can support it.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "abda14189251563a50f56da5ea2e37e904ac4cba",
      "tree": "4c6e3a00f247cad1c41896f749c2c01cebff579f",
      "parents": [
        "4ec110281379826c5cf6ed14735e47027c3c5765"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jan 06 00:20:32 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jan 06 00:20:32 2009 -0500"
      },
      "message": "ext4: Make printk\u0027s consistently prefixed with \"EXT4-fs: \"\n\nPreviously, some were \"ext4: \", and some were \"EXT4: \"; change them to\nbe consistent with most ext4 printk\u0027s, which is to use \"EXT4-fs: \".\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "4ec110281379826c5cf6ed14735e47027c3c5765",
      "tree": "593bcbafe3541264e4effe5310546617de0a76ce",
      "parents": [
        "b3881f74b31b7d47d0f1c4d89ac3e7f0b9c05e3e"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jan 06 14:53:26 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jan 06 14:53:26 2009 -0500"
      },
      "message": "ext4: Add sanity checks for the superblock before mounting the filesystem\n\nThis avoids insane superblock configurations that could lead to kernel\noops due to null pointer derefences.\n\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d12371\n\nThanks to David Maciejak at Fortinet\u0027s FortiGuard Global Security\nResearch Team who discovered this bug independently (but at\napproximately the same time) as Thiemo Nagel, who submitted the patch.\n\nSigned-off-by: Thiemo Nagel \u003cthiemo.nagel@ph.tum.de\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "b3881f74b31b7d47d0f1c4d89ac3e7f0b9c05e3e",
      "tree": "131190b7ec627fd2ef2ecc818a7b9c17b83ccd63",
      "parents": [
        "40a1984d22294ab202f616e432bb8d3481897675"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 05 22:46:26 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 05 22:46:26 2009 -0500"
      },
      "message": "ext4: Add mount option to set kjournald\u0027s I/O priority\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "a5b5ee320185adc091a3a31630d278806b19d8f0",
      "tree": "91754a6c5645a9d3dd0f9bee828550f704939bfc",
      "parents": [
        "157091a2c3cdc71422cbc71eace205cf1b9f2200"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Nov 25 15:31:35 2008 +0100"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:40:26 2009 -0800"
      },
      "message": "ext4: Add default allocation routines for quota structures\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "17bd13b31ce4fe7f789d8848e8cbc8cb42b10544",
      "tree": "ced03fa069a1493421b6c0b0c11e5a163b5dbed6",
      "parents": [
        "ee0d5ffe0da2aa992004447113e28622621a983f"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Aug 20 18:14:35 2008 +0200"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:36:56 2009 -0800"
      },
      "message": "ext4: Use sb_any_quota_loaded() instead of sb_any_quota_enabled()\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "54566b2c1594c2326a645a3551f9d989f7ba3c5e",
      "tree": "b373f3283fe5e197d0df29cd6b645c35adf1076c",
      "parents": [
        "e687d691cb3790d25e31c74f5941fd7c565e9df5"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Sun Jan 04 12:00:53 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 04 13:33:20 2009 -0800"
      },
      "message": "fs: symlink write_begin allocation context fix\n\nWith the write_begin/write_end aops, page_symlink was broken because it\ncould no longer pass a GFP_NOFS type mask into the point where the\nallocations happened.  They are done in write_begin, which would always\nassume that the filesystem can be entered from reclaim.  This bug could\ncause filesystem deadlocks.\n\nThe funny thing with having a gfp_t mask there is that it doesn\u0027t really\nallow the caller to arbitrarily tinker with the context in which it can be\ncalled.  It couldn\u0027t ever be GFP_ATOMIC, for example, because it needs to\ntake the page lock.  The only thing any callers care about is __GFP_FS\nanyway, so turn that into a single flag.\n\nAdd a new flag for write_begin, AOP_FLAG_NOFS.  Filesystems can now act on\nthis flag in their write_begin function.  Change __grab_cache_page to\naccept a nofs argument as well, to honour that flag (while we\u0027re there,\nchange the name to grab_cache_page_write_begin which is more instructive\nand does away with random leading underscores).\n\nThis is really a more flexible way to go in the end anyway -- if a\nfilesystem happens to want any extra allocations aside from the pagecache\nones in ints write_begin function, it may now use GFP_KERNEL (rather than\nGFP_NOFS) for common case allocations (eg.  ocfs2_alloc_write_ctxt, for a\nrandom example).\n\n[kosaki.motohiro@jp.fujitsu.com: fix ubifs]\n[kosaki.motohiro@jp.fujitsu.com: fix fuse]\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.28.x]\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n[ Cleaned up the calling convention: just pass in the AOP flags\n  untouched to the grab_cache_page_write_begin() function.  That\n  just simplifies everybody, and may even allow future expansion of the\n  logic.   - Linus ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c644f0e4b56f9a2fc066cd0d75a18074d130e4a3",
      "tree": "96f5954d7e72a2bf56f4165f4e7569364562f04f",
      "parents": [
        "0a30c5cefa53cbac429dcb2de906c0637b646253"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sun Jan 04 12:00:48 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 04 13:33:20 2009 -0800"
      },
      "message": "fs: introduce bgl_lock_ptr()\n\nAs suggested by Andreas Dilger, introduce a bgl_lock_ptr() helper in\n\u003clinux/blockgroup_lock.h\u003e and add separate sb_bgl_lock() helpers to\nfilesystem specific header files to break the hidden dependency to\nstruct ext[234]_sb_info.\n\nAlso, while at it, convert the macros to static inlines to try make up\nfor all the times I broke Andrew Morton\u0027s tree.\n\nAcked-by: Andreas Dilger \u003cadilger@sun.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\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": "ba80b1019aa722b24506db1ee755e0bb2f513022",
      "tree": "0c9a7dfd3af0f5991f3eaaeb65d735b11e9cf777",
      "parents": [
        "c31910672376dfb8d020e32afa7249763bcd924a"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Jan 03 20:03:21 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Jan 03 20:03:21 2009 -0500"
      },
      "message": "ext4: Add markers for better debuggability\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "c31910672376dfb8d020e32afa7249763bcd924a",
      "tree": "3f2b95a1d4a4da76d85d5bf32534fa3d15a82eac",
      "parents": [
        "c39a7f84d7845aa95d1c7c168f38215aedcc13c2"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jan 06 11:14:25 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jan 06 11:14:25 2009 -0500"
      },
      "message": "ext4: Remove code to create the journal inode\n\nThis code has been obsolete in quite some time, since the supported\nmethod for adding a journal inode is to use tune2fs (or to creating\nnew filesystem with a journal via mke2fs or mkfs.ext4).\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "c39a7f84d7845aa95d1c7c168f38215aedcc13c2",
      "tree": "3e9d741df74eef7e6438dfd9a7ab5a32dd5a5501",
      "parents": [
        "6b082b531228c43d454c082fc0f969da1695b060"
      ],
      "author": {
        "name": "Toshiyuki Okajima",
        "email": "toshi.okajima@jp.fujitsu.com",
        "time": "Mon Jan 05 22:38:48 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 05 22:38:48 2009 -0500"
      },
      "message": "ext4: provide function to release metadata pages under memory pressure\n\nPages in the page cache belonging to ext4 data files are released via\nthe ext4_releasepage() function specified in the ext4 inode\u0027s\naddress_space_ops.  However, metadata blocks (such as indirect blocks,\ndirectory blocks, etc) are managed via the block device\naddress_space_ops, and they can not be released by\ntry_to_free_buffers() if they have a journal head attached to them.\n\nTo address this, we supply a release_metadata function which calls\njbd2_journal_try_to_free_buffers() function to free the metadata, and\nwhich is called by the block device\u0027s blkdev_releasepage() function.\n\nSigned-off-by: Toshiyuki Okajima \u003ctoshi.okajima@jp.fujitsu.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: linux-fsdevel@vger.kernel.org\n"
    },
    {
      "commit": "0087d9fb3f29f59e8d42c8b058376d80e5adde4c",
      "tree": "b7be65e3a316ce92de45fda55f9827f0d1caab9c",
      "parents": [
        "29eaf024980e07cc01f31ae4ea5d68c917f4b7da"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 05 21:49:12 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 05 21:49:12 2009 -0500"
      },
      "message": "ext4: Fix s_dirty_blocks_counter if block allocation failed with nodelalloc\n\nWith nodelalloc option we need to update the dirty block counter on\nblock allocation failure. This is needed because we increment the\ndirty block counter early in the block allocation phase. Without\nthe patch s_dirty_blocks_counter goes wrong so that filesystem\u0027s\nfree blocks decreases incorrectly.\n\nTested-by: Akira Fujita \u003ca-fujita@rs.jp.nec.com\u003e\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "29eaf024980e07cc01f31ae4ea5d68c917f4b7da",
      "tree": "969f94ad36afc5e1edcd51964f0c6bc5b0044371",
      "parents": [
        "8556e8f3b6c4c11601ce1e9ea8090a6d8bd5daae"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 05 21:48:56 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 05 21:48:56 2009 -0500"
      },
      "message": "ext4: Init the complete page while building buddy cache\n\nWe need to init the complete page during buddy cache init\nby setting the contents to \u00271\u0027.  Otherwise we can see the\nfollowing errors after doing an online resize of the\nfilesystem:\n\nEXT4-fs error (device sdb1): ext4_mb_mark_diskspace_used:\n\tAllocating block 1040385 in system zone of 127 group\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "8556e8f3b6c4c11601ce1e9ea8090a6d8bd5daae",
      "tree": "8a0da99a4781cbde8c050d7cbcd85f31fd54e894",
      "parents": [
        "648f5879f5892dddd3ba71cd0d285599f40f2512"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 05 21:46:55 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 05 21:46:55 2009 -0500"
      },
      "message": "ext4: Don\u0027t allow new groups to be added during block allocation\n\nAfter we mark the blocks in the buddy cache as allocated,\nwe need to ensure that we don\u0027t reinit the buddy cache until\nthe block bitmap is updated.  This commit achieves this by holding\nthe group_info alloc_semaphore till ext4_mb_release_context\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "648f5879f5892dddd3ba71cd0d285599f40f2512",
      "tree": "dee22aa9be9e47c9a9a25ce38481079aaf8858c8",
      "parents": [
        "2ccb5fb9f113dae969d1ae9b6c10e80fa34f8cd3"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 05 21:46:04 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 05 21:46:04 2009 -0500"
      },
      "message": "ext4: mark the blocks/inode bitmap beyond end of group as used\n\nWe need to mark the block/inode bitmap beyond the end of the group\nwith \u00271\u0027.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "2ccb5fb9f113dae969d1ae9b6c10e80fa34f8cd3",
      "tree": "d9dc5bca94748d4173a7783e963d20b5a75f8db8",
      "parents": [
        "393418676a7602e1d7d3f6e560159c65c8cbd50e"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 05 21:49:55 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 05 21:49:55 2009 -0500"
      },
      "message": "ext4: Use new buffer_head flag to check uninit group bitmaps initialization\n\nFor uninit block group, the on-disk bitmap is not initialized. That\nimplies we cannot depend on the uptodate flag on the bitmap\nbuffer_head to find bitmap validity.  Use a new buffer_head flag which\nwould be set after we properly initialize the bitmap.  This also\nprevents (re-)initializing the uninit group bitmap every time we call \next4_read_block_bitmap().\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "393418676a7602e1d7d3f6e560159c65c8cbd50e",
      "tree": "26b166e426748a7a4bfe3784cd8258a895daba79",
      "parents": [
        "3300beda523136f9f87821e4fba85c5c9e319645"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 05 21:38:14 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 05 21:38:14 2009 -0500"
      },
      "message": "ext4: Fix the race between read_inode_bitmap() and ext4_new_inode()\n\nWe need to make sure we update the inode bitmap and clear\nEXT4_BG_INODE_UNINIT flag with sb_bgl_lock held, since\next4_read_inode_bitmap() looks at EXT4_BG_INODE_UNINIT to decide\nwhether to initialize the inode bitmap each time it is called.\n(introduced by commit c806e68f.)\n\next4_read_inode_bitmap does:\n\nspin_lock(sb_bgl_lock(EXT4_SB(sb), block_group));\nif (desc-\u003ebg_flags \u0026 cpu_to_le16(EXT4_BG_INODE_UNINIT)) {\n\text4_init_inode_bitmap(sb, bh, block_group, desc);\n\nand ext4_new_inode does\nif (!ext4_set_bit_atomic(sb_bgl_lock(sbi, group),\n                   ino, inode_bitmap_bh-\u003eb_data))\n\t\t   ......\n\t\t   ...\nspin_lock(sb_bgl_lock(sbi, group));\n\ngdp-\u003ebg_flags \u0026\u003d cpu_to_le16(~EXT4_BG_INODE_UNINIT);\ni.e., on allocation we update the bitmap then we take the sb_bgl_lock\nand clear the EXT4_BG_INODE_UNINIT flag. What can happen is a\nparallel ext4_read_inode_bitmap can zero out the bitmap in between\nthe above ext4_set_bit_atomic and spin_lock(sb_bg_lock..)\n\nThe race results in below user visible errors\nEXT4-fs error (device sdb1): ext4_free_inode: bit already cleared for inode 168449\nEXT4-fs warning (device sdb1): ext4_unlink: Deleting nonexistent file ...\nEXT4-fs warning (device sdb1): ext4_rmdir: empty directory has too many links ...\n# ls -al /mnt/tmp/f/p369/d3/d6/d39/db2/dee/d10f/d3f/l71\nls: /mnt/tmp/f/p369/d3/d6/d39/db2/dee/d10f/d3f/l71: Stale NFS file handle\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "3300beda523136f9f87821e4fba85c5c9e319645",
      "tree": "0af91284ffa44b9c8c1b0de26674bca30271561f",
      "parents": [
        "560671a0d3c9ad2d647fa6d09375a262e1f19c4f"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Sat Jan 03 22:33:39 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Jan 03 22:33:39 2009 -0500"
      },
      "message": "ext4: code cleanup\n\nRename some variables.  We also unlock locks in the reverse order we\nacquired as a part of cleanup.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "560671a0d3c9ad2d647fa6d09375a262e1f19c4f",
      "tree": "a52673326726062d53b35643d51a16739cd804fc",
      "parents": [
        "e8134b27e351e813414da3b95aa8eac6d3908088"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 05 22:20:24 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 05 22:20:24 2009 -0500"
      },
      "message": "ext4: Use high 16 bits of the block group descriptor\u0027s free counts fields\n\nRename the lower bits with suffix _lo and add helper\nto access the values. Also rename bg_itable_unused_hi\nto bg_pad as in e2fsprogs.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "e8134b27e351e813414da3b95aa8eac6d3908088",
      "tree": "c2d9939f92cc326b4ecfc3903a489fb753cb344c",
      "parents": [
        "5d1b1b3f492f8696ea18950a454a141381b0f926"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 05 21:38:26 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 05 21:38:26 2009 -0500"
      },
      "message": "ext4: Fix race between read_block_bitmap() and mark_diskspace_used()\n\nWe need to make sure we update the block bitmap and clear\nEXT4_BG_BLOCK_UNINIT flag with sb_bgl_lock held, since\next4_read_block_bitmap() looks at EXT4_BG_BLOCK_UNINIT to decide\nwhether to initialize the block bitmap each time it is called\n(introduced by commit c806e68f), and this can race with block\nallocations in ext4_mb_mark_diskspace_used().\n\next4_read_block_bitmap does:\n\nspin_lock(sb_bgl_lock(EXT4_SB(sb), block_group));\nif (desc-\u003ebg_flags \u0026 cpu_to_le16(EXT4_BG_BLOCK_UNINIT)) {\n\text4_init_block_bitmap(sb, bh, block_group, desc);\n\nNow on the block allocation side we do\n\nmb_set_bits(sb_bgl_lock(sbi, ac-\u003eac_b_ex.fe_group), bitmap_bh-\u003eb_data,\n\t\t\tac-\u003eac_b_ex.fe_start, ac-\u003eac_b_ex.fe_len);\n....\nspin_lock(sb_bgl_lock(sbi, ac-\u003eac_b_ex.fe_group));\nif (gdp-\u003ebg_flags \u0026 cpu_to_le16(EXT4_BG_BLOCK_UNINIT)) {\n\tgdp-\u003ebg_flags \u0026\u003d cpu_to_le16(~EXT4_BG_BLOCK_UNINIT);\n\nie on allocation we update the bitmap then we take the sb_bgl_lock\nand clear the EXT4_BG_BLOCK_UNINIT flag. What can happen is a\nparallel ext4_read_block_bitmap can zero out the bitmap in between\nthe above mb_set_bits and spin_lock(sb_bg_lock..)\n\nThe race results in below user visible errors\nEXT4-fs error (device sdb1): ext4_mb_release_inode_pa: free 100, pa_free 105\nEXT4-fs error (device sdb1): mb_free_blocks: double-free of inode 0\u0027s block ..\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "5d1b1b3f492f8696ea18950a454a141381b0f926",
      "tree": "e6277cd3e01c074403b9da7390de1daa6b9f248f",
      "parents": [
        "b7be019e80da4db96d283734d55366014509911c"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 05 22:19:52 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 05 22:19:52 2009 -0500"
      },
      "message": "ext4: fix BUG when calling ext4_error with locked block group\n\nThe mballoc code likes to call ext4_error while it is holding locked\nblock groups.  This can causes a scheduling in atomic context BUG.  We\ncan\u0027t just unlock the block group and relock it after/if ext4_error\nreturns since that might result in race conditions in the case where\nthe filesystem is set to continue after finding errors.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "6b38e842bb832a3dbeb17e382404aef3c40ac5f9",
      "tree": "c36830341781bf49ded16a0d5432647979a74ad8",
      "parents": [
        "c38012daa7ad902a39a4213ba2b3fe50e81157ea"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Dec 30 02:03:31 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 31 18:07:44 2008 -0500"
      },
      "message": "nfsd race fixes: ext4\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e83c1397cafc4e44f868289db5e417463c0d09a4",
      "tree": "1e5673897d0c7bcaad4a7e6927a7277e78525924",
      "parents": [
        "b5ed3112b5f74c8ec1c7aa03a76c596635e85197"
      ],
      "author": {
        "name": "Duane Griffin",
        "email": "duaneg@dghda.com",
        "time": "Fri Dec 19 20:47:15 2008 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 31 18:07:39 2008 -0500"
      },
      "message": "ext4: ensure fast symlinks are NUL-terminated\n\nEnsure fast symlink targets are NUL-terminated, even if corrupted\non-disk.\n\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nCc: adilger@sun.com\nCc: linux-ext4@vger.kernel.org\nSigned-off-by: Duane Griffin \u003cduaneg@dghda.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b3a6ffe16b5cc48abe7db8d04882dc45280eb693",
      "tree": "7bd0860ca93beb9aa8c5cb54a3081617d8d12de9",
      "parents": [
        "3c18ce71af754cefae75103dbae28817e04b2db4"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Dec 12 09:51:16 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:29:51 2008 +0100"
      },
      "message": "Get rid of CONFIG_LSF\n\nWe have two seperate config entries for large devices/files. One\nis CONFIG_LBD that guards just the devices, the other is CONFIG_LSF\nthat handles large files. This doesn\u0027t make a lot of sense, you typically\nwant both or none. So get rid of CONFIG_LSF and change CONFIG_LBD wording\nto indicate that it covers both.\n\nAcked-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "cbacc2c7f066a1e01b33b0e27ae5efbf534bc2db",
      "tree": "90d1093131d2a3543a8b3b1f3364e7c6f4081a93",
      "parents": [
        "4a6908a3a050aacc9c3a2f36b276b46c0629ad91",
        "74192246910ff4fb95309ba1a683215644beeb62"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 25 11:40:09 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 25 11:40:09 2008 +1100"
      },
      "message": "Merge branch \u0027next\u0027 into for-linus\n"
    },
    {
      "commit": "02d211688727ad02bb4555b1aa8ae2de16b21b39",
      "tree": "2ee10b2f0cbfb615c40a2df98627426b8543d6cd",
      "parents": [
        "71c5576fbd809f2015f4eddf72e501e298720cf3"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Dec 09 13:14:14 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 10 08:01:52 2008 -0800"
      },
      "message": "revert \"percpu_counter: new function percpu_counter_sum_and_set\"\n\nRevert\n\n    commit e8ced39d5e8911c662d4d69a342b9d053eaaac4e\n    Author: Mingming Cao \u003ccmm@us.ibm.com\u003e\n    Date:   Fri Jul 11 19:27:31 2008 -0400\n\n        percpu_counter: new function percpu_counter_sum_and_set\n\nAs described in\n\n\trevert \"percpu counter: clean up percpu_counter_sum_and_set()\"\n\nthe new percpu_counter_sum_and_set() is racy against updates to the\ncpu-local accumulators on other CPUs.  Revert that change.\n\nThis means that ext4 will be slow again.  But correct.\n\nReported-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mingming Cao \u003ccmm@us.ibm.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.27.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "71c5576fbd809f2015f4eddf72e501e298720cf3",
      "tree": "b2d1ac56e6c3c9a60946a180cd45d493fc60738a",
      "parents": [
        "fd3d664fef97cf01f8e28fe0b024ad52f3bbc1bc"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Dec 09 13:14:13 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 10 08:01:52 2008 -0800"
      },
      "message": "revert \"percpu counter: clean up percpu_counter_sum_and_set()\"\n\nRevert\n\n    commit 1f7c14c62ce63805f9574664a6c6de3633d4a354\n    Author: Mingming Cao \u003ccmm@us.ibm.com\u003e\n    Date:   Thu Oct 9 12:50:59 2008 -0400\n\n        percpu counter: clean up percpu_counter_sum_and_set()\n\nBefore this patch we had the following:\n\npercpu_counter_sum(): return the percpu_counter\u0027s value\n\npercpu_counter_sum_and_set(): return the percpu_counter\u0027s value, copying\nthat value into the central value and zeroing the per-cpu counters before\nreturning.\n\nAfter this patch, percpu_counter_sum_and_set() has gone, and\npercpu_counter_sum() gets the old percpu_counter_sum_and_set()\nfunctionality.\n\nProblem is, as Eric points out, the old percpu_counter_sum_and_set()\nfunctionality was racy and wrong.  It zeroes out counters on \"other\" cpus,\nwithout holding any locks which will prevent races agaist updates from\nthose other CPUS.\n\nThis patch reverts 1f7c14c62ce63805f9574664a6c6de3633d4a354.  This means\nthat percpu_counter_sum_and_set() still has the race, but\npercpu_counter_sum() does not.\n\nNote that this is not a simple revert - ext4 has since started using\npercpu_counter_sum() for its dirty_blocks counter as well.\n\nNote that this revert patch changes percpu_counter_sum() semantics.\n\nBefore the patch, a call to percpu_counter_sum() will bring the counter\u0027s\ncentral counter mostly up-to-date, so a following percpu_counter_read()\nwill return a close value.\n\nAfter this patch, a call to percpu_counter_sum() will leave the counter\u0027s\ncentral accumulator unaltered, so a subsequent call to\npercpu_counter_read() can now return a significantly inaccurate result.\n\nIf there is any code in the tree which was introduced after\ne8ced39d5e8911c662d4d69a342b9d053eaaac4e was merged, and which depends\nupon the new percpu_counter_sum() semantics, that code will break.\n\nReported-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mingming Cao \u003ccmm@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": "b7be019e80da4db96d283734d55366014509911c",
      "tree": "86304f0c872dad5200e6015b7e7b56e53ad61ba8",
      "parents": [
        "7a2fcbf7f85737735fd44eb34b62315bccf6d6e4"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Sun Nov 23 23:51:53 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Nov 23 23:51:53 2008 -0500"
      },
      "message": "ext4: Fix lockdep recursive locking warning\n\nIn ext4_mb_init_group(), if the filesystem block size is less than\nPAGE_SIZE/2, the code tries to grab alloc_sem for multiple block\ngroups in a loop.  We need to allow for this by using\ndown_write_nested() and passing in the loop index as a lock subclass\nnumber.  This works because no other code path needs to take multiple\nalloc_sem\u0027s.  Note that lockdep will fail for filesystem blocksize\nsmaller than to PAGE_SIZE/16k.  (e.g., a 1k filesystem blocksize with\na 32k page size, or a 2k filesystem blocksize with a 64k blocksize,\netc.)\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "7a2fcbf7f85737735fd44eb34b62315bccf6d6e4",
      "tree": "19c7dd8cc56864445dd5fbe3fd2b941d1966492d",
      "parents": [
        "fb68407b0d9efba962c03f55009c797e22f024bc"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 05 21:36:55 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 05 21:36:55 2009 -0500"
      },
      "message": "ext4: don\u0027t use blocks freed but not yet committed in buddy cache init\n\nWhen we generate buddy cache (especially during resize) we need to\nmake sure we don\u0027t use the blocks freed but not yet comitted.  This\nmakes sure we have the right value of free blocks count in the group\ninfo and also in the bitmap.  This also ensures the ordered mode\nconsistency\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "2b828925652340277a889cbc11b2d0637f7cdaf7",
      "tree": "32fcb3d3e466fc419fad2d3717956a5b5ad3d35a",
      "parents": [
        "3a3b7ce9336952ea7b9564d976d068a238976c9d",
        "58e20d8d344b0ee083febb18c2b021d2427e56ca"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 11:29:12 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 11:29:12 2008 +1100"
      },
      "message": "Merge branch \u0027master\u0027 into next\n\nConflicts:\n\tsecurity/keys/internal.h\n\tsecurity/keys/process_keys.c\n\tsecurity/keys/request_key.c\n\nFixed conflicts above by using the non \u0027tsk\u0027 versions.\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "4c9c544e4987efe6643ad5692af47a0abfd4e0d1",
      "tree": "3414afce05e2757f4a21e483d15833c5679df7a2",
      "parents": [
        "6a2f90e9fae0824e8b6b123f1ea7d9fff9079ef3"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Nov 14 10:38:51 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 10:38:51 2008 +1100"
      },
      "message": "CRED: Wrap task credential accesses in the Ext4 filesystem\n\nWrap access to task credentials so that they can be separated more easily from\nthe task_struct during the introduction of COW creds.\n\nChange most current-\u003e(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id().\n\nChange some task-\u003ee?[ug]id to task_e?[ug]id().  In some places it makes more\nsense to use RCU directly rather than a convenient wrapper; these will be\naddressed by later patches.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nReviewed-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Stephen Tweedie \u003csct@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: adilger@sun.com\nCc: linux-ext4@vger.kernel.org\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "23712a9c28b9f80a8cf70c8490358d5f562d2465",
      "tree": "b831ecf1b2d9000568063003bc6a6ea8cb5325c8",
      "parents": [
        "ed9b3e3379731e9f9d2f73f3d7fd9e7d2ce3df4a"
      ],
      "author": {
        "name": "Frederic Bohe",
        "email": "frederic.bohe@bull.net",
        "time": "Fri Nov 07 09:21:01 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Nov 07 09:21:01 2008 -0500"
      },
      "message": "ext4: add checksum calculation when clearing UNINIT flag in ext4_new_inode\n\nWhen initializing an uninitialized block group in ext4_new_inode(),\nits block group checksum must be re-calculated.  This fixes a race\nwhen several threads try to allocate a new inode in an UNINIT\u0027d group.\n\nThere is some question whether we need to be initializing the block\nbitmap in ext4_new_inode() at all, but for now, if we are going to\ninit the block group, let\u0027s eliminate the race.\n\nSigned-off-by: Frederic Bohe \u003cfrederic.bohe@bull.net\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "ed9b3e3379731e9f9d2f73f3d7fd9e7d2ce3df4a",
      "tree": "d17381e45fe8843646ca70424095a9aa36711ee7",
      "parents": [
        "ac51d83705c2a38c71f39cde99708b14e6212a60"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Fri Nov 07 09:06:45 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Nov 07 09:06:45 2008 -0500"
      },
      "message": "ext4: Mark the buffer_heads as dirty and uptodate after prepare_write\n\nWe need to make sure we mark the buffer_heads as dirty and uptodate\nso that block_write_full_page write them correctly.\n\nThis fixes mmap corruptions that can occur in low memory situations.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "c3a326a657562dab81acf05aee106dc1fe345eb4",
      "tree": "228cf1c76cc51041fdc57e8b0b7ee7008400c457",
      "parents": [
        "920313a726e04fef0f2c0bcb04ad8229c0e700d8"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Nov 25 15:11:52 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Nov 25 15:11:52 2008 -0500"
      },
      "message": "ext4: cleanup mballoc header files\n\nMove some of the forward declaration of the static functions\nto mballoc.c where they are used. This enables us to include\nmballoc.h in other .c files. Also correct the buddy cache\ndocumentation.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "920313a726e04fef0f2c0bcb04ad8229c0e700d8",
      "tree": "7e7644a2fd48586ec2f455e56525565174798e4a",
      "parents": [
        "e21675d4b63975d09eb75c443c48ebe663d23e18"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 05 21:36:19 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 05 21:36:19 2009 -0500"
      },
      "message": "ext4: Use EXT4_GROUP_INFO_NEED_INIT_BIT during resize\n\nThe new groups added during resize are flagged as\nneed_init group. Make sure we properly initialize these\ngroups. When we have block size \u003c page size and we are adding\nnew groups the page may still be marked uptodate even though\nwe haven\u0027t initialized the group. While forcing the init\nof buddy cache we need to make sure other groups part of the\nsame page of buddy cache is not using the cache.\ngroup_info-\u003ealloc_sem is added to ensure the same.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\ncc: stable@kernel.org\n"
    },
    {
      "commit": "e21675d4b63975d09eb75c443c48ebe663d23e18",
      "tree": "73ace586265c977c2f0b41bbe2ec0b462809aa58",
      "parents": [
        "3a06d778dfeda7eaeeb79bfa49cf97f2aae132b4"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 05 21:36:02 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 05 21:36:02 2009 -0500"
      },
      "message": "ext4: Add blocks added during resize to bitmap\n\nWith this change new blocks added during resize\nare marked as free in the block bitmap and the\ngroup is flagged with EXT4_GROUP_INFO_NEED_INIT_BIT\nflag.  This makes sure when mballoc tries to allocate\nblocks from the new group we would reload the\nbuddy information using the bitmap present in the disk.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "3a06d778dfeda7eaeeb79bfa49cf97f2aae132b4",
      "tree": "08c813063950404356c9c64678eed72f21f217b9",
      "parents": [
        "1a0d3786dd57dbd74f340322054c3d618b999dcf"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Sat Nov 22 15:04:59 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Nov 22 15:04:59 2008 -0500"
      },
      "message": "ext4: sparse fixes\n\n* Change EXT4_HAS_*_FEATURE to return a boolean\n* Add a function prototype for ext4_fiemap() in ext4.h\n* Make ext4_ext_fiemap_cb() and ext4_xattr_fiemap() be static functions\n* Add lock annotations to mb_free_blocks()\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "ac51d83705c2a38c71f39cde99708b14e6212a60",
      "tree": "e540265888154d1f1b4613a118252b19a31db5db",
      "parents": [
        "14ce0cb411c88681ab8f3a4c9caa7f42e97a3184"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Nov 06 16:49:36 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Nov 06 16:49:36 2008 -0500"
      },
      "message": "ext4: calculate journal credits correctly\n\nThis fixes a 2.6.27 regression which was introduced in commit a02908f1.\n\nWe weren\u0027t passing the chunk parameter down to the two subections,\next4_indirect_trans_blocks() and ext4_ext_index_trans_blocks(), with\nthe result that massively overestimate the amount of credits needed by\next4_da_writepages, especially in the non-extents case.  This causes\nfailures especially on /boot partitions, which tend to be small and\nnon-extent using since GRUB doesn\u0027t handle extents.\n\nThis patch fixes the bug reported by Joseph Fannin at:\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d11964\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "498e5f24158da7bf8fa48074a70e370e22844492",
      "tree": "1434b349c8eca3b0667af0b385533cbcd599c1c3",
      "parents": [
        "a9df9a49102f3578909cba7bd33784eb3b9caaa4"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Nov 05 00:14:04 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Nov 05 00:14:04 2008 -0500"
      },
      "message": "ext4: Change unsigned long to unsigned int\n\nConvert the unsigned longs that are most responsible for bloating the\nstack usage on 64-bit systems.\n\nNearly all places in the ext3/4 code which uses \"unsigned long\" is\nprobably a bug, since on 32-bit systems a ulong a 32-bits, which means\nwe are wasting stack space on 64-bit systems.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "a9df9a49102f3578909cba7bd33784eb3b9caaa4",
      "tree": "1d383d422bf7185e8e87c1bcfc80f9beb3074cf8",
      "parents": [
        "cde6436004ad9cd8cab5a874b6fa8b01f1da91bf"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 05 22:18:16 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 05 22:18:16 2009 -0500"
      },
      "message": "ext4: Make ext4_group_t be an unsigned int\n\nNearly all places in the ext3/4 code which uses \"unsigned long\" is\nprobably a bug, since on 32-bit systems a ulong a 32-bits, which means\nwe are wasting stack space on 64-bit systems.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "cde6436004ad9cd8cab5a874b6fa8b01f1da91bf",
      "tree": "55cae59d0ac6e26297524e599ff915a1675082ed",
      "parents": [
        "30773840c19cea60dcef39545960d541b1ac1cf8"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Nov 04 18:46:03 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Nov 04 18:46:03 2008 -0500"
      },
      "message": "ext4: Remove i_ext_generation from ext4_inode_info structure\n\nThe i_ext_generation was incremented, but never used.  Remove it to\nslim down the ext4_inode_info structure.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "30773840c19cea60dcef39545960d541b1ac1cf8",
      "tree": "f220a2dce451a40dc7264e8fd70c77c5a3908873",
      "parents": [
        "d7cfa4684d82f58e5d7cb73b8a3c88c169937f25"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Jan 03 20:27:38 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Jan 03 20:27:38 2009 -0500"
      },
      "message": "ext4: add fsync batch tuning knobs\n\nAdd new mount options, min_batch_time and max_batch_time, which\ncontrols how long the jbd2 layer should wait for additional filesystem\noperations to get batched with a synchronous write transaction.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "032115fcef837a00336ddf7bda584e89789ea498",
      "tree": "3c36bca32a6590e675146638992ef988a0fbb430",
      "parents": [
        "fde4d95ad8711c84a36735a17136c45b19746af9"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 05 21:34:30 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 05 21:34:30 2009 -0500"
      },
      "message": "ext4: Don\u0027t overwrite allocation_context ac_status\n\nWe can call ext4_mb_check_limits even after successfully allocating\nthe requested blocks.  In that case, make sure we don\u0027t overwrite\nac_status if it already has the status AC_STATUS_FOUND.  This fixes\nthe lockdep warning:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ INFO: possible recursive locking detected ]\n2.6.28-rc6-autokern1 #1\n---------------------------------------------\nfsstress/11948 is trying to acquire lock:\n (\u0026meta_group_info[i]-\u003ealloc_sem){----}, at: [\u003cc04d9a49\u003e] ext4_mb_load_buddy+0x9f/0x278\n.....\n\nstack backtrace:\n.....\n [\u003cc04db974\u003e] ext4_mb_regular_allocator+0xbb5/0xd44\n.....\n\nbut task is already holding lock:\n (\u0026meta_group_info[i]-\u003ealloc_sem){----}, at: [\u003cc04d9a49\u003e] ext4_mb_load_buddy+0x9f/0x278\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "fde4d95ad8711c84a36735a17136c45b19746af9",
      "tree": "e4d4dcaeb18083be204ba8fe55a75400ded699ae",
      "parents": [
        "fd98496f467b3d26d05ab1498f41718b5ef13de5"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 05 22:17:35 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 05 22:17:35 2009 -0500"
      },
      "message": "ext4: remove extraneous newlines from calls to ext4_error() and ext4_warning()\n\nThis removes annoying blank syslog entries emitted by ext4_error() or\next4_warning(), since these functions add their own newline.\n\nSigned-off-by: Nick Warne \u003cnick@ukfsn.org\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "0390131ba84fd3f726f9e24fc4553828125700bb",
      "tree": "4c90afad4e8690e25aec0ce069fd450e92ab5f96",
      "parents": [
        "ff7ef329b268b603ea4a2303241ef1c3829fd574"
      ],
      "author": {
        "name": "Frank Mayhar",
        "email": "fmayhar@google.com",
        "time": "Wed Jan 07 00:06:22 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Jan 07 00:06:22 2009 -0500"
      },
      "message": "ext4: Allow ext4 to run without a journal\n\nA few weeks ago I posted a patch for discussion that allowed ext4 to run\nwithout a journal.  Since that time I\u0027ve integrated the excellent\ncomments from Andreas and fixed several serious bugs.  We\u0027re currently\nrunning with this patch and generating some performance numbers against\nboth ext2 (with backported reservations code) and ext4 with and without\na journal.  It just so happens that running without a journal is\nslightly faster for most everything.\n\nWe did\n\tiozone -T -t 4 s 2g -r 256k -T -I -i0 -i1 -i2\n\nwhich creates 4 threads, each of which create and do reads and writes on\na 2G file, with a buffer size of 256K, using O_DIRECT for all file opens\nto bypass the page cache.  Results:\n\n                     ext2        ext4, default   ext4, no journal\n  initial writes   13.0 MB/s        15.4 MB/s          15.7 MB/s\n  rewrites         13.1 MB/s        15.6 MB/s          15.9 MB/s\n  reads            15.2 MB/s        16.9 MB/s          17.2 MB/s\n  re-reads         15.3 MB/s        16.9 MB/s          17.2 MB/s\n  random readers    5.6 MB/s         5.6 MB/s           5.7 MB/s\n  random writers    5.1 MB/s         5.3 MB/s           5.4 MB/s \n\nSo it seems that, so far, this was a useful exercise.\n\nSigned-off-by: Frank Mayhar \u003cfmayhar@google.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "ff7ef329b268b603ea4a2303241ef1c3829fd574",
      "tree": "5f95f4828ef7e68c06996b18c405bc0526e2bb34",
      "parents": [
        "93c0d86371a5b2e68473752a6e54ff03185c473e"
      ],
      "author": {
        "name": "Yasunori Goto",
        "email": "y-goto@jp.fujitsu.com",
        "time": "Wed Dec 17 00:48:39 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Dec 17 00:48:39 2008 -0500"
      },
      "message": "ext4: Widen type of ext4_sb_info.s_mb_maxs[]\n\nI chased the cause of following ext4 oops report which is tested on\nia64 box.\n\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d12018\n\nThe cause is the size of s_mb_maxs array that is defined as \"unsigned\nshort\" in ext4_sb_info structure.  If the file system\u0027s block size is\n8k or greater, an unsigned short is not wide enough to contain the\nvalue fs-\u003eblocksize \u003c\u003c 3.\n\nSigned-off-by: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "93c0d86371a5b2e68473752a6e54ff03185c473e",
      "tree": "477221b4ef9549e75a41b491298522c586874e4b",
      "parents": [
        "23475e264c4f5c8b635a31924851287ead1ebe32"
      ],
      "author": {
        "name": "Solofo.Ramangalahy@bull.net",
        "email": "",
        "time": "Wed Nov 26 23:44:10 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Nov 26 23:44:10 2008 -0500"
      },
      "message": "ext4: When resizing set the EXT4_BG_INODE_ZEROED flag for new block groups\n\nThe inode table has been zeroed in setup_new_group_blocks().  Mark it as\nsuch in ext4_group_add().  Since we are currently clearing inode table\nfor the new block group, we should set the EXT4_BG_INODE_ZEROED flag.\nIf at some point in the future we don\u0027t immediately zero out the inode\ntable as part of the resize operation, then obviously we shouldn\u0027t do\nthis.\n\nSigned-off-by: Solofo.Ramangalahy@bull.net\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "23475e264c4f5c8b635a31924851287ead1ebe32",
      "tree": "9fd63f363dbea794235eac51b75402d3d0baa46b",
      "parents": [
        "171bbfbeab7730031eec8025341401fabe540bd5"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Wed Nov 26 02:23:19 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Nov 26 02:23:19 2008 -0500"
      },
      "message": "ext4: Use simple_strtol() instead of simple_strtoul() in ext4_ui_proc_open\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "25f1ee3aba17584ba4810da892175acab7fff9c8",
      "tree": "e05da5e03396a3660f71df07bcbedb3023f4b6a4",
      "parents": [
        "565a9617b2151e21b22700e97a8b04e70e103153"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Tue Nov 25 17:24:23 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Nov 25 17:24:23 2008 -0500"
      },
      "message": "ext4: fix build warning\n\nReplace `if\u0027 with `goto\u0027 to assure gcc that ix has been initialized.\n\nSigned-off-by: Wu Fengguang \u003cwfg@linux.intel.com\u003e\n"
    },
    {
      "commit": "565a9617b2151e21b22700e97a8b04e70e103153",
      "tree": "d40db2a54cb27db9dda80b0a47405a6ae19d0fc1",
      "parents": [
        "791b7f08954869d7b8ff438f3dac3cfb39778297"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 05 21:51:07 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 05 21:51:07 2009 -0500"
      },
      "message": "ext4: avoid ext4_error when mounting a fs with a single bg\n\nRemove some completely unneeded code which which caused an ext4_error\nto be generated when mounting a file system with only a single block\ngroup.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "791b7f08954869d7b8ff438f3dac3cfb39778297",
      "tree": "9e5e9414e6b102940dea0f6c3103fee7fcc0df1d",
      "parents": [
        "2a21e37e48b94388f2cc8c0392f104f5443d4bb8"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 05 21:50:43 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 05 21:50:43 2009 -0500"
      },
      "message": "ext4: Fix the delalloc writepages to allocate blocks at the right offset.\n\nWhen iterating through the pages which have mapped buffer_heads, we\nfailed to update the b_state value. This results in allocating blocks\nat logical offset 0.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "2a21e37e48b94388f2cc8c0392f104f5443d4bb8",
      "tree": "271e6b7c181213bc9ffbd7793aef275b924cf63c",
      "parents": [
        "97df5d155dee478efe33b001f502e9630e1bba92"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Nov 05 09:22:24 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Nov 05 09:22:24 2008 -0500"
      },
      "message": "ext4: tone down ext4_da_writepages warnings\n\nIf the filesystem has errors, ext4_da_writepages() will return a *lot*\nof errors, including lots and lots of stack dumps.  While it\u0027s true\nthat we are dropping user data on the floor, which is unfortunate, the\nstack dumps aren\u0027t helpful, and they tend to obscure the true original\nroot cause of the problem.  So in the case where the filesystem has\naborted, return an EROFS right away.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "97df5d155dee478efe33b001f502e9630e1bba92",
      "tree": "11847bd119be9b68365a2fa4beb5f95f691162b1",
      "parents": [
        "cfe82c856747b7841a3a00d591ce9ed46f579d27"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Dec 12 12:41:28 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Dec 12 12:41:28 2008 -0500"
      },
      "message": "ext4: remove do_blk_alloc()\n\nThe convenience function do_blk_alloc() is a static function with only\none caller, so fold it into ext4_new_meta_blocks() to simplify the\ncode and to make it easier to understand.\n\nTo save more stack space, if count is a null pointer in\next4_new_meta_blocks() assume that caller wanted a single block (and\nif there is an error, no blocks were allocated).\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "cfe82c856747b7841a3a00d591ce9ed46f579d27",
      "tree": "b5a306bdb06ead17bf19adc671df149aa9f0895e",
      "parents": [
        "815a1130687ffac2c3e91513ce64aab629d6a54d"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Dec 07 14:10:54 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Dec 07 14:10:54 2008 -0500"
      },
      "message": "ext4: remove ext4_new_meta_block()\n\nThere were only two one callers of the function ext4_new_meta_block(),\nwhich just a very simpler wrapper function around\next4_new_meta_blocks().  Change those two functions to call\next4_new_meta_blocks() directly, to save code and stack space usage.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "815a1130687ffac2c3e91513ce64aab629d6a54d",
      "tree": "9abc15c6e1e44a5e5fcf1feb0f9328b09657ad59",
      "parents": [
        "8e1a4857cd92e32e642b3e7184c7f6bf85c96e2e"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Jan 01 23:59:43 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Jan 01 23:59:43 2009 -0500"
      },
      "message": "ext4: remove ext4_new_blocks() and call ext4_mb_new_blocks() directly\n\nThere was only one caller of the compatibility function\next4_new_blocks(), in balloc.c\u0027s ext4_alloc_blocks().  Change it to\ncall ext4_mb_new_blocks() directly, and remove ext4_new_blocks()\naltogether.  This cleans up the code, by removing two extra functions\nfrom the call chain, and hopefully saving some stack usage.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "59e315b4c410b00a9acd0f24a00dbadbe81ce692",
      "tree": "d19e7b45d98c42c6f94cb5aa292e2efea44244f5",
      "parents": [
        "f99b25897a86fcfff9140396a97261ae65fed872"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Dec 06 16:58:39 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Dec 06 16:58:39 2008 -0500"
      },
      "message": "ext3/4: Fix loop index in do_split() so it is signed\n\nThis fixes a gcc warning but it doesn\u0027t appear able to result in a\nfailure, since the primary way the loop is exited is the first\nconditional in the for loop, and at least for a consistent filesystem,\nthe signed/unsigned should in practice never be exposed.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "14ce0cb411c88681ab8f3a4c9caa7f42e97a3184",
      "tree": "d441a71e13e68cb7651888ced97dbaf90b45b9b5",
      "parents": [
        "d94e99a64c3beece22dbfb2b335771a59184eb0a"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Nov 03 18:10:55 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Nov 03 18:10:55 2008 -0500"
      },
      "message": "ext4: wait on all pending commits in ext4_sync_fs()\n\nIn ext4_sync_fs, we only wait for a commit to finish if we started it,\nbut there may be one already in progress which will not be synced.\n\nIn the case of a data\u003dordered umount with pending long symlinks which\nare delayed due to a long list of other I/O on the backing block\ndevice, this causes the buffer associated with the long symlinks to\nnot be moved to the inode dirty list in the second phase of\nfsync_super.  Then, before they can be dirtied again, kjournald exits,\nseeing the UMOUNT flag and the dirty pages are never written to the\nbacking block device, causing long symlink corruption and exposing new\nor previously freed block data to userspace.\n\nTo ensure all commits are synced, we flush all journal commits now\nwhen sync_fs\u0027ing ext4.\n\nSigned-off-by: Arthur Jones \u003cajones@riverbed.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: Eric Sandeen \u003csandeen@redhat.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\n"
    },
    {
      "commit": "d94e99a64c3beece22dbfb2b335771a59184eb0a",
      "tree": "cac2a623703f51818c51481f47272e35d0b43215",
      "parents": [
        "ae2d9fb18e575ed37ffc241ece4bf68f0be4ae32"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Nov 04 09:11:26 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Nov 04 09:11:26 2008 -0500"
      },
      "message": "ext4: Convert to host order before using the values.\n\nUse le16_to_cpu to read the s_reserved_gdt_blocks values\nfrom super block.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "ae2d9fb18e575ed37ffc241ece4bf68f0be4ae32",
      "tree": "89a063362d3cd6ee3ed6bd1f87515fdbaec71cca",
      "parents": [
        "2423840ded13e6d3b52d88aff8d033bb78fafd08"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Nov 04 09:10:50 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Nov 04 09:10:50 2008 -0500"
      },
      "message": "ext4: fix missing ext4_unlock_group in error path\n\nIf we try to free a block which is already freed, the code was\nreturning without first unlocking the group.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "f99b25897a86fcfff9140396a97261ae65fed872",
      "tree": "2191505f190d09ff31896487c73b8187cb475596",
      "parents": [
        "5e1f8c9e20a92743eefc9a82c2db835213905e26"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Oct 28 13:21:44 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Oct 28 13:21:44 2008 -0400"
      },
      "message": "ext4: Add support for non-native signed/unsigned htree hash algorithms\n\nThe original ext3 hash algorithms assumed that variables of type char\nwere signed, as God and K\u0026R intended.  Unfortunately, this assumption\nis not true on some architectures.  Userspace support for marking\nfilesystems with non-native signed/unsigned chars was added two years\nago, but the kernel-side support was never added (until now).\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "8f72fbdf0d92e6127583cc548bf043c60cd4720f",
      "tree": "1e640222c04efb9cd0e56fccee5a23084d006c38",
      "parents": [
        "fe0bdec68b77020281dc814805edfe594ae89e0f"
      ],
      "author": {
        "name": "Alexander Beregalov",
        "email": "a.beregalov@gmail.com",
        "time": "Wed Oct 29 17:13:08 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 29 17:13:08 2008 -0400"
      },
      "message": "ext4: fix printk format warning\n\nfs/ext4/balloc.c:607: warning: format \u0027%lld\u0027 expects type \u0027long long int\u0027, but argument 2 has type \u0027s64\u0027\nfs/ext4/inode.c:1822: warning: format \u0027%lld\u0027 expects type \u0027long long int\u0027, but argument 2 has type \u0027s64\u0027\nfs/ext4/inode.c:1824: warning: format \u0027%lld\u0027 expects type \u0027long long int\u0027, but argument 2 has type \u0027s64\u0027\n\nSigned-off-by: Alexander Beregalov \u003ca.beregalov@gmail.com\u003e\nSigned-off-by: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "a996031c87e093017c0763326a08896a3a4817f4",
      "tree": "74550b7108b1b1fd87393801de56bd9e1e8b1012",
      "parents": [
        "8c3bf8a01c005385e9be0bc992e10abfb355278c"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Tue Oct 28 00:08:17 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Oct 28 00:08:17 2008 -0400"
      },
      "message": "delay capable() check in ext4_has_free_blocks()\n\nAs reported by Eric Paris, the capable() check in ext4_has_free_blocks()\nsometimes causes SELinux denials.\n\nWe can rearrange the logic so that we only try to use the root-reserved\nblocks when necessary, and even then we can move the capable() test\nto last, to avoid the check most of the time.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nReviewed-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "8c3bf8a01c005385e9be0bc992e10abfb355278c",
      "tree": "b65516a799256f593b29ad5048aa9a24d2d1b70b",
      "parents": [
        "6c20ec850360bc6e5c66a787f0523a80450d65ab"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Tue Oct 28 00:08:12 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Oct 28 00:08:12 2008 -0400"
      },
      "message": "merge ext4_claim_free_blocks \u0026 ext4_has_free_blocks\n\nMingming pointed out that ext4_claim_free_blocks \u0026 ext4_has_free_blocks\nare largely cut \u0026 pasted; they can be collapsed/merged as follows.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nReviewed-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "ef2cabf7c6d838eb0ee2b4fb8ef84f7c06ce16d9",
      "tree": "64c3c14ae4a3717c6c193773d87e31f5facc569e",
      "parents": [
        "44d6f78756560e95903de239e10f8a40a6eae444"
      ],
      "author": {
        "name": "Hidehiro Kawai",
        "email": "hidehiro.kawai.ez@hitachi.com",
        "time": "Mon Oct 27 22:53:05 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Oct 27 22:53:05 2008 -0400"
      },
      "message": "ext4: fix a bug accessing freed memory in ext4_abort\n\nVegard Nossum reported a bug which accesses freed memory (found via\nkmemcheck).  When journal has been aborted, ext4_put_super() calls\next4_abort() after freeing the journal_t object, and then ext4_abort()\naccesses it.  This patch fix it.\n\nSigned-off-by: Hidehiro Kawai \u003chidehiro.kawai.ez@hitachi.com\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "3c37fc86d20fe35be656f070997d62f75c2e4874",
      "tree": "eb9593356a2aa3233ab8f198f044e81413423cde",
      "parents": [
        "8c9fa93d51123c5540762b1a9e1919d6f9c4af7c"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Oct 25 11:39:08 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Oct 25 22:37:55 2008 -0400"
      },
      "message": "ext4: Fix duplicate entries returned from getdents() system call\n\nFix a regression caused by commit d0156417, \"ext4: fix ext4_dx_readdir\nhash collision handling\", where deleting files in a large directory\n(requiring more than one getdents system call), results in some\nfilenames being returned twice.  This was caused by a failure to\nupdate info-\u003ecurr_hash and info-\u003ecurr_minor_hash, so that if the\ndirectory had gotten modified since the last getdents() system call\n(as would be the case if the user is running \"rm -r\" or \"git clean\"),\na directory entry would get returned twice to the userspace.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\nThis patch fixes the bug reported by Markus Trippelsdorf at:\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d11844\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nTested-by: Markus Trippelsdorf \u003cmarkus@trippelsdorf.de\u003e\n"
    },
    {
      "commit": "3856d30ded1fe43c6657927ebad402d25cd128f4",
      "tree": "e2313de491919549ed9065fb2604dd3d19a33ea3",
      "parents": [
        "f3161f36f5f49ee995b90d6207d8b6d990355e0a"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Oct 23 20:33:29 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 23 12:03:23 2008 -0700"
      },
      "message": "ext4: remove unused variable in ext4_get_parent\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\n[ All users removed in \"switch all filesystems over to d_obtain_alias\",\n  aka commit 440037287c5ebb07033ab927ca16bb68c291d309 ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "22484856402bfa1ff3defe47f6029ab0418240d9",
      "tree": "140c67bf59674da350a7b51765d6ff7eb101b597",
      "parents": [
        "5ed487bc2c44ca4e9668ef9cb54c830e2a9fac47",
        "56b26add02b4bdea81d5e0ebda60db1fe3311ad4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 23 10:23:07 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 23 10:23:07 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/viro/bdev\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/viro/bdev: (66 commits)\n  [PATCH] kill the rest of struct file propagation in block ioctls\n  [PATCH] get rid of struct file use in blkdev_ioctl() BLKBSZSET\n  [PATCH] get rid of blkdev_locked_ioctl()\n  [PATCH] get rid of blkdev_driver_ioctl()\n  [PATCH] sanitize blkdev_get() and friends\n  [PATCH] remember mode of reiserfs journal\n  [PATCH] propagate mode through swsusp_close()\n  [PATCH] propagate mode through open_bdev_excl/close_bdev_excl\n  [PATCH] pass fmode_t to blkdev_put()\n  [PATCH] kill the unused bsize on the send side of /dev/loop\n  [PATCH] trim file propagation in block/compat_ioctl.c\n  [PATCH] end of methods switch: remove the old ones\n  [PATCH] switch sr\n  [PATCH] switch sd\n  [PATCH] switch ide-scsi\n  [PATCH] switch tape_block\n  [PATCH] switch dcssblk\n  [PATCH] switch dasd\n  [PATCH] switch mtd_blkdevs\n  [PATCH] switch mmc\n  ...\n"
    },
    {
      "commit": "440037287c5ebb07033ab927ca16bb68c291d309",
      "tree": "c4be3843ea87a777c2647f471895917005d8068f",
      "parents": [
        "4ea3ada2955e4519befa98ff55dd62d6dfbd1705"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Aug 11 15:49:04 2008 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Oct 23 05:13:01 2008 -0400"
      },
      "message": "[PATCH] switch all filesystems over to d_obtain_alias\n\nSwitch all users of d_alloc_anon to d_obtain_alias.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8264613def2e5c4f12bc3167713090fd172e6055",
      "tree": "00a8655bce02f97acf559580bdd9ba65919af2bf",
      "parents": [
        "0a0d8a46757e2063433c8cd52b7d654e02b4682b"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Aug 02 00:57:06 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Oct 23 05:12:44 2008 -0400"
      },
      "message": "[PATCH] switch quota_on-related stuff to kern_path()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9a1c3542768b5a58e45a9216921cd10a3bae1205",
      "tree": "c20ffda950db868ec7e1e35aed532962de2ecfd9",
      "parents": [
        "511de73ff09034fb89c8d54bed201a10d057328c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Feb 22 20:40:24 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Oct 21 07:48:58 2008 -0400"
      },
      "message": "[PATCH] pass fmode_t to blkdev_put()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6da0b38f4433fb0f24615449d7966471b6e5eae0",
      "tree": "9f163fbbc7342406bb602de447293c0b11628c6f",
      "parents": [
        "0d468300dc97d6aec084799ffe39253ac366f1e4"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Oct 20 22:28:45 2008 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 11:43:59 2008 -0700"
      },
      "message": "fs/Kconfig: move ext2, ext3, ext4, JBD, JBD2 out\n\nUse fs/*/Kconfig more, which is good because everything related to one\nfilesystem is in one place and fs/Kconfig is quite fat.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f287a1a56130be5fdb96a4a62d1290bd064f308e",
      "tree": "992ac8f5fef83cafae53b8fe00844f2ad3e79d07",
      "parents": [
        "3e624fc72fba09b6f999a9fbb87b64efccd38036"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Oct 16 22:50:48 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Oct 16 22:50:48 2008 -0400"
      },
      "message": "ext4: Remove automatic enabling of the HUGE_FILE feature flag\n\nIf the HUGE_FILE feature flag is not set, don\u0027t allow the creation of\nlarge files, instead of automatically enabling the feature flag.\nRecent versions of mke2fs will set the HUGE_FILE flag automatically\nanyway for ext4 filesystems.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "3e624fc72fba09b6f999a9fbb87b64efccd38036",
      "tree": "f0a1feac377788b27ea704519a33f367a6d415f9",
      "parents": [
        "22359f5745eb26bd3205a1ede7968c8944398220"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Oct 16 20:00:24 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Oct 16 20:00:24 2008 -0400"
      },
      "message": "ext4: Replace hackish ext4_mb_poll_new_transaction with commit callback\n\nThe multiblock allocator needs to be able to release blocks (and issue\na blkdev discard request) when the transaction which freed those\nblocks is committed.  Previously this was done via a polling mechanism\nwhen blocks are allocated or freed.  A much better way of doing things\nis to create a jbd2 callback function and attaching the list of blocks\nto be freed directly to the transaction structure.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "01436ef2e4710317f826c4893b31c07b2d8df88c",
      "tree": "e8c6a561e3f4803f6ee9ad7851623cd3e369bee9",
      "parents": [
        "0b09923eabd92f11a8b272dd3fd0347332d0e1e2"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Oct 17 07:22:35 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Oct 17 07:22:35 2008 -0400"
      },
      "message": "ext4: Remove unused mount options: nomballoc, mballoc, nocheck\n\nThese mount options don\u0027t actually do anything any more, so remove\nthem.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "0b09923eabd92f11a8b272dd3fd0347332d0e1e2",
      "tree": "20fbba154ab3b9e8c0c77549db17d6d71f86abe5",
      "parents": [
        "5128273a326679970b9196a27ff812670927c1c4"
      ],
      "author": {
        "name": "Manish Katiyar",
        "email": "mkatiyar@gmail.com",
        "time": "Fri Oct 17 14:58:45 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Oct 17 14:58:45 2008 -0400"
      },
      "message": "ext4: Remove compile warnings when building w/o CONFIG_PROC_FS\n\nSigned-off-by: Manish Katiyar \u003cmkatiyar@gmail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "5128273a326679970b9196a27ff812670927c1c4",
      "tree": "f2acecf3bed1af523ca385589579235dd1277995",
      "parents": [
        "22208dedbd7626e5fc4339c417f8d24cc21f79d7"
      ],
      "author": {
        "name": "Eric Sesterhenn",
        "email": "snakebyte@gmx.de",
        "time": "Fri Oct 17 09:16:19 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Oct 17 09:16:19 2008 -0400"
      },
      "message": "ext4: Add missing newlines to printk messages\n\nThere are some newlines missing in ext4_check_descriptors, which\ncause the printk level to be printed out when the next printk call\nis made:\n\n[  778.847265] EXT4-fs: ext4_check_descriptors: Block bitmap for group 0\nnot in group (block 1509949442)!\u003c3\u003eEXT4-fs: group descriptors corrupted!\n[  802.646630] EXT4-fs: ext4_check_descriptors: Inode bitmap for group 0\nnot in group (block 9043971)!\u003c3\u003eEXT4-fs: group descriptors corrupted!\n\nSigned-off-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "22208dedbd7626e5fc4339c417f8d24cc21f79d7",
      "tree": "d03fc8524dc7cb2f18c2038ffe4d2146903f630e",
      "parents": [
        "17bc6c30cf6bfffd816bdc53682dd46fc34a2cf4"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Thu Oct 16 10:10:36 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Oct 16 10:10:36 2008 -0400"
      },
      "message": "ext4: Fix file fragmentation during large file write.\n\nThe range_cyclic writeback mode uses the address_space writeback_index\nas the start index for writeback.  With delayed allocation we were\nupdating writeback_index wrongly resulting in highly fragmented file.\nThis patch reduces the number of extents reduced from 4000 to 27 for a\n3GB file.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "af6f029d3836eb7264cd3fbb13a6baf0e5fdb5ea",
      "tree": "b7c1334ad5fab10eaf4962c79ad6025d334b902c",
      "parents": [
        "8a0aba733db1adb5e1f0e828889a18f4c1c512de"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Oct 14 09:20:19 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Oct 14 09:20:19 2008 -0400"
      },
      "message": "ext4: Use tag dirty lookup during mpage_da_submit_io\n\nThis enables us to drop the range_cont writeback mode\nuse from ext4_da_writepages.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "8a0aba733db1adb5e1f0e828889a18f4c1c512de",
      "tree": "e66c57f34cdb28c45c34dfc63a93c72791316fe0",
      "parents": [
        "a1aebc1e2da9a7bee4ff8cce510b08f469d1929e"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Oct 16 10:06:27 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Oct 16 10:06:27 2008 -0400"
      },
      "message": "ext4: let the block device know when unused blocks can be discarded\n\nLet the block device know when unused blocks can be discarded, using\nthe new sb_issue_discard() interface.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "a1aebc1e2da9a7bee4ff8cce510b08f469d1929e",
      "tree": "b16ea9325a9a6edd0ce66ea20bc3e0b25236a897",
      "parents": [
        "c894058d66637c7720569fbe12957f4de64d9991"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Fri Oct 10 20:13:31 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Oct 10 20:13:31 2008 -0400"
      },
      "message": "ext4: Don\u0027t reuse released data blocks until transaction commits\n\nWe need to make sure we don\u0027t reuse the data blocks released\nduring the transaction untill the transaction commits. We force\nthis mode only for ordered and journalled mode. Writeback mode\nalready don\u0027t provided data consistency.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "c894058d66637c7720569fbe12957f4de64d9991",
      "tree": "f13472d7fd76155f1365550515997a24aff611c9",
      "parents": [
        "c2774d84fd6cab2bfa2a2fae0b1ca8d8ebde48a2"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Thu Oct 16 10:14:27 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Oct 16 10:14:27 2008 -0400"
      },
      "message": "ext4: Use an rbtree for tracking blocks freed during transaction.\n\nWith this patch we track the block freed during a transaction using\nred-black tree.  We also make sure contiguous blocks freed are collected\nin one node in the tree.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "c2774d84fd6cab2bfa2a2fae0b1ca8d8ebde48a2",
      "tree": "1319b98e55968e3223d8f2fb6cd7807cdfd80fe1",
      "parents": [
        "688f05a01983711a4e715b1d6e15a89a89c96a66"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Fri Oct 10 20:07:20 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Oct 10 20:07:20 2008 -0400"
      },
      "message": "ext4: Do mballoc init before doing filesystem recovery\n\nDuring filesystem recovery we may be doing a truncate\nwhich expects some of the mballoc data structures to\nbe initialized. So do ext4_mb_init before recovery.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "688f05a01983711a4e715b1d6e15a89a89c96a66",
      "tree": "a0b46e7bbbdffd89ca27da331eb2b62d0106f300",
      "parents": [
        "473dc8eddb049055ef823e000ad968ebd56cdaca"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Oct 13 12:14:14 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Oct 13 12:14:14 2008 -0400"
      },
      "message": "ext4: Free ext4_prealloc_space using kmem_cache_free\n\nWe should use kmem_cache_free to free memory allocated\nvia kmem_cache_alloc\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "a447c0932445f92ce6f4c1bd020f62c5097a7842",
      "tree": "bacf05bc7f9764515cdd6f7dc5e2254776b4f160",
      "parents": [
        "54cebc68c81eacac41a21bdfe99dc889d3882c60"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Oct 13 10:46:57 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 10:10:37 2008 -0700"
      },
      "message": "vfs: Use const for kernel parser table\n\nThis is a much better version of a previous patch to make the parser\ntables constant. Rather than changing the typedef, we put the \"const\" in\nall the various places where its required, allowing the __initconst\nexception for nfsroot which was the cause of the previous trouble.\n\nThis was posted for review some time ago and I believe its been in -mm\nsince then.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Alexander Viro \u003caviro@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3244fcb1ae03362e4aa8cb1a9039fbfd61661859",
      "tree": "fa46eff0dff3a9a046917bdb0c8ec3b2fef807f4",
      "parents": [
        "5bf5683a33f3584da6eced480967c4f7e11515a8"
      ],
      "author": {
        "name": "Alexander Beregalov",
        "email": "a.beregalov@gmail.com",
        "time": "Sun Oct 12 17:27:49 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Oct 12 17:27:49 2008 -0400"
      },
      "message": "ext4: fix build failure without procfs\n\nfs/ext4/super.c: In function \u0027ext4_fill_super\u0027:\nfs/ext4/super.c:2226: error: \u0027ext4_ui_proc_fops\u0027 undeclared (first use\nin this function)\nfs/ext4/super.c:2226: error: (Each undeclared identifier is reported\nonly once\nfs/ext4/super.c:2226: error: for each function it appears in.)\n\nSigned-off-by: Alexander Beregalov \u003ca.beregalov@gmail.com\u003e\nSigned-off-by: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "5bf5683a33f3584da6eced480967c4f7e11515a8",
      "tree": "4986ba3932d9f259fa1bc674deff3e35f689b243",
      "parents": [
        "7ad7445f60fe4d46c4c9d2a9463db180d2a3b270"
      ],
      "author": {
        "name": "Hidehiro Kawai",
        "email": "hidehiro.kawai.ez@hitachi.com",
        "time": "Fri Oct 10 22:12:43 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Oct 10 22:12:43 2008 -0400"
      },
      "message": "ext4: add an option to control error handling on file data\n\nIf the journal doesn\u0027t abort when it gets an IO error in file data\nblocks, the file data corruption will spread silently.  Because\nmost of applications and commands do buffered writes without fsync(),\nthey don\u0027t notice the IO error.  It\u0027s scary for mission critical\nsystems.  On the other hand, if the journal aborts whenever it gets\nan IO error in file data blocks, the system will easily become\ninoperable.  So this patch introduces a filesystem option to\ndetermine whether it aborts the journal or just call printk() when\nit gets an IO error in file data.\n\nIf you mount an ext4 fs with data_err\u003dabort option, it aborts on file\ndata write error.  If you mount it with data_err\u003dignore, it doesn\u0027t\nabort, just call printk().  data_err\u003dignore is the default.\n\nHere is the corresponding patch of the ext3 version:\nhttp://kerneltrap.org/mailarchive/linux-kernel/2008/9/9/3239374\n\nSigned-off-by: Hidehiro Kawai \u003chidehiro.kawai.ez@hitachi.com\u003e\nSigned-off-by: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "7ffe1ea8949c75ecffb7a4d988bb881a9fa62fbe",
      "tree": "42dc4e7dd16a33ba4c9b74cda41934e1fe27beb5",
      "parents": [
        "44519faf22ad6ce924ad0352d3dc200d9e0b66e8"
      ],
      "author": {
        "name": "Hidehiro Kawai",
        "email": "hidehiro.kawai.ez@hitachi.com",
        "time": "Fri Oct 10 20:29:21 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Oct 10 20:29:21 2008 -0400"
      },
      "message": "ext4: add checks for errors from jbd2\n\nIf the journal has aborted due to a checkpointing failure, we\nhave to keep the contents of the journal space.  Otherwise, the\nfilesystem will lose uncheckpointed metadata completely and\nbecome inconsistent.  To avoid this, we need to keep needs_recovery\nflag if checkpoint has failed.\n\nWith this patch, ext4_put_super() detects a checkpointing failure\nfrom the return value of journal_destroy(), then it invokes\next4_abort() to make the filesystem read only and keep\nneeds_recovery flag.  Errors from jbd2_journal_flush() are also\nhandled by this patch in some places.\n\nSigned-off-by: Hidehiro Kawai \u003chidehiro.kawai.ez@hitachi.com\u003e\nSigned-off-by: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "03010a3350301baac2154fa66de925ae2981b7e3",
      "tree": "b1af2cecbb540faab4bd67dc1a28ad3384341d72",
      "parents": [
        "39d80c33a068d9fa63a36c3b2c0d718d38440dd1"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Oct 10 20:02:48 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Oct 10 20:02:48 2008 -0400"
      },
      "message": "ext4: Rename ext4dev to ext4\n\nThe ext4 filesystem is getting stable enough that it\u0027s time to drop\nthe \"dev\" prefix.  Also remove the requirement for the TEST_FILESYS\nflag.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "39d80c33a068d9fa63a36c3b2c0d718d38440dd1",
      "tree": "6110ca4101f533ced0db2fe18a7834cd8304f0a3",
      "parents": [
        "08a225f143bf3415fef6f3360d922be35da40543"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Mon Oct 06 21:37:44 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Oct 06 21:37:44 2008 -0400"
      },
      "message": "ext4: Avoid double dirtying of super block in ext4_put_super()\n\nWhile reading code I noticed that ext4_put_super() dirties the \nsuperblock bh twice. It is always done in ext4_commit_super()\ntoo. Remove the redundant dirty operation.\nShould be a nop semantically.\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\n\n"
    },
    {
      "commit": "6873fa0de14e49c433f1f181c54e511f4f3d459d",
      "tree": "4759862db403c037c11f570f0b2ca5e25198073e",
      "parents": [
        "68c9d702bb72f367f3b148963ec6cf5e07ff7f65"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Tue Oct 07 00:46:36 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Oct 07 00:46:36 2008 -0400"
      },
      "message": "Hook ext4 to the vfs fiemap interface.\n\next4_ext_walk_space() was reinstated to be used for iterating over file\nextents with a callback; it is used by the ext4 fiemap implementation.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: linux-ext4@vger.kernel.org\nCc: linux-fsdevel@vger.kernel.org\n"
    },
    {
      "commit": "4d20c685fa365766a8f13584b4c8178a15ab7103",
      "tree": "7a2aaf1b27703818d67d1d7cf544dc72455638d1",
      "parents": [
        "45a90bfd90c1215bf824c0f705b409723f52361b"
      ],
      "author": {
        "name": "Kalpak Shah",
        "email": "kalpak.shah@sun.com",
        "time": "Wed Oct 08 23:21:54 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 08 23:21:54 2008 -0400"
      },
      "message": "ext4: fix xattr deadlock\n\next4_xattr_set_handle() eventually ends up calling\next4_mark_inode_dirty() which tries to expand the inode by shifting\nthe EAs.  This leads to the xattr_sem being downed again and leading\nto a deadlock.\n\nThis patch makes sure that if ext4_xattr_set_handle() is in the\ncall-chain, ext4_mark_inode_dirty() will not expand the inode.\n\nSigned-off-by: Kalpak Shah \u003ckalpak.shah@sun.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "ede86cc473defab74d778aeac14b19f43129d4d1",
      "tree": "19da8009accf1737171f5949413e46a9086d5fdc",
      "parents": [
        "23f8b79eae8a74e42a006ffa7c456e295c7e1c0d"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Oct 05 20:50:06 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Oct 05 20:50:06 2008 -0400"
      },
      "message": "ext4: Add debugging markers that can be used by systemtap\n\nThis debugging markers are designed to debug problems such as the\nrandom filesystem latency problems reported by Arjan.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "c806e68f5647109350ec546fee5b526962970fd2",
      "tree": "88f2d467ba95ceb7cbe011c424af83bdfe8a39d6",
      "parents": [
        "c2ea3fde61f1df1dbf062345f23277dcd6f01dfe"
      ],
      "author": {
        "name": "Frederic Bohe",
        "email": "frederic.bohe@bull.net",
        "time": "Fri Oct 10 08:09:18 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Oct 10 08:09:18 2008 -0400"
      },
      "message": "ext4: fix initialization of UNINIT bitmap blocks\n\nThis fixes a bug which caused on-line resizing of filesystems with a\n1k blocksize to fail.  The root cause of this bug was the fact that if\nan uninitalized bitmap block gets read in by userspace (which\ne2fsprogs does try to avoid, but can happen when the blocksize is less\nthan the pagesize and an adjacent blocks is read into memory)\next4_read_block_bitmap() was erroneously depending on the buffer\nuptodate flag to decide whether it needed to initialize the bitmap\nblock in memory --- i.e., to set the standard set of blocks in use by\na block group (superblock, bitmaps, inode table, etc.).  Essentially,\next4_read_block_bitmap() assumed it was the only routine that might\ntry to read a block containing a block bitmap, which is simply not\ntrue.  \n\nTo fix this, ext4_read_block_bitmap() and ext4_read_inode_bitmap()\nmust always initialize uninitialized bitmap blocks.  Once a block or\ninode is allocated out of that bitmap, it will be marked as\ninitialized in the block group descriptor, so in general this won\u0027t\nresult any extra unnecessary work.\n\nSigned-off-by: Frederic Bohe \u003cfrederic.bohe@bull.net\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "c2ea3fde61f1df1dbf062345f23277dcd6f01dfe",
      "tree": "53ecbf57416326810540494e814c05753bf30874",
      "parents": [
        "240799cdf22bd789ea6852653c3b879d35ad0a6c"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Oct 10 09:40:52 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Oct 10 09:40:52 2008 -0400"
      },
      "message": "ext4: Remove old legacy block allocator\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "240799cdf22bd789ea6852653c3b879d35ad0a6c",
      "tree": "e696b60cc103f23838b5c14d8d397f692abffbc3",
      "parents": [
        "37515facd001942221d68171c81c1f46d54ffdd0"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Oct 09 23:53:47 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Oct 09 23:53:47 2008 -0400"
      },
      "message": "ext4: Use readahead when reading an inode from the inode table\n\nWith modern hard drives, reading 64k takes roughly the same time as\nreading a 4k block.  So request readahead for adjacent inode table\nblocks to reduce the time it takes when iterating over directories\n(especially when doing this in htree sort order) in a cold cache case.\nWith this patch, the time it takes to run \"git status\" on a kernel\ntree after flushing the caches via \"echo 3 \u003e /proc/sys/vm/drop_caches\"\nis reduced by 21%.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    }
  ],
  "next": "5e8814f2f74f53d58aa5679bf32b38a7940033fe"
}
