)]}'
{
  "log": [
    {
      "commit": "5f248c9c251c60af3403902b26e08de43964ea0b",
      "tree": "6d3328e72a7e4015a64017eb30be18095c6a3c64",
      "parents": [
        "f6cec0ae58c17522a7bc4e2f39dae19f199ab534",
        "dca332528bc69e05f67161e1ed59929633d5e63d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 10 11:26:52 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 10 11:26:52 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (96 commits)\n  no need for list_for_each_entry_safe()/resetting with superblock list\n  Fix sget() race with failing mount\n  vfs: don\u0027t hold s_umount over close_bdev_exclusive() call\n  sysv: do not mark superblock dirty on remount\n  sysv: do not mark superblock dirty on mount\n  btrfs: remove junk sb_dirt change\n  BFS: clean up the superblock usage\n  AFFS: wait for sb synchronization when needed\n  AFFS: clean up dirty flag usage\n  cifs: truncate fallout\n  mbcache: fix shrinker function return value\n  mbcache: Remove unused features\n  add f_flags to struct statfs(64)\n  pass a struct path to vfs_statfs\n  update VFS documentation for method changes.\n  All filesystems that need invalidate_inode_buffers() are doing that explicitly\n  convert remaining -\u003eclear_inode() to -\u003eevict_inode()\n  Make -\u003edrop_inode() just return whether inode needs to be dropped\n  fs/inode.c:clear_inode() is gone\n  fs/inode.c:evict() doesn\u0027t care about delete vs. non-delete paths now\n  ...\n\nFix up trivial conflicts in fs/nilfs2/super.c\n"
    },
    {
      "commit": "2aec7c523291621ebb68ba8e0bd9b52a26bb76ee",
      "tree": "5be94d61cb157c0482c4e4005e438844c0312dd0",
      "parents": [
        "365b18189789bfa1acd9939e6312b8a4b4577b28"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@suse.de",
        "time": "Mon Jul 19 18:19:41 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:48:45 2010 -0400"
      },
      "message": "mbcache: Remove unused features\n\nThe mbcache code was written to support a variable number of indexes,\nbut all the existing users use exactly one index.  Simplify to code to\nsupport only that case.\n\nThere are also no users of the cache entry free operation, and none of\nthe users keep extra data in cache entries.  Remove those features as\nwell.\n\nSigned-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "0930fcc1ee2f0a810b938bc283a3a262d7adccbb",
      "tree": "5e5d10894f1e31a7aede75110b43d7a41347631d",
      "parents": [
        "7da08fd17a6e42d80f0f3897a5cbd682e77bcdb4"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 07 13:16:22 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:48:30 2010 -0400"
      },
      "message": "convert ext4 to -\u003eevict_inode()\n\npretty much brute-force...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1025774ce411f2bd4b059ad7b53f0003569b74fa",
      "tree": "2be221c205cb5579652a6063e8ee27d1c72d1bbd",
      "parents": [
        "eef2380c187890816b73b1a4cb89a09203759469"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Jun 04 11:30:02 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:37 2010 -0400"
      },
      "message": "remove inode_setattr\n\nReplace inode_setattr with opencoded variants of it in all callers.  This\nmoves the remaining call to vmtruncate into the filesystem methods where it\ncan be replaced with the proper truncate sequence.\n\nIn a few cases it was obvious that we would never end up calling vmtruncate\nso it was left out in the opencoded variant:\n\n spufs: explicitly checks for ATTR_SIZE earlier\n btrfs,hugetlbfs,logfs,dlmfs: explicitly clears ATTR_SIZE earlier\n ufs: contains an opencoded simple_seattr + truncate that sets the filesize just above\n\nIn addition to that ncpfs called inode_setattr with handcrafted iattrs,\nwhich allowed to trim down the opencoded variant.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6e1db88d536adcbbfe562b2d4b7d6425784fff12",
      "tree": "8cfcb5a6190722db6249b2e4978f39247975abcf",
      "parents": [
        "f4e420dc423148fba637af1ab618fa8896dfb2d6"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Jun 04 11:29:57 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:32 2010 -0400"
      },
      "message": "introduce __block_write_begin\n\nSplit up the block_write_begin implementation - __block_write_begin is a new\ntrivial wrapper for block_prepare_write that always takes an already\nallocated page and can be either called from block_write_begin or filesystem\ncode that already has a page allocated.  Remove the handling of already\nallocated pages from block_write_begin after switching all callers that\ndo it to __block_write_begin.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "eafdc7d190a944c755a9fe68573c193e6e0217e7",
      "tree": "915c3cc8004706fabf88eae1ab123a3fa0147516",
      "parents": [
        "256249584bda1a9357e2d29987a37f5b2df035f6"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Jun 04 11:29:53 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:29 2010 -0400"
      },
      "message": "sort out blockdev_direct_IO variants\n\nMove the call to vmtruncate to get rid of accessive blocks to the callers\nin prepearation of the new truncate calling sequence.  This was only done\nfor DIO_LOCKING filesystems, so the __blockdev_direct_IO_newtrunc variant\nwas not needed anyway.  Get rid of blockdev_direct_IO_no_locking and\nits _newtrunc variant while at it as just opencoding the two additional\nparamters is shorted than the name suffix.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "09dc942c2a767e2d298f1cc9294bc19c7d7208c5",
      "tree": "d310c118467c90c264e953bdc320ae08394c662a",
      "parents": [
        "90e0c225968f0878e090c7ff3f88323973476cee",
        "6c7a120ac6c62316ab1fc78dfc0a7b13f3bfcbff"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 07 13:03:53 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 07 13:03:53 2010 -0700"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (40 commits)\n  ext4: Adding error check after calling ext4_mb_regular_allocator()\n  ext4: Fix dirtying of journalled buffers in data\u003djournal mode\n  ext4: re-inline ext4_rec_len_(to|from)_disk functions\n  jbd2: Remove t_handle_lock from start_this_handle()\n  jbd2: Change j_state_lock to be a rwlock_t\n  jbd2: Use atomic variables to avoid taking t_handle_lock in jbd2_journal_stop\n  ext4: Add mount options in superblock\n  ext4: force block allocation on quota_off\n  ext4: fix freeze deadlock under IO\n  ext4: drop inode from orphan list if ext4_delete_inode() fails\n  ext4: check to make make sure bd_dev is set before dereferencing it\n  jbd2: Make barrier messages less scary\n  ext4: don\u0027t print scary messages for allocation failures post-abort\n  ext4: fix EFBIG edge case when writing to large non-extent file\n  ext4: fix ext4_get_blocks references\n  ext4: Always journal quota file modifications\n  ext4: Fix potential memory leak in ext4_fill_super\n  ext4: Don\u0027t error out the fs if the user tries to make a file too big\n  ext4: allocate stripe-multiple IOs on stripe boundaries\n  ext4: move aio completion after unwritten extent conversion\n  ...\n\nFix up conflicts in fs/ext4/inode.c as per Ted.\n\nFix up xfs conflicts as per earlier xfs merge.\n"
    },
    {
      "commit": "6c7a120ac6c62316ab1fc78dfc0a7b13f3bfcbff",
      "tree": "371f7d7050c42fbc8fb03a66233081a594df40b8",
      "parents": [
        "56d35a4cd13e7bc5eca5b2dba5a41794afb17e11"
      ],
      "author": {
        "name": "Aditya Kali",
        "email": "adityakali@google.com",
        "time": "Thu Aug 05 16:22:24 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Aug 05 16:22:24 2010 -0400"
      },
      "message": "ext4: Adding error check after calling ext4_mb_regular_allocator()\n\nIf the bitmap block on disk is bad, ext4_mb_load_buddy() returns an\nerror. This error is returned to the caller,\next4_mb_regular_allocator() and then to ext4_mb_new_blocks().  But\next4_mb_new_blocks() did not check for the return value of\next4_mb_regular_allocator() and would repeatedly try to load the\nbitmap block. The fix simply catches the return value and exits out of\nthe \u0027repeat\u0027 loop after cleanup.\n\nWe also take the opportunity to clean up the error handling in\next4_mb_new_blocks().\n\nGoogle-Bug-Id: 2853530\n\nSigned-off-by: Aditya Kali \u003cadityakali@google.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "56d35a4cd13e7bc5eca5b2dba5a41794afb17e11",
      "tree": "8173b2de9f0f2b596812a725ac1897efa0ba38fc",
      "parents": [
        "0cfc9255a1efb0467de2162950197750570ecec0"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Aug 05 14:41:42 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Aug 05 14:41:42 2010 -0400"
      },
      "message": "ext4: Fix dirtying of journalled buffers in data\u003djournal mode\n\nIn data\u003djournal mode, we still use block_write_begin() to prepare\npage for writing. This function can occasionally mark buffer dirty\nwhich violates journalling assumptions - when a buffer is part of\na transaction, it should be dirty and a buffer can be already part\nof a forget list of some transaction when block_write_begin()\ngets called. This violation of journalling assumptions then results\nin \"JBD: Spotted dirty metadata buffer...\" warnings.\n\nIn fact, temporary dirtying the buffer while the page is still locked\ndoes not really cause problems to the journalling because we won\u0027t write\nthe buffer until the page gets unlocked. So we just have to make sure\nto clear dirty bits before unlocking the page.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "0cfc9255a1efb0467de2162950197750570ecec0",
      "tree": "3bb2510d8b6d373d7db3a49bcda3cbbebd10330e",
      "parents": [
        "8dd420466c7bfc459fa04680bd5690bfc41a4553"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Thu Aug 05 01:46:37 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Aug 05 01:46:37 2010 -0400"
      },
      "message": "ext4: re-inline ext4_rec_len_(to|from)_disk functions\n\ncommit 3d0518f4, \"ext4: New rec_len encoding for very\nlarge blocksizes\" made several changes to this path, but from\na perf perspective, un-inlining ext4_rec_len_from_disk() seems\nmost significant.  This function is called from ext4_check_dir_entry(),\nwhich on a file-creation workload is called extremely often.\n\nI tested this with bonnie:\n\n# bonnie++ -u root -s 0 -f -x 200 -d /mnt/test -n 32\n\n(this does 200 iterations) and got this for the file creations:\n\next4 stock:   Average \u003d  21206.8 files/s\next4 inlined: Average \u003d  22346.7 files/s  (+5%)\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "d790d4d583aeaed9fc6f8a9f4d9f8ce6b1c15c7f",
      "tree": "854ab394486288d40fa8179cbfaf66e8bdc44b0f",
      "parents": [
        "73b2c7165b76b20eb1290e7efebc33cfd21db1ca",
        "3a09b1be53d23df780a0cd0e4087a05e2ca4a00c"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Aug 04 15:14:38 2010 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Aug 04 15:14:38 2010 +0200"
      },
      "message": "Merge branch \u0027master\u0027 into for-next\n"
    },
    {
      "commit": "73b2c7165b76b20eb1290e7efebc33cfd21db1ca",
      "tree": "e16ac854bede528fde2dcf96903c9720056916ce",
      "parents": [
        "17964e9d086cd4cb15b54a71ccddd8bbacb4c00c"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Fri Jul 30 21:02:47 2010 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Aug 04 15:08:39 2010 +0200"
      },
      "message": "fix comment typo \"choosed\" -\u003e \"chosen\"\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "a931da6ac9331a6c80dd91c199105806f2336188",
      "tree": "2d4ea766def9a98d21c2379f41e796b0e57ccd6b",
      "parents": [
        "a51dca9cd3bb4ec5a05bfb6feabf024a5c808a37"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Aug 03 21:35:12 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Aug 03 21:35:12 2010 -0400"
      },
      "message": "jbd2: Change j_state_lock to be a rwlock_t\n\nLockstat reports have shown that j_state_lock is a major source of\nlock contention, especially on systems with more than 4 CPU cores.  So\nchange it to be a read/write spinlock.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "8b67f04ab9de5d8f3a71aef72bf02c995a506db5",
      "tree": "dd05968730762f5b18de4c6b0720843669e4e9db",
      "parents": [
        "ca0e05e4b15193aeba72b995e90de990db7f8304"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Aug 01 23:14:20 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Aug 01 23:14:20 2010 -0400"
      },
      "message": "ext4: Add mount options in superblock\n\nAllow mount options to be stored in the superblock.  Also add default\nmount option bits for nobarrier, block_validity, discard, and nodelalloc.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "ca0e05e4b15193aeba72b995e90de990db7f8304",
      "tree": "85320333eb1832221225711a4b7bc0f970981c79",
      "parents": [
        "437f88cc031ffe7f37f3e705367f4fe1f4be8b0f"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Sun Aug 01 17:48:36 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Aug 01 17:48:36 2010 -0400"
      },
      "message": "ext4: force block allocation on quota_off\n\nPerform full sync procedure so that any delayed allocation blocks are\nallocated so quota will be consistent.\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "437f88cc031ffe7f37f3e705367f4fe1f4be8b0f",
      "tree": "0b3ab55db25c0ac8695b27858013388ff4bcc8a9",
      "parents": [
        "4538821993f4486c76090dfb377c60c0a0e71ba3"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Sun Aug 01 17:33:29 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Aug 01 17:33:29 2010 -0400"
      },
      "message": "ext4: fix freeze deadlock under IO\n\nCommit 6b0310fbf087ad6 caused a regression resulting in deadlocks\nwhen freezing a filesystem which had active IO; the vfs_check_frozen\nlevel (SB_FREEZE_WRITE) did not let the freeze-related IO syncing\nthrough.  Duh.\n\nChanging the test to FREEZE_TRANS should let the normal freeze\nsyncing get through the fs, but still block any transactions from\nstarting once the fs is completely frozen.\n\nI tested this by running fsstress in the background while periodically\nsnapshotting the fs and running fsck on the result.  I ran into\noccasional deadlocks, but different ones.  I think this is a\nfine fix for the problem at hand, and the other deadlocky things\nwill need more investigation.\n\nReported-by: Phillip Susi \u003cpsusi@cfl.rr.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "4538821993f4486c76090dfb377c60c0a0e71ba3",
      "tree": "d196075a963896c25df9ceb983a19ce82f5eab9b",
      "parents": [
        "f613dfcb3345dacb8cf99b7bb359acc1c18a1157"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Jul 29 15:06:10 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Jul 29 15:06:10 2010 -0400"
      },
      "message": "ext4: drop inode from orphan list if ext4_delete_inode() fails\n\nThere were some error paths in ext4_delete_inode() which was not\ndropping the inode from the orphan list.  This could lead to a BUG_ON\non umount when the orphan list is discovered to be non-empty.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "f613dfcb3345dacb8cf99b7bb359acc1c18a1157",
      "tree": "a2e437f59acbd87d0d2a63c7bd20b016a844f5cb",
      "parents": [
        "cc937db74bd5fe75f4cfebbfc4a04c1da10f0695"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jul 27 11:56:08 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jul 27 11:56:08 2010 -0400"
      },
      "message": "ext4: check to make make sure bd_dev is set before dereferencing it\n\nThere are some drivers which may not set bdev-\u003ebd_dev.  So make sure\nit is non-NULL before dereferencing it.\n\nGoogle-Bug-Id: 1773557\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "e3570639c8b5f2c6a5018a2649c2b7c276af76d7",
      "tree": "07c497204ba370c5e64b5868aa704e269e5893a3",
      "parents": [
        "d889dc8382c4d71b6d538b7b13777bc1ec51df10"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Tue Jul 27 11:56:08 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jul 27 11:56:08 2010 -0400"
      },
      "message": "ext4: don\u0027t print scary messages for allocation failures post-abort\n\nI often get emails containing the \"This should not happen!!\" message,\nconveniently trimmed to remove things like:\n\nsd 0:0:0:0: [sda] Unhandled error code\nsd 0:0:0:0: [sda] Result: hostbyte\u003dDID_OK driverbyte\u003dDRIVER_TIMEOUT\nsd 0:0:0:0: [sda] CDB: Write(10): 2a 00 03 13 c9 70 00 00 28 00\nend_request: I/O error, dev sda, sector 51628400\nAborting journal on device dm-0-8.\nEXT4-fs error (device dm-0): ext4_journal_start_sb: Detected aborted journal\nEXT4-fs (dm-0): Remounting filesystem read-only\n\nI don\u0027t think there is any value to the verbosity if the reason is\ndue to a filesystem abort; it just obfuscates the root cause.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "d889dc8382c4d71b6d538b7b13777bc1ec51df10",
      "tree": "e789637cb83e053a5d9706d4a66d20411cec2261",
      "parents": [
        "79e8303677fc15f508b9877e0fea1925c4add6f3"
      ],
      "author": {
        "name": "Toshiyuki Okajima",
        "email": "toshi.okajima@jp.fujitsu.com",
        "time": "Tue Jul 27 11:56:07 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jul 27 11:56:07 2010 -0400"
      },
      "message": "ext4: fix EFBIG edge case when writing to large non-extent file\n\nBy running the following reproducer, we can confirm that the write \nsystem call returns with 0 when it should return the error EFBIG.\n\n#!/bin/sh\n\n/bin/dd if\u003d/dev/zero of\u003d./img bs\u003d1k count\u003d1 seek\u003d1024k \u003e /dev/null 2\u003e\u00261\n/sbin/mkfs.ext3 -Fq ./img\n/bin/mount -o loop -t ext4 ./img /mnt\n/bin/touch /mnt/file\nstrace /bin/dd if\u003d/dev/zero of\u003d/mnt/file conv\u003dnotrunc bs\u003d1k count\u003d1 seek\u003d$((2194719883264/1024)) 2\u003e\u00261 | /bin/egrep \"write.* 1024\\) \u003d \"\n/bin/umount /mnt\nexit\n\nSigned-off-by: Toshiyuki Okajima \u003ctoshi.okajima@jp.fujitsu.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: Eric Sandeen \u003csandeen@redhat.com\u003e\n"
    },
    {
      "commit": "79e8303677fc15f508b9877e0fea1925c4add6f3",
      "tree": "85891ab05b2a9e5dd47966fd16bc372df6d4bb88",
      "parents": [
        "62d2b5f2dcd3707b070efb16bbfdf6947c38c194"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Tue Jul 27 11:56:07 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jul 27 11:56:07 2010 -0400"
      },
      "message": "ext4: fix ext4_get_blocks references\n\next4_get_blocks got renamed to ext4_map_blocks, but left stale\ncomments and a prototype littered around.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "62d2b5f2dcd3707b070efb16bbfdf6947c38c194",
      "tree": "4e721db0ab4893f6d619d20d10c1a635da079700",
      "parents": [
        "dcc7dae3cb21184a317f10a12250bd8d6f458077"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Jul 27 11:56:07 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jul 27 11:56:07 2010 -0400"
      },
      "message": "ext4: Always journal quota file modifications\n\nWhen journaled quota options are not specified, we do writes\nto quota files just in data\u003dordered mode. This actually causes\nwarnings from JBD2 about dirty journaled buffer because ext4_getblk\nunconditionally treats a block allocated by it as metadata. Since\nquota actually is filesystem metadata, the easiest way to get rid\nof the warning is to always treat quota writes as metadata...\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "dcc7dae3cb21184a317f10a12250bd8d6f458077",
      "tree": "1f40c22059a9ccbb0ef3ea6fde0e015290db2765",
      "parents": [
        "0c095c7f113e9fd05913d6e1b2cccbe356be039e"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@gmail.com",
        "time": "Tue Jul 27 11:56:07 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jul 27 11:56:07 2010 -0400"
      },
      "message": "ext4: Fix potential memory leak in ext4_fill_super\n\nUnder heavy memory pressure we may hit out of memory\nsituation and as result kstrdup\u0027ed options will not be\nfreed. Fix it.\n\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "0c095c7f113e9fd05913d6e1b2cccbe356be039e",
      "tree": "f23477719c99d5c20b4f1817c0ebe302a74eb870",
      "parents": [
        "506bf2d82165c09b179a5077e01037f6270a4db3"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jul 27 11:56:06 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jul 27 11:56:06 2010 -0400"
      },
      "message": "ext4: Don\u0027t error out the fs if the user tries to make a file too big\n\nIf the user attempts to make a non-extent-mapped file to be too large,\nreturn EFBIG, but don\u0027t call ext4_std_err() which will end up marking\nthe file system as containing an error.\n\nThanks to Toshiyuki Okajima-san at Fujitsu for pointing this out.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "506bf2d82165c09b179a5077e01037f6270a4db3",
      "tree": "9e0a92d5da86f8f402032a408148cb8676ade715",
      "parents": [
        "5b3ff237bef43b9e7fb7d1eb858e29b73fd664f9"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Tue Jul 27 11:56:06 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jul 27 11:56:06 2010 -0400"
      },
      "message": "ext4: allocate stripe-multiple IOs on stripe boundaries\n\nFor some reason, today mballoc only allocates IOs which are exactly\nstripe-sized on a stripe boundary.  If you have a multiple (say, a\n128k IO on a 64k stripe) you may end up unaligned.\n\nIt seems to me that a simple change to align stripe-multiple IOs\non stripe boundaries would be a very good idea, unless this breaks\nsome other mballoc heuristic for some reason...\n\nReported-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "5b3ff237bef43b9e7fb7d1eb858e29b73fd664f9",
      "tree": "e3810d974a0e51a8c4b9046abdd36a5a4022abb3",
      "parents": [
        "552ef8024f909d9b3a7442d0ab0d48a22de24e9e"
      ],
      "author": {
        "name": "jiayingz@google.com (Jiaying Zhang)",
        "email": "",
        "time": "Tue Jul 27 11:56:06 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jul 27 11:56:06 2010 -0400"
      },
      "message": "ext4: move aio completion after unwritten extent conversion\n\nThis patch is to be applied upon Christoph\u0027s \"direct-io: move aio_complete\ninto -\u003eend_io\" patch. It adds iocb and result fields to struct ext4_io_end_t,\nso that we can call aio_complete from  ext4_end_io_nolock() after the extent\nconversion has finished.\n\nI have verified with Christoph\u0027s aio-dio test that used to fail after a few\nruns on an original kernel but now succeeds on the patched kernel.\n\nSee http://thread.gmane.org/gmane.comp.file-systems.ext4/19659 for details.\n\nSigned-off-by: Jiaying Zhang \u003cjiayingz@google.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "552ef8024f909d9b3a7442d0ab0d48a22de24e9e",
      "tree": "868af331b76e12c8d17b8449094065a069e0d759",
      "parents": [
        "5c521830cf3dfcf7638d409d8e02ed21020c064f"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Jul 27 11:56:06 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jul 27 11:56:06 2010 -0400"
      },
      "message": "direct-io: move aio_complete into -\u003eend_io\n\nFilesystems with unwritten extent support must not complete an AIO request\nuntil the transaction to convert the extent has been commited.  That means\nthe aio_complete calls needs to be moved into the -\u003eend_io callback so\nthat the filesystem can control when to call it exactly.\n\nThis makes a bit of a mess out of dio_complete and the -\u003eend_io callback\nprototype even more complicated. \n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Jan Kara \u003cjack@suse.cz\u003e \nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "5c521830cf3dfcf7638d409d8e02ed21020c064f",
      "tree": "e852cf76218a55c8cb1e206f8f2a2fbb971783ea",
      "parents": [
        "47def82672b3ba4e7c5e9a4fe48a556f8684d0d6"
      ],
      "author": {
        "name": "Jiaying Zhang",
        "email": "jiayingz@google.com",
        "time": "Tue Jul 27 11:56:05 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jul 27 11:56:05 2010 -0400"
      },
      "message": "ext4: Support discard requests when running in no-journal mode\n\nIssue discard request in ext4_free_blocks() when ext4 has no journal and\nis mounted with discard option.\n    \nSigned-off-by: Jiaying Zhang \u003cjiayingz@google.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "40389687382bf0ae71458e7c0f828137a438a956",
      "tree": "d2a49d494754e7fa28d33c2389f78a5b5da0db4f",
      "parents": [
        "a271fe8527fe9637bdd82c97123b1356940dd84b"
      ],
      "author": {
        "name": "Amir G",
        "email": "amir73il@users.sourceforge.net",
        "time": "Tue Jul 27 11:56:05 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jul 27 11:56:05 2010 -0400"
      },
      "message": "ext4: Fix block bitmap inconsistencies after a crash when deleting files\n\nWe have experienced bitmap inconsistencies after crash during file\ndelete under heavy load.  The crash is not file system related and I\nthe following patch in ext4_free_branches() fixes the recovery\nproblem.\n\nIf the transaction is restarted and there is a crash before the new\ntransaction is committed, then after recovery, the blocks that this\nindirect block points to have been freed, but the indirect block\nitself has not been freed and may still point to some of the free\nblocks (because of the ext4_forget()).\n\nSo ext4_forget() should be called inside ext4_free_blocks() to avoid\nthis problem.\n\nSigned-off-by: Amir Goldstein \u003camir73il@users.sf.net\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "a271fe8527fe9637bdd82c97123b1356940dd84b",
      "tree": "07a950c18ad1c2391d18272d6154d23c83b71a8e",
      "parents": [
        "e5880d76aea443b04e07da19830da0f6f7494eef"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue Jul 27 11:56:04 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jul 27 11:56:04 2010 -0400"
      },
      "message": "ext4: Remove unnecessary casts of private_data\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "e5880d76aea443b04e07da19830da0f6f7494eef",
      "tree": "24ad55c300a63170ffcf5a777dc737c67d80e00c",
      "parents": [
        "89eeddf03327e19cfcbb18efa98e5470e2f5c563"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jul 27 11:56:04 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jul 27 11:56:04 2010 -0400"
      },
      "message": "ext4: fix potential NULL dereference while tracing\n\nThe allocation_context pointer can be NULL.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "89eeddf03327e19cfcbb18efa98e5470e2f5c563",
      "tree": "2ca9f7ed13b348677a2d4b2fe8bf40e041a72f5f",
      "parents": [
        "66e61a9e9504f61b9a928c9055368c81da613a50"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jul 27 11:56:04 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jul 27 11:56:04 2010 -0400"
      },
      "message": "ext4: Define s_jnl_backup_type in superblock\n\nThis has been in use by e2fsprogs for a while; define it to keep the\nsuper block fields in sync.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "66e61a9e9504f61b9a928c9055368c81da613a50",
      "tree": "afcd8147b4e4771103f75f5a03b836950882dece",
      "parents": [
        "1c13d5c0872870cca3e612aa045d492ead9ab004"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jul 27 11:56:04 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jul 27 11:56:04 2010 -0400"
      },
      "message": "ext4: Once a day, printk file system error information to dmesg\n\nThis allows us to grab any file system error messages by scraping\n/var/log/messages.  This will make it easy for us to do error analysis\nacross the very large number of machines as we deploy ext4 across the\nfleet.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "1c13d5c0872870cca3e612aa045d492ead9ab004",
      "tree": "6e3dd0d3f49ff56dda9fc6cd72c233759bc24e09",
      "parents": [
        "c398eda0e43a791be0fca6f197a1e2bbb9f16070"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jul 27 11:56:03 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jul 27 11:56:03 2010 -0400"
      },
      "message": "ext4: Save error information to the superblock for analysis\n\nSave number of file system errors, and the time function name, line\nnumber, block number, and inode number of the first and most recent\nerrors reported on the file system in the superblock.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "c398eda0e43a791be0fca6f197a1e2bbb9f16070",
      "tree": "d7b2b95490f96a75e116a3aa13c17767aa630342",
      "parents": [
        "60fd4da34d55a9cc0d857fc76dc12cf8cab4ed02"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jul 27 11:56:40 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jul 27 11:56:40 2010 -0400"
      },
      "message": "ext4: Pass line numbers to ext4_error() and friends\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "60fd4da34d55a9cc0d857fc76dc12cf8cab4ed02",
      "tree": "72c6b3d9c7680070a751da56bd9068f71e7b106f",
      "parents": [
        "90c7201b97bb7ac5a4e2605abc0efb5fdfb957f0"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jul 27 11:54:40 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jul 27 11:54:40 2010 -0400"
      },
      "message": "ext4: Cleanup ext4_check_dir_entry so __func__ is now implicit\n    \nAlso start passing the line number to ext4_check_dir since we\u0027re going\nto need it in upcoming patch.\n    \nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "40e2e97316af6e62affab7a392e792494b8d9dde",
      "tree": "981ce3b464467893683d47f52ae5d35fdd32d46a",
      "parents": [
        "696123fca877905696591829c97a2cef11c8d048"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sun Jul 18 21:17:09 2010 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Mon Jul 26 16:09:02 2010 -0500"
      },
      "message": "direct-io: move aio_complete into -\u003eend_io\n\nFilesystems with unwritten extent support must not complete an AIO request\nuntil the transaction to convert the extent has been commited.  That means\nthe aio_complete calls needs to be moved into the -\u003eend_io callback so\nthat the filesystem can control when to call it exactly.\n\nThis makes a bit of a mess out of dio_complete and the -\u003eend_io callback\nprototype even more complicated.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "90c7201b97bb7ac5a4e2605abc0efb5fdfb957f0",
      "tree": "76eb6c66e45ae325d6c394b0534289da692fd2af",
      "parents": [
        "e29136f80e775b0310273932b4297a62f5574a29"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jun 29 14:53:24 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jun 29 14:53:24 2010 -0400"
      },
      "message": "ext4: Pass line number to ext4_journal_abort_handle()\n\nThis allows the error messages to include the line number\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "e29136f80e775b0310273932b4297a62f5574a29",
      "tree": "d10d56b15b7968744ea0becdf61440aae7e609c5",
      "parents": [
        "c67d859e39896e4286249da89c4ca0ef8bd949cb"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jun 29 12:54:28 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jun 29 12:54:28 2010 -0400"
      },
      "message": "ext4: Enhance ext4_grp_locked_error() to take block and function numbers\n\nAlso use a macro definition so that __func__ and __LINE__ is implicit.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "c67d859e39896e4286249da89c4ca0ef8bd949cb",
      "tree": "e483a8e61fe876506d8ed819fbfe29eac6c493a7",
      "parents": [
        "4a9cdec73f79b2858e9ecf0b6cfac7f6b200bf3a"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jun 29 11:07:07 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jun 29 11:07:07 2010 -0400"
      },
      "message": "ext4: clean up ext4_abort() so __func__ is now implicit\n\nUse a macro definition for ext4_abort() to clean up the .c files a wee\nbit.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "4a9cdec73f79b2858e9ecf0b6cfac7f6b200bf3a",
      "tree": "0e06b201e009e5e2a661811e61ef3184138bb8d3",
      "parents": [
        "c6ac12a6159c802ae8b757dd13563564e64333df"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jun 29 11:00:23 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jun 29 11:00:23 2010 -0400"
      },
      "message": "ext4: Add new superblock fields reserved for the Next3 snapshot feature\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "f1bbbb6912662b9f6070c5bfc4ca9eb1f06a9d5b",
      "tree": "c2c130a74be25b0b2dff992e1a195e2728bdaadd",
      "parents": [
        "fd0961ff67727482bb20ca7e8ea97b83e9de2ddb",
        "7e27d6e778cd87b6f2415515d7127eba53fe5d02"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Jun 16 18:08:13 2010 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Jun 16 18:08:13 2010 +0200"
      },
      "message": "Merge branch \u0027master\u0027 into for-next\n"
    },
    {
      "commit": "421f91d21ad6f799dc7b489bb33cc560ccc56f98",
      "tree": "aaf9f6385233fdf9277e634603156c89ede7f770",
      "parents": [
        "65155b3708137fabee865dc4da822763c0c41208"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Fri Jun 11 12:17:00 2010 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Jun 16 18:05:05 2010 +0200"
      },
      "message": "fix typos concerning \"initiali[zs]e\"\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "c6ac12a6159c802ae8b757dd13563564e64333df",
      "tree": "b5e8523173895a8d7adc4d75ebfe855ca9dbd938",
      "parents": [
        "206f7ab4f49a2021fcb8687f25395be77711ddee"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Jun 15 12:19:59 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jun 15 12:19:59 2010 -0400"
      },
      "message": "ext4: update ctime when changing the file\u0027s permission by setfacl\n\next4 didn\u0027t update the ctime of the file when its permission was\nchanged.\n\nSteps to reproduce:\n # touch aaa\n # stat -c %Z aaa\n 1275289822\n # setfacl -m  \u0027u::x,g::x,o::x\u0027 aaa\n # stat -c %Z aaa\n 1275289822                         \u003c- unchanged\n\nBut, according to the spec of the ctime, ext4 must update it.\n\nPort of ext3 patch by Miao Xie \u003cmiaox@cn.fujitsu.com\u003e.\n\nCC: linux-ext4@vger.kernel.org\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "206f7ab4f49a2021fcb8687f25395be77711ddee",
      "tree": "19764d36a25ec1e088d32572a1c0936eeaf19636",
      "parents": [
        "5a0790c2c4a18435759a70e1562450035d778339"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Jun 14 14:42:49 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jun 14 14:42:49 2010 -0400"
      },
      "message": "ext4: remove vestiges of nobh support\n\nThe nobh option was only supported for writeback mode, but given that all\nwrite paths actually create buffer heads it effectively was a no-op already.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "5a0790c2c4a18435759a70e1562450035d778339",
      "tree": "80acb12d0e37196cf60ae4ca150c6b556115f302",
      "parents": [
        "07a038245b28df9196ffb2e8cc626e9b956a4e23"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Mon Jun 14 13:28:03 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jun 14 13:28:03 2010 -0400"
      },
      "message": "ext4: remove initialized but not read variables\n\nNo real bugs found, just removed some dead code.\n\nFound by gcc 4.6\u0027s new warnings.\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "07a038245b28df9196ffb2e8cc626e9b956a4e23",
      "tree": "33faae4d5785d5cdd83381f0feff5798845feafc",
      "parents": [
        "a0375156ca1041574b5d47cc7e32f10b891151b0"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jun 14 09:54:48 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jun 14 09:54:48 2010 -0400"
      },
      "message": "ext4: Convert more i_flags references to use accessor functions\n\nThese changes are not ones which are likely to result in races, but\nthey should be fixed.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "a0375156ca1041574b5d47cc7e32f10b891151b0",
      "tree": "b791961012b9348f289c3dda5dc071bdf9b736d2",
      "parents": [
        "7e27d6e778cd87b6f2415515d7127eba53fe5d02"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Jun 11 23:14:04 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Jun 11 23:14:04 2010 -0400"
      },
      "message": "ext4: Clean up s_dirt handling\n\nWe don\u0027t need to set s_dirt in most of the ext4 code when journaling\nis enabled.  In ext3/4 some of the summary statistics for # of free\ninodes, blocks, and directories are calculated from the per-block\ngroup statistics when the file system is mounted or unmounted.  As a\nresult the superblock doesn\u0027t have to be updated, either via the\njournal or by setting s_dirt.  There are a few exceptions, most\nnotably when resizing the file system, where the superblock needs to\nbe modified --- and in that case it should be done as a journalled\noperation if possible, and s_dirt set only in no-journal mode.\n\nThis patch will optimize out some unneeded disk writes when using ext4\nwith a journal.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "84a8dce2710cc425089a2b92acc354d4fbb5788d",
      "tree": "2d83f638d52326b6a8080a26aa1423fa28b38ff1",
      "parents": [
        "1f5a81e41f8b1a782c68d3843e9ec1bfaadf7d72"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Sat Jun 05 11:51:27 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Jun 05 11:51:27 2010 -0400"
      },
      "message": "ext4: Fix remaining racy updates of EXT4_I(inode)-\u003ei_flags\n\nA few functions were still modifying i_flags in a racy manner.\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "1f5a81e41f8b1a782c68d3843e9ec1bfaadf7d72",
      "tree": "471ac26edd4fbdfda5a3b091b9d583d579c882cb",
      "parents": [
        "67a3e12b05e055c0415c556a315a3d3eb637e29e"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Jun 02 22:04:39 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Jun 02 22:04:39 2010 -0400"
      },
      "message": "ext4: Make sure the MOVE_EXT ioctl can\u0027t overwrite append-only files\n\nDan Roseberg has reported a problem with the MOVE_EXT ioctl.  If the\ndonor file is an append-only file, we should not allow the operation\nto proceed, lest we end up overwriting the contents of an append-only\nfile.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: Dan Rosenberg \u003cdan.j.rosenberg@gmail.com\u003e\n"
    },
    {
      "commit": "d28619f1563140526e2f84eae436f39206f40a69",
      "tree": "d93284016a0983c8f27b745a3c50738617e50995",
      "parents": [
        "021fad8b706849c091f6e682bc5df3ce4f9ab4d7",
        "f32764bd2bbb6ea003c158b1d276b4dc9f900348"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 30 09:11:11 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 30 09:11:11 2010 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6:\n  quota: Convert quota statistics to generic percpu_counter\n  ext3 uses rb_node \u003d NULL; to zero rb_root.\n  quota: Fixup dquot_transfer\n  reiserfs: Fix resuming of quotas on remount read-write\n  pohmelfs: Remove dead quota code\n  ufs: Remove dead quota code\n  udf: Remove dead quota code\n  quota: rename default quotactl methods to dquot_\n  quota: explicitly set -\u003edq_op and -\u003es_qcop\n  quota: drop remount argument to -\u003equota_on and -\u003equota_off\n  quota: move unmount handling into the filesystem\n  quota: kill the vfs_dq_off and vfs_dq_quota_on_remount wrappers\n  quota: move remount handling into the filesystem\n  ocfs2: Fix use after free on remount read-only\n\nFix up conflicts in fs/ext4/super.c and fs/ufs/file.c\n"
    },
    {
      "commit": "1b061d9247f71cd15edc4c4c4600191a903642c0",
      "tree": "30d92ca82d8286e7a45fba108230ecd23e61673b",
      "parents": [
        "7ea8085910ef3dd4f3cad6845aaa2b580d39b115"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed May 26 17:53:41 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 27 22:06:06 2010 -0400"
      },
      "message": "rename the generic fsync implementations\n\nWe don\u0027t name our generic fsync implementations very well currently.\nThe no-op implementation for in-memory filesystems currently is called\nsimple_sync_file which doesn\u0027t make too much sense to start with,\nthe the generic one for simple filesystems is called simple_fsync\nwhich can lead to some confusion.\n\nThis patch renames the generic file fsync method to generic_file_fsync\nto match the other generic_file_* routines it is supposed to be used\nwith, and the no-op implementation to noop_fsync to make it obvious\nwhat to expect.  In addition add some documentation for both methods.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7ea8085910ef3dd4f3cad6845aaa2b580d39b115",
      "tree": "d9c1edb5906f943f7d70bfb4b65106e29772d379",
      "parents": [
        "cc967be54710d97c05229b2e5ba2d00df84ddd64"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed May 26 17:53:25 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 27 22:05:02 2010 -0400"
      },
      "message": "drop unused dentry argument to -\u003efsync\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e4ce30f3779c2ddaa7dfaa4042209e5dbacbada5",
      "tree": "cc64c1dcd16b5dbf71ebc8338b339e6fb04abaee",
      "parents": [
        "b899ebeb05da4287ce845976727e3e83dadd25d5",
        "14ece1028b3ed53ffec1b1213ffc6acaf79ad77c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 10:26:37 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 10:26:37 2010 -0700"
      },
      "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: (40 commits)\n  ext4: Make fsync sync new parent directories in no-journal mode\n  ext4: Drop whitespace at end of lines\n  ext4: Fix compat EXT4_IOC_ADD_GROUP\n  ext4: Conditionally define compat ioctl numbers\n  tracing: Convert more ext4 events to DEFINE_EVENT\n  ext4: Add new tracepoints to track mballoc\u0027s buddy bitmap loads\n  ext4: Add a missing trace hook\n  ext4: restart ext4_ext_remove_space() after transaction restart\n  ext4: Clear the EXT4_EOFBLOCKS_FL flag only when warranted\n  ext4: Avoid crashing on NULL ptr dereference on a filesystem error\n  ext4: Use bitops to read/modify i_flags in struct ext4_inode_info\n  ext4: Convert calls of ext4_error() to EXT4_ERROR_INODE()\n  ext4: Convert callers of ext4_get_blocks() to use ext4_map_blocks()\n  ext4: Add new abstraction ext4_map_blocks() underneath ext4_get_blocks()\n  ext4: Use our own write_cache_pages()\n  ext4: Show journal_checksum option\n  ext4: Fix for ext4_mb_collect_stats()\n  ext4: check for a good block group before loading buddy pages\n  ext4: Prevent creation of files larger than RLIMIT_FSIZE using fallocate\n  ext4: Remove extraneous newlines in ext4_msg() calls\n  ...\n\nFixed up trivial conflict in fs/ext4/fsync.c\n"
    },
    {
      "commit": "287a80958cf63fc5c68d5bf6e89a3669dd66234a",
      "tree": "8e6883881709ffbbe3b1d6cb7a5b4dcef3428380",
      "parents": [
        "123e9caf1e85008ab7eb5f6cd58c44f9a5d73b2b"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed May 19 07:16:45 2010 -0400"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon May 24 14:10:17 2010 +0200"
      },
      "message": "quota: rename default quotactl methods to dquot_\n\nFollow the dquot_* style used elsewhere in dquot.c.\n\n[Jan Kara: Fixed up missing conversion of ext2]\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "307ae18a56e5b706056a2050d52e8cc01b5171c0",
      "tree": "c4efc57bb8f0fd1d2aa9e416d81c0c7ba87aaf22",
      "parents": [
        "e0ccfd959cd8907bcb66cc2042e0f4fd7fcbff2b"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed May 19 07:16:43 2010 -0400"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon May 24 14:09:12 2010 +0200"
      },
      "message": "quota: drop remount argument to -\u003equota_on and -\u003equota_off\n\nRemount handling has fully moved into the filesystem, so all this is\nsuperflous now.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "e0ccfd959cd8907bcb66cc2042e0f4fd7fcbff2b",
      "tree": "a62a84034243e75e07bb063526e10ea0b837062f",
      "parents": [
        "0f0dd62fddcbd0f6830ed8ef3d3426ccc46b9250"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed May 19 07:16:42 2010 -0400"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon May 24 14:09:12 2010 +0200"
      },
      "message": "quota: move unmount handling into the filesystem\n\nCurrently the VFS calls into the quotactl interface for unmounting\nfilesystems.  This means filesystems with their own quota handling\ncan\u0027t easily distinguish between user-space originating quotaoff\nand an unount.  Instead move the responsibily of the unmount handling\ninto the filesystem to be consistent with all other dquot handling.\n\nNote that we do call dquot_disable a lot later now, e.g. after\na sync_filesystem.  But this is fine as the quota code does all its\nwrites via blockdev\u0027s mapping and that is synced even later.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "0f0dd62fddcbd0f6830ed8ef3d3426ccc46b9250",
      "tree": "295ac31b109f78873cb191867603943d8562ead0",
      "parents": [
        "c79d967de3741ceb60c5bbbf1b6f97eab9a89838"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed May 19 07:16:41 2010 -0400"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon May 24 14:06:40 2010 +0200"
      },
      "message": "quota: kill the vfs_dq_off and vfs_dq_quota_on_remount wrappers\n\nInstead of having wrappers in the VFS namespace export the dquot_suspend\nand dquot_resume helpers directly.  Also rename vfs_quota_disable to\ndquot_disable while we\u0027re at it.\n\n[Jan Kara: Moved dquot_suspend to quotaops.h and made it inline]\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "c79d967de3741ceb60c5bbbf1b6f97eab9a89838",
      "tree": "5494e7b504cffb0ddc6942d1542c2b4a472207ed",
      "parents": [
        "eea7feb072f5914ecafa95b3d83be0c229244d90"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed May 19 07:16:40 2010 -0400"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon May 24 14:06:39 2010 +0200"
      },
      "message": "quota: move remount handling into the filesystem\n\nCurrently do_remount_sb calls into the dquot code to tell it about going\nfrom rw to ro and ro to rw.  Move this code into the filesystem to\nnot depend on the dquot code in the VFS - note ocfs2 already ignores\nthese calls and handles remount by itself.  This gets rid of overloading\nthe quotactl calls and allows to unify the VFS and XFS codepaths in\nthat area later.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "e8bebe2f71d26871b0970ae1d9cf0ed3cdd9569d",
      "tree": "c0d82cbd11daaf579b74121c6641d58947091094",
      "parents": [
        "6109e2ce2600e2db26cd0424bb9c6ed019723288",
        "82f3952c02add60b15eea9151d4d99b6b82066c6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 21 19:37:45 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 21 19:37:45 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (69 commits)\n  fix handling of offsets in cris eeprom.c, get rid of fake on-stack files\n  get rid of home-grown mutex in cris eeprom.c\n  switch ecryptfs_write() to struct inode *, kill on-stack fake files\n  switch ecryptfs_get_locked_page() to struct inode *\n  simplify access to ecryptfs inodes in -\u003ereadpage() and friends\n  AFS: Don\u0027t put struct file on the stack\n  Ban ecryptfs over ecryptfs\n  logfs: replace inode uid,gid,mode initialization with helper function\n  ufs: replace inode uid,gid,mode initialization with helper function\n  udf: replace inode uid,gid,mode init with helper\n  ubifs: replace inode uid,gid,mode initialization with helper function\n  sysv: replace inode uid,gid,mode initialization with helper function\n  reiserfs: replace inode uid,gid,mode initialization with helper function\n  ramfs: replace inode uid,gid,mode initialization with helper function\n  omfs: replace inode uid,gid,mode initialization with helper function\n  bfs: replace inode uid,gid,mode initialization with helper function\n  ocfs2: replace inode uid,gid,mode initialization with helper function\n  nilfs2: replace inode uid,gid,mode initialization with helper function\n  minix: replace inode uid,gid,mode init with helper\n  ext4: replace inode uid,gid,mode init with helper\n  ...\n\nTrivial conflict in fs/fs-writeback.c (mark bitfields unsigned)\n"
    },
    {
      "commit": "b10b8520903204c9a1e4ef4a6827c2f1569aae9b",
      "tree": "49b78527451cf32cfc16be194261308b8c27a6be",
      "parents": [
        "aab99c2c26f74d90f615fcca534172dfc1c8bec2"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Thu Mar 04 17:31:51 2010 +0300"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri May 21 18:31:24 2010 -0400"
      },
      "message": "ext4: replace inode uid,gid,mode init with helper\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "11e27528076e7dee63f1db78bffbef6310f076f4",
      "tree": "e8b3ce42cb10d5172fe5caf2b302a09e272e6b27",
      "parents": [
        "d1f21049f9185e589849051d94c9a50151c6a7dc"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu May 13 17:53:18 2010 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri May 21 18:31:19 2010 -0400"
      },
      "message": "ext4: constify xattr_handler\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ee9a3607fb03e804ddf624544105f4e34260c380",
      "tree": "ce41b6e0fa10982a306f6c142a92dbf3c9961284",
      "parents": [
        "b492e95be0ae672922f4734acf3f5d35c30be948",
        "d515e86e639890b33a09390d062b0831664f04a2"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri May 21 21:27:26 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri May 21 21:27:26 2010 +0200"
      },
      "message": "Merge branch \u0027master\u0027 into for-2.6.35\n\nConflicts:\n\tfs/ext3/fsync.c\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "12755627bdcddcdb30a1bfb9a09395a52b1d6838",
      "tree": "b2d69696975d5457648020324f683a45302fbf3c",
      "parents": [
        "fcbc59f96e38a0999e827be9d04d46b62b53b20a"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Thu Apr 08 22:04:20 2010 +0400"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri May 21 19:30:45 2010 +0200"
      },
      "message": "quota: unify quota init condition in setattr\n\nQuota must being initialized if size or uid/git changes requested.\nBut initialization performed in two different places:\nin case of i_size file system is responsible for dquot init\n, but in case of uid/gid init will be called internally in\ndquot_transfer().\nThis ambiguity makes code harder to understand.\nLet\u0027s move this logic to one common helper function.\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "14ece1028b3ed53ffec1b1213ffc6acaf79ad77c",
      "tree": "8f5a13487139c68ef775c9d39b7be83386fdae06",
      "parents": [
        "60e6679e28518ccd67169c4a539d8cc7490eb8a6"
      ],
      "author": {
        "name": "Frank Mayhar",
        "email": "fmayhar@google.com",
        "time": "Mon May 17 08:00:00 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon May 17 08:00:00 2010 -0400"
      },
      "message": "ext4: Make fsync sync new parent directories in no-journal mode\n\nAdd a new ext4 state to tell us when a file has been newly created; use\nthat state in ext4_sync_file in no-journal mode to tell us when we need\nto sync the parent directory as well as the inode and data itself.  This\nfixes a problem in which a panic or power failure may lose the entire\nfile even when using fsync, since the parent directory entry is lost.\n\nAddresses-Google-Bug: #2480057\n\nSigned-off-by: Frank Mayhar \u003cfmayhar@google.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "60e6679e28518ccd67169c4a539d8cc7490eb8a6",
      "tree": "65f39d1e9da3006df5bc5532d0c8a7ec365599f0",
      "parents": [
        "4d92dc0f00a775dc2e1267b0e00befb783902fe7"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon May 17 07:00:00 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon May 17 07:00:00 2010 -0400"
      },
      "message": "ext4: Drop whitespace at end of lines\n\nThis patch was generated using:\n\n#!/usr/bin/perl -i\nwhile (\u003c\u003e) {\n    s/[ \t]+$//;\n    print;\n}\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "4d92dc0f00a775dc2e1267b0e00befb783902fe7",
      "tree": "07bb835871dfcc290f5909fe6635ab420ff61420",
      "parents": [
        "899ad0cea6ad7ff4ba24b16318edbc3cbbe03fad"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "ben@decadent.org.uk",
        "time": "Mon May 17 06:00:00 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon May 17 06:00:00 2010 -0400"
      },
      "message": "ext4: Fix compat EXT4_IOC_ADD_GROUP\n\nstruct ext4_new_group_input needs to be converted because u64 has\nonly 32-bit alignment on some 32-bit architectures, notably i386.\n\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "899ad0cea6ad7ff4ba24b16318edbc3cbbe03fad",
      "tree": "5a9b5b84cf47321fbf1ac10bde64bbf3ff75a269",
      "parents": [
        "f084db932e6fe877bf8362bc256fc850de196deb"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "ben@decadent.org.uk",
        "time": "Mon May 17 05:00:00 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon May 17 05:00:00 2010 -0400"
      },
      "message": "ext4: Conditionally define compat ioctl numbers\n\nIt is unnecessary, and in general impossible, to define the compat\nioctl numbers except when building the filesystem with CONFIG_COMPAT\ndefined.\n\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "f307333e14f6b18045eb4198fe646d9b6028f3ed",
      "tree": "71611b08a95f4f07de9b4c19100474188027e62e",
      "parents": [
        "5a58ec8766e0ce98fd585eb404b3e56935afafe6"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon May 17 03:00:00 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon May 17 03:00:00 2010 -0400"
      },
      "message": "ext4: Add new tracepoints to track mballoc\u0027s buddy bitmap loads\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "5a58ec8766e0ce98fd585eb404b3e56935afafe6",
      "tree": "191f9457a05ffe7803712f62d40d848d58987765",
      "parents": [
        "0617b83fa239db9743a18ce6cc0e556f4d0fd567"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Mon May 17 02:00:00 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon May 17 02:00:00 2010 -0400"
      },
      "message": "ext4: Add a missing trace hook\n\nCommit f8ec9d6837241865cf99bed97bb99f4399fd5a03 added a\ntrace event ext4_da_release_space, but didn\u0027t add some\ncorresponding trace hook.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "0617b83fa239db9743a18ce6cc0e556f4d0fd567",
      "tree": "46d646c2d1af9d706848520a4657877d4cff768f",
      "parents": [
        "786ec7915e530936b9eb2e3d12274145cab7aa7d"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Mon May 17 01:00:00 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon May 17 01:00:00 2010 -0400"
      },
      "message": "ext4: restart ext4_ext_remove_space() after transaction restart\n\nIf i_data_sem was internally dropped due to transaction restart, it is\nnecessary to restart path look-up because extents tree was possibly\nmodified by ext4_get_block().\n\nhttps://bugzilla.kernel.org/show_bug.cgi?id\u003d15827\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "786ec7915e530936b9eb2e3d12274145cab7aa7d",
      "tree": "bbdfd4189ef769196808698e68862d4a192595e6",
      "parents": [
        "f70f362b4a6fe47c239dbfb3efc0cc2c10e4f09c"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon May 17 00:00:00 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon May 17 00:00:00 2010 -0400"
      },
      "message": "ext4: Clear the EXT4_EOFBLOCKS_FL flag only when warranted\n\nDimitry Monakhov discovered an edge case where it was possible for the\nEXT4_EOFBLOCKS_FL flag could get cleared unnecessarily.  This is true;\nI have a test case that can be exercised via downloading and\ndecompressing the file:\n\nwget ftp://ftp.kernel.org/pub/linux/kernel/people/tytso/ext4-testcases/eofblocks-fl-test-case.img.bz2\nbunzip2 eofblocks-fl-test-case.img\ndd if\u003d/dev/zero of\u003deofblocks-fl-test-case.img bs\u003d1k seek\u003d17925 bs\u003d1k count\u003d1 conv\u003dnotrunc\n\nHowever, triggering it in real life is highly unlikely since it\nrequires an extremely fragmented sparse file with a hole in exactly\nthe right place in the extent tree.  (It actually took quite a bit of\nwork to generate this test case.)  Still, it\u0027s nice to get even\nextreme corner cases to be correct, so this patch makes sure that we\ndon\u0027t clear the EXT4_EOFBLOCKS_FL incorrectly even in this corner\ncase.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n\n\n"
    },
    {
      "commit": "f70f362b4a6fe47c239dbfb3efc0cc2c10e4f09c",
      "tree": "b9db08f3675d1cc0ed7d1af08418f5f5ba554ca6",
      "parents": [
        "12e9b892002d9af057655d35b44db8ee9243b0dc"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun May 16 23:00:00 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun May 16 23:00:00 2010 -0400"
      },
      "message": "ext4: Avoid crashing on NULL ptr dereference on a filesystem error\n\nIf the EOFBLOCK_FL flag is set when it should not be and the inode is\nzero length, then eh_entries is zero, and ex is NULL, so dereferencing\nex to print ex-\u003eee_block causes a kernel OOPS in\next4_ext_map_blocks().\n\nOn top of that, the error message which is printed isn\u0027t very helpful.\nSo we fix this by printing something more explanatory which doesn\u0027t\ninvolve trying to print ex-\u003eee_block.\n\nAddresses-Google-Bug: #2655740\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "12e9b892002d9af057655d35b44db8ee9243b0dc",
      "tree": "c5831b4bcf98eebdd39158d08dab97c198f5c683",
      "parents": [
        "24676da469f50f433baa347845639662c561d1f6"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Sun May 16 22:00:00 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun May 16 22:00:00 2010 -0400"
      },
      "message": "ext4: Use bitops to read/modify i_flags in struct ext4_inode_info\n\nAt several places we modify EXT4_I(inode)-\u003ei_flags without holding\ni_mutex (ext4_do_update_inode, ...). These modifications are racy and\nwe can lose updates to i_flags. So convert handling of i_flags to use\nbitops which are atomic.\n\nhttps://bugzilla.kernel.org/show_bug.cgi?id\u003d15792\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "24676da469f50f433baa347845639662c561d1f6",
      "tree": "b4b8205f8b50376af286193d0dcbe76f2bc2d1e1",
      "parents": [
        "2ed886852adfcb070bf350e66a0da0d98b2f3ab5"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun May 16 21:00:00 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun May 16 21:00:00 2010 -0400"
      },
      "message": "ext4: Convert calls of ext4_error() to EXT4_ERROR_INODE()\n\nEXT4_ERROR_INODE() tends to provide better error information and in a\nmore consistent format.  Some errors were not even identifying the inode\nor directory which was corrupted, which made them not very useful.\n\nAddresses-Google-Bug: #2507977\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "2ed886852adfcb070bf350e66a0da0d98b2f3ab5",
      "tree": "bcec0a1004f413b70087e2c43097892f87f21cc3",
      "parents": [
        "e35fd6609b2fee54484d520deccb8f18bf7d38f3"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun May 16 20:00:00 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun May 16 20:00:00 2010 -0400"
      },
      "message": "ext4: Convert callers of ext4_get_blocks() to use ext4_map_blocks()\n\nThis saves a huge amount of stack space by avoiding unnecesary struct\nbuffer_head\u0027s from being allocated on the stack.\n\nIn addition, to make the code easier to understand, collapse and\nrefactor ext4_get_block(), ext4_get_block_write(),\nnoalloc_get_block_write(), into a single function.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "e35fd6609b2fee54484d520deccb8f18bf7d38f3",
      "tree": "9b786445602819074f599c282b31bead166e8c03",
      "parents": [
        "8e48dcfbd7c0892b4cfd064d682cc4c95a29df32"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun May 16 19:00:00 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun May 16 19:00:00 2010 -0400"
      },
      "message": "ext4: Add new abstraction ext4_map_blocks() underneath ext4_get_blocks()\n\nJack up ext4_get_blocks() and add a new function, ext4_map_blocks()\nwhich uses a much smaller structure, struct ext4_map_blocks which is\n20 bytes, as opposed to a struct buffer_head, which nearly 5 times\nbigger on an x86_64 machine.  By switching things to use\next4_map_blocks(), we can save stack space by using ext4_map_blocks()\nsince we can avoid allocating a struct buffer_head on the stack.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "8e48dcfbd7c0892b4cfd064d682cc4c95a29df32",
      "tree": "653f12cc4eea9606c80142752612ad28f1ccdb45",
      "parents": [
        "39a4bade8c1826b658316d66ee81c09b0a4d7d42"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun May 16 18:00:00 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun May 16 18:00:00 2010 -0400"
      },
      "message": "ext4: Use our own write_cache_pages()\n\nMake a copy of write_cache_pages() for the benefit of\next4_da_writepages().  This allows us to simplify the code some, and\nwill allow us to further customize the code in future patches.\n\nThere are some nasty hacks in write_cache_pages(), which Linus has\n(correctly) characterized as vile.  I\u0027ve just copied it into\nwrite_cache_pages_da(), without trying to clean those bits up lest I\nbreak something in the ext4\u0027s delalloc implementation, which is a bit\nfragile right now.  This will allow Dave Chinner to clean up\nwrite_cache_pages() in mm/page-writeback.c, without worrying about\nbreaking ext4.  Eventually write_cache_pages_da() will go away when I\nrewrite ext4\u0027s delayed allocation and create a general\next4_writepages() which is used for all of ext4\u0027s writeback.  Until\nnow this is the lowest risk way to clean up the core\nwrite_cache_pages() function.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "39a4bade8c1826b658316d66ee81c09b0a4d7d42",
      "tree": "3f61798e2e0b7b8ba74b4257ff207eb31166762e",
      "parents": [
        "291dae472a8976ff461f24c848fee2a03f9ea3c8"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Sun May 16 17:00:00 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun May 16 17:00:00 2010 -0400"
      },
      "message": "ext4: Show journal_checksum option\n\nWe failed to show journal_checksum option in /proc/mounts. Fix it.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "291dae472a8976ff461f24c848fee2a03f9ea3c8",
      "tree": "74926cf247344af2ad825a71f25787d61a0d503e",
      "parents": [
        "8a57d9d61a6e361c7bb159dda797672c1df1a691"
      ],
      "author": {
        "name": "Curt Wohlgemuth",
        "email": "curtw@google.com",
        "time": "Sun May 16 16:00:00 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun May 16 16:00:00 2010 -0400"
      },
      "message": "ext4: Fix for ext4_mb_collect_stats()\n\nFix ext4_mb_collect_stats() to use the correct test for s_bal_success; it\nshould be testing \"best-extent.fe_len \u003e\u003d orig-extent.fe_len\" , not\n\"orig-extent.fe_len \u003e\u003d goal-extent.fe_len\" .\n\nSigned-off-by: Curt Wohlgemuth \u003ccurtw@google.org\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "8a57d9d61a6e361c7bb159dda797672c1df1a691",
      "tree": "39a01022ed2294f0acc94b45554c9a292db671dc",
      "parents": [
        "6d19c42b7cf81c39632b6d4dbc514e8449bcd346"
      ],
      "author": {
        "name": "Curt Wohlgemuth",
        "email": "curtw@google.com",
        "time": "Sun May 16 15:00:00 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun May 16 15:00:00 2010 -0400"
      },
      "message": "ext4: check for a good block group before loading buddy pages\n\nThis adds a new field in ext4_group_info to cache the largest available\nblock range in a block group; and don\u0027t load the buddy pages until *after*\nwe\u0027ve done a sanity check on the block group.\n\nWith large allocation requests (e.g., fallocate(), 8MiB) and relatively full\npartitions, it\u0027s easy to have no block groups with a block extent large\nenough to satisfy the input request length.  This currently causes the loop\nduring cr \u003d\u003d 0 in ext4_mb_regular_allocator() to load the buddy bitmap pages\nfor EVERY block group.  That can be a lot of pages.  The patch below allows\nus to call ext4_mb_good_group() BEFORE we load the buddy pages (although we\nhave check again after we lock the block group).\n\nAddresses-Google-Bug: #2578108\nAddresses-Google-Bug: #2704453\n\nSigned-off-by: Curt Wohlgemuth \u003ccurtw@google.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "6d19c42b7cf81c39632b6d4dbc514e8449bcd346",
      "tree": "f390fca28758e63c8be0530a2c8656ff27f5320b",
      "parents": [
        "fbe845ddf368f77f86aa7500f8fd2690f54c66a8"
      ],
      "author": {
        "name": "Nikanth Karthikesan",
        "email": "knikanth@suse.de",
        "time": "Sun May 16 14:00:00 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun May 16 14:00:00 2010 -0400"
      },
      "message": "ext4: Prevent creation of files larger than RLIMIT_FSIZE using fallocate\n\nCurrently using posix_fallocate one can bypass an RLIMIT_FSIZE limit\nand create a file larger than the limit. Add a check for that.\n\nSigned-off-by: Nikanth Karthikesan \u003cknikanth@suse.de\u003e\nSigned-off-by: Amit Arora \u003caarora@in.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "fbe845ddf368f77f86aa7500f8fd2690f54c66a8",
      "tree": "81e62af0c35794a4c0a2802d0528cacb43f2b4de",
      "parents": [
        "d4c402d9fd97a54bb7ed89f9e9869897eb4f6e1f"
      ],
      "author": {
        "name": "Curt Wohlgemuth",
        "email": "curtw@google.com",
        "time": "Sun May 16 13:00:00 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun May 16 13:00:00 2010 -0400"
      },
      "message": "ext4: Remove extraneous newlines in ext4_msg() calls\n\nAddresses-Google-Bug: #2562325\n\nSigned-off-by: Curt Wohlgemuth \u003ccurtw@google.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "d4c402d9fd97a54bb7ed89f9e9869897eb4f6e1f",
      "tree": "6469b5d8aa9e18db0d689f79ab8e40ae5ff3064d",
      "parents": [
        "72b8ab9dde211ea518ff27e631b2046ef90c29a2"
      ],
      "author": {
        "name": "Curt Wohlgemuth",
        "email": "curtw@google.com",
        "time": "Sun May 16 12:00:00 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun May 16 12:00:00 2010 -0400"
      },
      "message": "ext4: Print mount options in when mounting and add a remount message\n\nThis adds a \"re-mounted\" message to ext4_remount(), and both it and\nthe mount message in ext4_fill_super() now have the original mount\noptions data string.\n\nSigned-off-by: Curt Wohlgemuth \u003ccurtw@google.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "72b8ab9dde211ea518ff27e631b2046ef90c29a2",
      "tree": "f63fc1894bcc39c81060e2fd8b21bedd07a1e958",
      "parents": [
        "0e05842bc117ea70ceb979cca798fd026879951b"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Sun May 16 11:00:00 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun May 16 11:00:00 2010 -0400"
      },
      "message": "ext4: don\u0027t use quota reservation for speculative metadata\n\nBecause we can badly over-reserve metadata when we\ncalculate worst-case, it complicates things for quota, since\nwe must reserve and then claim later, retry on EDQUOT, etc.\nQuota is also a generally smaller pool than fs free blocks,\nso this over-reservation hurts more, and more often.\n\nI\u0027m of the opinion that it\u0027s not the worst thing to allow\nmetadata to push a user slightly over quota.  This simplifies\nthe code and avoids the false quota rejections that result\nfrom worst-case speculation.\n\nThis patch stops the speculative quota-charging for\nworst-case metadata requirements, and just charges quota\nwhen the blocks are allocated at writeout.  It also is\nable to remove the try-again loop on EDQUOT.\n\nThis patch has been tested indirectly by running the xfstests\nsuite with a hack to mount \u0026 enable quota prior to the test.\n\nI also did a more specific test of fragmenting freespace\nand then doing a large delalloc write under quota; quota\nstopped me at the right amount of file IO, and then the\nwriteout generated enough metadata (due to the fragmentation)\nthat it put me slightly over quota, as expected.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "84061e07c5fbbbf9dc8aef8fb750fc3a2dfc31f3",
      "tree": "91f3e08999ea72b51b246c521ffc31d2c55eea90",
      "parents": [
        "d17413c08cd2b1dd2bf2cfdbb0f7b736b2b2b15c"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Sun May 16 08:00:00 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun May 16 08:00:00 2010 -0400"
      },
      "message": "ext4: init statistics after journal recovery\n\nCurrently block/inode/dir counters initialized before journal was\nrecovered. In fact after journal recovery this info will probably\nchange. And freeblocks it critical for correct delalloc mode\naccounting.\n\nhttps://bugzilla.kernel.org/show_bug.cgi?id\u003d15768\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "d17413c08cd2b1dd2bf2cfdbb0f7b736b2b2b15c",
      "tree": "af5c4e2e0c7e7d188dd5b8fac61d39ee7984f3c6",
      "parents": [
        "21ca087a3891efab4d45488db8febee474d26c68"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Sun May 16 07:00:00 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun May 16 07:00:00 2010 -0400"
      },
      "message": "ext4: clean up inode bitmaps manipulation in ext4_free_inode\n\n- Reorganize locking scheme to batch two atomic operation in to one.\n  This also allow us to state what healthy group must obey following rule\n  ext4_free_inodes_count(sb, gdp) \u003d\u003d ext4_count_free(inode_bitmap, NUM);\n- Fix possible undefined pointer dereference.\n- Even if group descriptor stats aren\u0027t accessible we have to update\n  inode bitmaps.\n- Move non-group members update out of group_lock.\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "21ca087a3891efab4d45488db8febee474d26c68",
      "tree": "343af5d07c11d614835eac004be36382cec27dc0",
      "parents": [
        "c35a56a090eacefca07afeb994029b57d8dd8025"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Sun May 16 06:00:00 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun May 16 06:00:00 2010 -0400"
      },
      "message": "ext4: Do not zero out uninitialized extents beyond i_size\n\nThe extents code will sometimes zero out blocks and mark them as\ninitialized instead of splitting an extent into several smaller ones.\nThis optimization however, causes problems if the extent is beyond\ni_size because fsck will complain if there are uninitialized blocks\nafter i_size as this can not be distinguished from an inode that has\nan incorrect i_size field.\n\nhttps://bugzilla.kernel.org/show_bug.cgi?id\u003d15742\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "c445e3e0a5c2804524dec6e55f66d63f6bc5bc3e",
      "tree": "e4839825628b6d3aa3a9141e32370d5edebcc546",
      "parents": [
        "a30eec2a8650a77f754e84b2e15f062fe652baa7"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Sun May 16 04:00:00 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun May 16 04:00:00 2010 -0400"
      },
      "message": "ext4: don\u0027t scan/accumulate more pages than mballoc will allocate\n\nThere was a bug reported on RHEL5 that a 10G dd on a 12G box\nhad a very, very slow sync after that.\n\nAt issue was the loop in write_cache_pages scanning all the way\nto the end of the 10G file, even though the subsequent call\nto mpage_da_submit_io would only actually write a smallish amt; then\nwe went back to the write_cache_pages loop ... wasting tons of time\nin calling __mpage_da_writepage for thousands of pages we would\njust revisit (many times) later.\n\nUpstream it\u0027s not such a big issue for sys_sync because we get\nto the loop with a much smaller nr_to_write, which limits the loop.\n\nHowever, talking with Aneesh he realized that fsync upstream still\ngets here with a very large nr_to_write and we face the same problem.\n\nThis patch makes mpage_add_bh_to_extent stop the loop after we\u0027ve\naccumulated 2048 pages, by setting mpd-\u003eio_done \u003d 1; which ultimately\ncauses the write_cache_pages loop to break.\n\nRepeating the test with a dirty_ratio of 80 (to leave something for\nfsync to do), I don\u0027t see huge IO performance gains, but the reduction\nin cpu usage is striking: 80% usage with stock, and 2% with the\nbelow patch.  Instrumenting the loop in write_cache_pages clearly\nshows that we are wasting time here.\n\nEventually we need to change mpage_da_map_pages() also submit its I/O\nto the block layer, subsuming mpage_da_submit_io(), and then change it\ncall ext4_get_blocks() multiple times.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "a30eec2a8650a77f754e84b2e15f062fe652baa7",
      "tree": "7b20063513e534c5c13608df572c77c6975ff900",
      "parents": [
        "6b0310fbf087ad6e9e3b8392adca97cd77184084"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Sun May 16 03:00:00 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun May 16 03:00:00 2010 -0400"
      },
      "message": "ext4: stop issuing discards if not supported by device\n\nTurn off issuance of discard requests if the device does\nnot support it - similar to the action we take for barriers.\nThis will save a little computation time if a non-discardable\ndevice is mounted with -o discard, and also makes it obvious\nthat it\u0027s not doing what was asked at mount time ...\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "6b0310fbf087ad6e9e3b8392adca97cd77184084",
      "tree": "6c15fad6ca442d92e8075578a9b04811ca093bda",
      "parents": [
        "256a453546f1cf2c29a639c79fe0d603761a8e25"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Sun May 16 02:00:00 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun May 16 02:00:00 2010 -0400"
      },
      "message": "ext4: don\u0027t return to userspace after freezing the fs with a mutex held\n\next4_freeze() used jbd2_journal_lock_updates() which takes\nthe j_barrier mutex, and then returns to userspace.  The\nkernel does not like this:\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\u003d\u003d\u003d\n[ BUG: lock held when returning to user space! ]\n------------------------------------------------\nlvcreate/1075 is leaving the kernel with locks still held!\n1 lock held by lvcreate/1075:\n #0:  (\u0026journal-\u003ej_barrier){+.+...}, at: [\u003cffffffff811c6214\u003e]\njbd2_journal_lock_updates+0xe1/0xf0\n\nUse vfs_check_frozen() added to ext4_journal_start_sb() and\next4_force_commit() instead.\n\nAddresses-Red-Hat-Bugzilla: #568503\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "256a453546f1cf2c29a639c79fe0d603761a8e25",
      "tree": "e9514f94d7a7e549b065f9ee7b08dbbd3da913ec",
      "parents": [
        "42007efd569f1cf3bfb9a61da60ef6c2179508ca"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Sun May 16 02:00:00 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun May 16 02:00:00 2010 -0400"
      },
      "message": "ext4: symlink must be handled via filesystem specific operation\n\ngeneric setattr implementation is no longer responsible for\nquota transfer so synlinks must be handled via ext4_setattr.\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "42007efd569f1cf3bfb9a61da60ef6c2179508ca",
      "tree": "70db30db1fcf756d95db1ef02452e4cb062ebdd4",
      "parents": [
        "35121c9860316d7799cea0fbc359a9186e7c2747"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Sun May 16 01:00:00 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun May 16 01:00:00 2010 -0400"
      },
      "message": "ext4: check s_log_groups_per_flex in online resize code\n\nIf groups_per_flex \u003c 2, sbi-\u003es_flex_groups[] doesn\u0027t get filled out,\nand every other access to this first tests s_log_groups_per_flex;\nsame thing needs to happen in resize or we\u0027ll wander off into\na null pointer when doing an online resize of the file system.\n\nThanks to Christoph Biedl, who came up with the trivial testcase:\n\n# truncate --size 128M fsfile\n# mkfs.ext3 -F fsfile\n# tune2fs -O extents,uninit_bg,dir_index,flex_bg,huge_file,dir_nlink,extra_isize fsfile\n# e2fsck -yDf -C0 fsfile\n# truncate --size 132M fsfile\n# losetup /dev/loop0 fsfile\n# mount /dev/loop0 mnt\n# resize2fs -p /dev/loop0\n\n\thttps://bugzilla.kernel.org/show_bug.cgi?id\u003d13549\n\nReported-by: Alessandro Polverini \u003calex@nibbles.it\u003e\nTest-case-by: Christoph Biedl  \u003cbugzilla.kernel.bpeb@manchmal.in-ulm.de\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "35121c9860316d7799cea0fbc359a9186e7c2747",
      "tree": "6deb327895e42708a491a3b5d7a66b95cfb18003",
      "parents": [
        "b684b2ee9409f2890a8b3aea98525bbe5f84e276"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Sun May 16 00:00:00 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun May 16 00:00:00 2010 -0400"
      },
      "message": "ext4: fix quota accounting in case of fallocate\n\nallocated_meta_data is already included in \u0027used\u0027 variable.\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "b684b2ee9409f2890a8b3aea98525bbe5f84e276",
      "tree": "7b8e2776e542bf0a695b38c2aa09a0b9bbd32c20",
      "parents": [
        "e39e07fdfd98be8650385f12a7b81d6adc547510"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Sat May 15 00:00:00 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat May 15 00:00:00 2010 -0400"
      },
      "message": "ext4: allow defrag (EXT4_IOC_MOVE_EXT) in 32bit compat mode\n\nI have an x86_64 kernel with i386 userspace. e4defrag fails on the\nEXT4_IOC_MOVE_EXT ioctl because it is not wired up for the compat\ncase. It seems that struct move_extent is compat save, only types\nwith fixed widths are used:\n{\n        __u32 reserved;         /* should be zero */\n        __u32 donor_fd;         /* donor file descriptor */\n        __u64 orig_start;       /* logical start offset in block for orig */\n        __u64 donor_start;      /* logical start offset in block for donor */\n        __u64 len;              /* block length to be moved */\n        __u64 moved_len;        /* moved block length */\n};\n\nLets just wire up EXT4_IOC_MOVE_EXT for the compat case.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nCC: Akira Fujita \u003ca-fujita@rs.jp.nec.com\u003e \n"
    },
    {
      "commit": "e39e07fdfd98be8650385f12a7b81d6adc547510",
      "tree": "9d948eab23a943e3c3092f52f1db6cfbd54a51cd",
      "parents": [
        "62e823a2cba18509ee826d775270e8ef9071b5bc"
      ],
      "author": {
        "name": "Jing Zhang",
        "email": "zj.barak@gmail.com",
        "time": "Fri May 14 00:00:00 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri May 14 00:00:00 2010 -0400"
      },
      "message": "ext4: rename ext4_mb_release_desc() to ext4_mb_unload_buddy()\n\nThis function cleans up after ext4_mb_load_buddy(), so the renaming\nmakes the code clearer.\n\nSigned-off-by: Jing Zhang \u003czj.barak@gmail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n\n"
    },
    {
      "commit": "62e823a2cba18509ee826d775270e8ef9071b5bc",
      "tree": "f31bade5a792c962ba4c91b56c248228658fbc2a",
      "parents": [
        "b720303df7352d4a7a1f61e467e0a124913c0d41"
      ],
      "author": {
        "name": "Jing Zhang",
        "email": "zj.barak@gmail.com",
        "time": "Thu May 13 00:00:00 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu May 13 00:00:00 2010 -0400"
      },
      "message": "ext4: Remove unnecessary call to ext4_get_group_desc() in mballoc\n\nSigned-off-by: Jing Zhang \u003czj.barak@gmail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "b720303df7352d4a7a1f61e467e0a124913c0d41",
      "tree": "d0c102111ed28ced2d3a0dbfed987f9b8ed5db37",
      "parents": [
        "c26d0bad3d0e951487e5dee36632dd3817f42b10"
      ],
      "author": {
        "name": "Jing Zhang",
        "email": "zj.barak@gmail.com",
        "time": "Wed May 12 00:00:00 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed May 12 00:00:00 2010 -0400"
      },
      "message": "ext4: fix memory leaks in error path handling of ext4_ext_zeroout()\n\nWhen EIO occurs after bio is submitted, there is no memory free\noperation for bio, which results in memory leakage. And there is also\nno check against bio_alloc() for bio.\n\nAcked-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nSigned-off-by: Jing Zhang \u003czj.barak@gmail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "c26d0bad3d0e951487e5dee36632dd3817f42b10",
      "tree": "2c442a1cc78b875b7d991f0efedc34eaf788b3ee",
      "parents": [
        "0671e704658b9f26f85e78d51176daa861f955c7"
      ],
      "author": {
        "name": "Steven Liu",
        "email": "lingjiujianke@gmail.com",
        "time": "Tue May 11 00:00:00 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue May 11 00:00:00 2010 -0400"
      },
      "message": "ext4: Fix coding style in fs/ext4/move_extent.c\n\nMaking sure ee_block is initialized to zero to prevent gcc from\nkvetching.  It\u0027s harmless (although it\u0027s not obvious that it\u0027s\nharmless) from code inspection:\n\nfs/ext4/move_extent.c:478: warning: \u0027start_ext.ee_block\u0027 may be used\nuninitialized in this function\n\nThanks to Stefan Richter for first bringing this to the attention of\nlinux-ext4@vger.kernel.org.\n\nSigned-off-by: LiuQi \u003clingjiujianke@gmail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "0671e704658b9f26f85e78d51176daa861f955c7",
      "tree": "412b4ec94b565eabaab74312c5b7fd04341a6d4f",
      "parents": [
        "b57f95a38233a2e73b679bea4a5453a1cc2a1cc9"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Mon May 10 00:00:00 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon May 10 00:00:00 2010 -0400"
      },
      "message": "ext4: check missed return value in ext4_sync_file()\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    }
  ],
  "next": "7407cf355fdf5500430be966dbbde84a27293bad"
}
