)]}'
{
  "log": [
    {
      "commit": "7c955fca3e1d8132982148267d9efcafae849bb6",
      "tree": "dd55cc5fd36e36d5c6150a0e34ec798d03b1327e",
      "parents": [
        "e9688f6acad8cb1f2e8d7abb2de06a6a5c9cbcf2",
        "a4264b3f4049ae7aeeb0017f8158119e22fa354f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 11 14:45:52 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 11 14:45:52 2011 -0800"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6:\n  UDF: Close small mem leak in udf_find_entry()\n  udf: Fix directory corruption after extent merging\n  udf: Protect udf_file_aio_write from possible races\n  udf: Remove unnecessary bkl usages\n  udf: Use of s_alloc_mutex to serialize udf_relocate_blocks() execution\n  udf: Replace bkl with the UDF_I(inode)-\u003ei_data_sem for protect udf_inode_info struct\n  udf: Remove BKL from free space counting functions\n  udf: Call udf_add_free_space() for more blocks at once in udf_free_blocks()\n  udf: Remove BKL from udf_put_super() and udf_remount_fs()\n  udf: Protect default inode credentials by rwlock\n  udf: Protect all modifications of LVID with s_alloc_mutex\n  udf: Move handling of uniqueID into a helper function and protect it by a s_alloc_mutex\n  udf: Remove BKL from udf_update_inode\n  udf: Convert UDF_SB(sb)-\u003es_flags to use bitops\n  fs/udf: Add printf format/argument verification\n  fs/udf: Use vzalloc\n\n(Evil merge: this also removes the BKL dependency from the Kconfig file)\n"
    },
    {
      "commit": "fa0d7e3de6d6fc5004ad9dea0dd6b286af8f03e9",
      "tree": "203e0f73883e4c26b5597e36042386a1237dab35",
      "parents": [
        "77812a1ef139d84270d27faacc0630c887411013"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:49 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:26 2011 +1100"
      },
      "message": "fs: icache RCU free inodes\n\nRCU free the struct inode. This will allow:\n\n- Subsequent store-free path walking patch. The inode must be consulted for\n  permissions when walking, so an RCU inode reference is a must.\n- sb_inode_list_lock to be moved inside i_lock because sb list walkers who want\n  to take i_lock no longer need to take sb_inode_list_lock to walk the list in\n  the first place. This will simplify and optimize locking.\n- Could remove some nested trylock loops in dcache code\n- Could potentially simplify things a bit in VM land. Do not need to take the\n  page lock to follow page-\u003emapping.\n\nThe downsides of this is the performance cost of using RCU. In a simple\ncreat/unlink microbenchmark, performance drops by about 10% due to inability to\nreuse cache-hot slab objects. As iterations increase and RCU freeing starts\nkicking over, this increases to about 20%.\n\nIn cases where inode lifetimes are longer (ie. many inodes may be allocated\nduring the average life span of a single inode), a lot of this cache reuse is\nnot applicable, so the regression caused by this patch is smaller.\n\nThe cache-hot regression could largely be avoided by using SLAB_DESTROY_BY_RCU,\nhowever this adds some complexity to list walking and store-free path walking,\nso I prefer to implement this at a later date, if it is shown to be a win in\nreal situations. I haven\u0027t found a regression in any non-micro benchmark so I\ndoubt it will be a problem.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "a4264b3f4049ae7aeeb0017f8158119e22fa354f",
      "tree": "51d24bb133431b9bc1effb1067436b6e786f2274",
      "parents": [
        "4651c5900e7a3c84d4b70412f8bbc40c1bcb50cf"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Sun Dec 12 23:18:15 2010 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Jan 06 17:53:53 2011 +0100"
      },
      "message": "UDF: Close small mem leak in udf_find_entry()\n\nHi,\n\nThere\u0027s a small memory leak in fs/udf/namei.c::udf_find_entry().\n\nWe dynamically allocate memory for \u0027fname\u0027 with kmalloc() and in most\nsituations we free it before we leave the function, but there is one\nsituation where we do not (but should). This patch closes the leak by\njumping to the \u0027out_ok\u0027 label which does the correct cleanup rather than\ndoing half the cleanup and returning directly.\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "4651c5900e7a3c84d4b70412f8bbc40c1bcb50cf",
      "tree": "bba6310572481952bb03079909712bf664a054fc",
      "parents": [
        "8754a3f718f08dc21b3c5eccd044f612d4bc1ab1"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Nov 25 03:56:24 2010 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Jan 06 17:03:57 2011 +0100"
      },
      "message": "udf: Fix directory corruption after extent merging\n\nIf udf_bread() called from udf_add_entry() managed to merge created extent to\nan already existing one (or if previous extents could be merged), the code\ntruncating the last extent to proper size would just overwrite the freshly\nallocated extent with an extent that used to be in that place.  This obviously\nresults in a directory corruption. Fix the problem by properly reloading the\nlast extent.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "8754a3f718f08dc21b3c5eccd044f612d4bc1ab1",
      "tree": "40d2b8af8e64f9041f19e8d93df0ab81e6b8054e",
      "parents": [
        "9db9f9e31d7661dff35a75ed01ff9fc0d6acdaf8"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Nov 16 14:33:48 2010 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Jan 06 17:03:57 2011 +0100"
      },
      "message": "udf: Protect udf_file_aio_write from possible races\n\nCode doing conversion from INICB file to a normal file in udf_file_aio_write()\nis not protected by any lock from other code modifying the inode. Use\ni_alloc_sem for that.\n\nReported-by: Alessio Igor Bogani \u003cabogani@texware.it\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "9db9f9e31d7661dff35a75ed01ff9fc0d6acdaf8",
      "tree": "8e95c6f73b86b6f9e2089f61c9c964f44f08558a",
      "parents": [
        "7db09be629033b79792a1bf18f505f5f15914395"
      ],
      "author": {
        "name": "Alessio Igor Bogani",
        "email": "abogani@texware.it",
        "time": "Tue Nov 16 18:40:49 2010 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Jan 06 17:03:57 2011 +0100"
      },
      "message": "udf: Remove unnecessary bkl usages\n\nThe udf_readdir(), udf_lookup(), udf_create(), udf_mknod(), udf_mkdir(),\nudf_rmdir(), udf_link(), udf_get_parent() and udf_unlink() seems already\nadequately protected by i_mutex held by VFS invoking calls. The udf_rename()\ninstead should be already protected by lock_rename again by VFS. The\nudf_ioctl(), udf_fill_super() and udf_evict_inode() don\u0027t requires any further\nprotection.\n\nThis work was supported by a hardware donation from the CE Linux Forum.\n\nSigned-off-by: Alessio Igor Bogani \u003cabogani@texware.it\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "7db09be629033b79792a1bf18f505f5f15914395",
      "tree": "0302e8f2ae6090d5a47a66f0312413465d383321",
      "parents": [
        "4d0fb621d35007c19a396f2bb629e5aeaacef2d0"
      ],
      "author": {
        "name": "Alessio Igor Bogani",
        "email": "abogani@texware.it",
        "time": "Tue Nov 16 18:40:48 2010 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Jan 06 17:03:56 2011 +0100"
      },
      "message": "udf: Use of s_alloc_mutex to serialize udf_relocate_blocks() execution\n\nThis work was supported by a hardware donation from the CE Linux Forum.\n\nSigned-off-by: Alessio Igor Bogani \u003cabogani@texware.it\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "4d0fb621d35007c19a396f2bb629e5aeaacef2d0",
      "tree": "92f6e0d3c38c15b0af507bd4b6d3353e34a337a9",
      "parents": [
        "d1668fe390c1e84580575965684a8fa7e4626dee"
      ],
      "author": {
        "name": "Alessio Igor Bogani",
        "email": "abogani@texware.it",
        "time": "Tue Nov 16 18:40:47 2010 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Jan 06 17:03:56 2011 +0100"
      },
      "message": "udf: Replace bkl with the UDF_I(inode)-\u003ei_data_sem for protect udf_inode_info struct\n\nReplace bkl with the UDF_I(inode)-\u003ei_data_sem rw semaphore in\nudf_release_file(), udf_symlink(), udf_symlink_filler(), udf_get_block(),\nudf_block_map(), and udf_setattr(). The rule now is that any operation\non regular file\u0027s or symlink\u0027s extents (or generally allocation information\nincluding goal block) needs to hold i_data_sem.\n\nThis work was supported by a hardware donation from the CE Linux Forum.\n\nSigned-off-by: Alessio Igor Bogani \u003cabogani@texware.it\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "d1668fe390c1e84580575965684a8fa7e4626dee",
      "tree": "36e1b6720a0f8f4910339a9ba188c49bfa4c191c",
      "parents": [
        "7abc2e45e48ca04206949682402d5d55bc64a16b"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Oct 20 23:24:12 2010 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Jan 06 17:03:56 2011 +0100"
      },
      "message": "udf: Remove BKL from free space counting functions\n\nudf_count_free_bitmap() does not need BKL because bitmaps are in a fixed\nplace on disk and so we can count set bits without serialization.\nudf_count_free_table() is now protected by s_alloc_mutex instead of BKL\nto get a consistent view of free space extents.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "7abc2e45e48ca04206949682402d5d55bc64a16b",
      "tree": "9ef57aea07cb8c14b21f3849c8335b116967a42e",
      "parents": [
        "0484b1cedc053cf88a046da5f08bc00747e533cb"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Oct 20 22:32:02 2010 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Jan 06 17:03:56 2011 +0100"
      },
      "message": "udf: Call udf_add_free_space() for more blocks at once in udf_free_blocks()\n\nThere\u0027s no need to call udf_add_free_space() for one block at a time. It saves\nus noticeable amount of work and yields different result from the original\ncode only if the filesystem is corrupted and bitmap bit is already cleared.\nIn such case counter of free blocks is probably wrong anyways so the change\ndoes not matter.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "0484b1cedc053cf88a046da5f08bc00747e533cb",
      "tree": "2847245e7ff7d0053ccbf65c9e6c07794b439fe4",
      "parents": [
        "c03cad241af63445b751781a09faf08b3a5b77c1"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Oct 20 22:22:57 2010 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Jan 06 17:03:55 2011 +0100"
      },
      "message": "udf: Remove BKL from udf_put_super() and udf_remount_fs()\n\nudf_put_super() does not need BKL because the filesystem is shut down so\nthere\u0027s nothing to race with. The credential changes in udf_remount_fs()\nand LVID changes are now protected by dedicated locks so we can remove BKL\nfrom this function as well.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "c03cad241af63445b751781a09faf08b3a5b77c1",
      "tree": "2e6f329259d442c23829c218a21977bbd6a5d248",
      "parents": [
        "949f4a7c08bc4a050eae7aeeac3e6d019d1feafb"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Oct 20 22:17:28 2010 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Jan 06 17:03:55 2011 +0100"
      },
      "message": "udf: Protect default inode credentials by rwlock\n\nSuperblock carries credentials (uid, gid, etc.) which are used as default\nvalues in __udf_read_inode() when media does not provide these. These\ncredentials can change during remount so we protect them by a rwlock so that\neach inode gets a consistent set of credentials.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "949f4a7c08bc4a050eae7aeeac3e6d019d1feafb",
      "tree": "c017198a51ce2404c119fbe5bd8f497154efb0bc",
      "parents": [
        "d664b6af609ecf5e7dcedf92f0bf188e3a29b3e0"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Oct 20 18:49:20 2010 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Jan 06 17:03:55 2011 +0100"
      },
      "message": "udf: Protect all modifications of LVID with s_alloc_mutex\n\nudf_open_lvid() and udf_close_lvid() were modifying LVID without\ns_alloc_mutex. Since they can be called from remount, the modification\ncould race with other filesystem modifications of LVID so protect them\nby s_alloc_mutex just to be sure.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "d664b6af609ecf5e7dcedf92f0bf188e3a29b3e0",
      "tree": "865eb1db44abdceefea52e46117af61051b610e8",
      "parents": [
        "49521de119d326d04fb3736ab827e12e1de966d0"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Oct 20 18:28:46 2010 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Jan 06 17:03:55 2011 +0100"
      },
      "message": "udf: Move handling of uniqueID into a helper function and protect it by a s_alloc_mutex\n\nuniqueID handling has been duplicated in three places. Move it into a common\nhelper. Since we modify an LVID buffer with uniqueID update, we take\nsbi-\u003es_alloc_mutex to protect agaist other modifications of the structure.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "49521de119d326d04fb3736ab827e12e1de966d0",
      "tree": "a57de8b903d2f6b43b8ec689b617ba2dc333e98e",
      "parents": [
        "f2a6cc1f146465e13f31d9163d542d1facf4e203"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Oct 20 17:42:44 2010 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Jan 06 17:03:54 2011 +0100"
      },
      "message": "udf: Remove BKL from udf_update_inode\n\nudf_update_inode() does not need BKL since on-disk inode modifications are\nprotected by the buffer lock and reading of values of in-memory inode is\nsafe without any lock. In some cases we can write inconsistent inode state\nto disk but in that case inode will be marked dirty and overwritten later.\n\nAlso make unnecessarily global udf_sync_inode() static.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "f2a6cc1f146465e13f31d9163d542d1facf4e203",
      "tree": "85dd319f9a1ebef0a33114392b5dbfa2f39b3aeb",
      "parents": [
        "fab3c8581fc49998f8d0d349b70813d9712fb405"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Oct 20 17:25:59 2010 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Jan 06 17:03:54 2011 +0100"
      },
      "message": "udf: Convert UDF_SB(sb)-\u003es_flags to use bitops\n\nUse atomic bitops to manipulate with sb flags to make manipulation safe\nwithout any locking.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "fab3c8581fc49998f8d0d349b70813d9712fb405",
      "tree": "12d50f6e7978a530787d4fb289988dd88adf5337",
      "parents": [
        "ed2ae6f69148dcf9da725364e17184f27ba04dc2"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Wed Nov 10 15:46:18 2010 -0800"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Jan 06 17:03:54 2011 +0100"
      },
      "message": "fs/udf: Add printf format/argument verification\n\nAdd __attribute__((format... to udf_warning.\n\nAll arguments matched formats, no other changes necessary.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "ed2ae6f69148dcf9da725364e17184f27ba04dc2",
      "tree": "7ae6827263e48d41916d156c8bd7cdd3b85771a8",
      "parents": [
        "3c0eee3fe6a3a1c745379547c7e7c904aa64f6d5"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Thu Nov 04 20:08:04 2010 -0700"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Jan 06 17:03:53 2011 +0100"
      },
      "message": "fs/udf: Use vzalloc\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "152a08366671080f27b32e0c411ad620c5f88b57",
      "tree": "d13d16028f74839c678bce355ba8aac75d939fa8",
      "parents": [
        "c96e41e92b4aaf11e1f9775ecf0d1c8cbff829ed"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 25 00:46:55 2010 +0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Oct 29 04:16:13 2010 -0400"
      },
      "message": "new helper: mount_bdev()\n\n... and switch of the obvious get_sb_bdev() users to -\u003emount()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7de9c6ee3ecffd99e1628e81a5ea5468f7581a1f",
      "tree": "88787e77ba8a253d0a26aeda4bd5e58532d592e0",
      "parents": [
        "646ec4615cd05972581c9c5342ed7a1e77df17bb"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Oct 23 11:11:40 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Oct 25 21:26:11 2010 -0400"
      },
      "message": "new helper: ihold()\n\nClones an existing reference to inode; caller must already hold one.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "79f14b7c56d3b3ba58f8b43d1f70b9b71477a800",
      "tree": "3bb53b7806c1baba6cc24b91724a9264cceccd39",
      "parents": [
        "c37927d4359e81b85de644f8fb08878717cf5f3f",
        "6d7bccc2215c37205ede6c9cf84db64e7c4f9443"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 10:52:01 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 10:52:01 2010 -0700"
      },
      "message": "Merge branch \u0027vfs\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl\n\n* \u0027vfs\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl: (30 commits)\n  BKL: remove BKL from freevxfs\n  BKL: remove BKL from qnx4\n  autofs4: Only declare function when CONFIG_COMPAT is defined\n  autofs: Only declare function when CONFIG_COMPAT is defined\n  ncpfs: Lock socket in ncpfs while setting its callbacks\n  fs/locks.c: prepare for BKL removal\n  BKL: Remove BKL from ncpfs\n  BKL: Remove BKL from OCFS2\n  BKL: Remove BKL from squashfs\n  BKL: Remove BKL from jffs2\n  BKL: Remove BKL from ecryptfs\n  BKL: Remove BKL from afs\n  BKL: Remove BKL from USB gadgetfs\n  BKL: Remove BKL from autofs4\n  BKL: Remove BKL from isofs\n  BKL: Remove BKL from fat\n  BKL: Remove BKL from ext2 filesystem\n  BKL: Remove BKL from do_new_mount()\n  BKL: Remove BKL from cgroup\n  BKL: Remove BKL from NTFS\n  ...\n"
    },
    {
      "commit": "6de5bd128d381ad88ac6d419a5e597048eb468cf",
      "tree": "7b3a0440f645c6e98367a87b1ca0ed1e0df204dd",
      "parents": [
        "7ff52efdca367d4bfe2449bd3d4a1f8172c5953a"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Sat Sep 11 18:00:57 2010 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Thu Oct 21 15:44:13 2010 +0200"
      },
      "message": "BKL: introduce CONFIG_BKL.\n\nWith all the patches we have queued in the BKL removal tree, only a\nfew dozen modules are left that actually rely on the BKL, and even\nthere are lots of low-hanging fruit. We need to decide what to do\nabout them, this patch illustrates one of the options:\n\nEvery user of the BKL is marked as \u0027depends on BKL\u0027 in Kconfig,\nand the CONFIG_BKL becomes a user-visible option. If it gets\ndisabled, no BKL using module can be built any more and the BKL\ncode itself is compiled out.\n\nThe one exception is file locking, which is practically always\nenabled and does a \u0027select BKL\u0027 instead. This effectively forces\nCONFIG_BKL to be enabled until we have solved the fs/lockd\nmess and can apply the patch that removes the BKL from fs/locks.c.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\n"
    },
    {
      "commit": "db71922217a214e5c9268448e537b54fc1f301ea",
      "tree": "9c9afbf29411547891f6968e5ade29ce59d66c07",
      "parents": [
        "899611ee7d373e5eeda08e9a8632684e1ebbbf00"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@infradead.org",
        "time": "Sun Aug 15 22:51:10 2010 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Mon Oct 04 21:10:10 2010 +0200"
      },
      "message": "BKL: Explicitly add BKL around get_sb/fill_super\n\nThis patch is a preparation necessary to remove the BKL from do_new_mount().\nIt explicitly adds calls to lock_kernel()/unlock_kernel() around\nget_sb/fill_super operations for filesystems that still uses the BKL.\n\nI\u0027ve read through all the code formerly covered by the BKL inside\ndo_kern_mount() and have satisfied myself that it doesn\u0027t need the BKL\nany more.\n\ndo_kern_mount() is already called without the BKL when mounting the rootfs\nand in nfsctl. do_kern_mount() calls vfs_kern_mount(), which is called\nfrom various places without BKL: simple_pin_fs(), nfs_do_clone_mount()\nthrough nfs_follow_mountpoint(), afs_mntpt_do_automount() through\nafs_mntpt_follow_link(). Both later functions are actually the filesystems\nfollow_link inode operation. vfs_kern_mount() is calling the specified\nget_sb function and lets the filesystem do its job by calling the given\nfill_super function.\n\nTherefore I think it is safe to push down the BKL from the VFS to the\nlow-level filesystems get_sb/fill_super operation.\n\n[arnd: do not add the BKL to those file systems that already\n       don\u0027t use it elsewhere]\n\nSigned-off-by: Jan Blunck \u003cjblunck@infradead.org\u003e\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "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": "3aac2b62e0f345c8a637cf94dc62e9000de9d8b6",
      "tree": "df5db650878c0e6b377fbf861597dc1fecaaa883",
      "parents": [
        "d640e1b50885b5beb61ccacdebf9f3f05ee2119c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 07 00:43:39 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:48:19 2010 -0400"
      },
      "message": "switch udf to -\u003eevict_inode()\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": "d39aae9ec447dda84d9a2850743a78a535a71c90",
      "tree": "e362c3367f093b79482f3034e82b18cd2dc8931a",
      "parents": [
        "155130a4f7848b1aac439cab6bda1a175507c71c"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Jun 04 11:29:59 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:34 2010 -0400"
      },
      "message": "add missing setattr methods\n\nFor the new truncate sequence every filesystem that wants to truncate on-disk\nstate needs a seattr method.  Convert the remaining filesystems that implement\nthe truncate inode operation to have its own setattr method.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "155130a4f7848b1aac439cab6bda1a175507c71c",
      "tree": "5019b14b0a9221b08959196e01e3f9326957d678",
      "parents": [
        "6e1db88d536adcbbfe562b2d4b7d6425784fff12"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Jun 04 11:29:58 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:33 2010 -0400"
      },
      "message": "get rid of block_write_begin_newtrunc\n\nMove the call to vmtruncate to get rid of accessive blocks to the callers\nin preparation of the new truncate sequence and rename the non-truncating\nversion to block_write_begin.\n\nWhile we\u0027re at it also remove several unused arguments 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": "581b7e9fc00789782cb3bdca58db49f6f0f66608",
      "tree": "09760be83f7b3896a161c472083079d0a0964651",
      "parents": [
        "de67445f0e6009fd1e338eda023857b18b16e647"
      ],
      "author": {
        "name": "Justin P. Mattock",
        "email": "justinmattock@gmail.com",
        "time": "Wed Jul 07 21:42:13 2010 -0700"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Aug 02 14:57:40 2010 +0200"
      },
      "message": "udf: super.c Fix warning: variable \u0027sbi\u0027 set but not used\n\nThis fixes this warning when building the kernel:\n  CC      fs/udf/super.o\nfs/udf/super.c: In function \u0027udf_load_sequence\u0027:\nfs/udf/super.c:1582:22: warning: variable \u0027sbi\u0027 set but not used\nPlease have a look, when you have time and let me know.\n\nSigned-off-by: Justin P. Mattock \u003cjustinmattock@gmail.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "de67445f0e6009fd1e338eda023857b18b16e647",
      "tree": "f8c350a99568ee47a3dacb47ce541798ce4a8a7b",
      "parents": [
        "9fe6206f400646a2322096b56c59891d530e8d51"
      ],
      "author": {
        "name": "Huang Weiyi",
        "email": "weiyi.huang@gmail.com",
        "time": "Sun May 23 01:13:09 2010 +0800"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Aug 02 14:57:39 2010 +0200"
      },
      "message": "udf: remove duplicated #include\n\nRemove duplicated #include(\u0027s) in\n  fs/udf/file.c\n\nSigned-off-by: Huang Weiyi \u003cweiyi.huang@gmail.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\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": "ca572727dbb945e443564029a495157fd2e72995",
      "tree": "10486033a428e9389e32cbc78c0da34c644640a1",
      "parents": [
        "b4d878e23c7f574490ee4d6fd59ebd6819781dd1"
      ],
      "author": {
        "name": "jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Wed May 26 14:44:53 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:56 2010 -0700"
      },
      "message": "fs/: do not fallback to default_llseek() when readdir() uses BKL\n\nDo not use the fallback default_llseek() if the readdir operation of the\nfilesystem still uses the big kernel lock.\n\nSince llseek() modifies\nfile-\u003ef_pos of the directory directly it may need locking to not confuse\nreaddir which usually uses file-\u003ef_pos directly as well\n\nSince the special characteristics of the BKL (unlocked on schedule) are\nnot necessary in this case, the inode mutex can be used for locking as\nprovided by generic_file_llseek().  This is only possible since all\nfilesystems, except reiserfs, either use a directory as a flat file or\nwith disk address offsets.  Reiserfs on the other hand uses a 32bit hash\noff the filename as the offset so generic_file_llseek() can get used as\nwell since the hash is always smaller than sb-\u003es_maxbytes (\u003d (512 \u003c\u003c 32) -\nblocksize).\n\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nAcked-by: Anders Larsen \u003cal@alarsen.net\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "36350462814739e1f38cba59a6900ebadb08d3bb",
      "tree": "09c1f17c5a264a50028a1ea25f3fd681734d2058",
      "parents": [
        "287a80958cf63fc5c68d5bf6e89a3669dd66234a"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed May 19 16:28:56 2010 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon May 24 14:10:19 2010 +0200"
      },
      "message": "udf: Remove dead quota code\n\nQuota on UDF is non-functional at least since 2.6.16 (I\u0027m too lazy to\ndo more archeology) because it does not provide .quota_write and .quota_read\nfunctions and thus quotaon(8) just returns EINVAL. Since nobody complained\nfor all those years and quota support is not even in UDF standard just nuke\nit.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\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": "123e9caf1e85008ab7eb5f6cd58c44f9a5d73b2b",
      "tree": "a7a49a9aabb2136e8d19a3d86096bb525a16e0b9",
      "parents": [
        "307ae18a56e5b706056a2050d52e8cc01b5171c0"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed May 19 07:16:44 2010 -0400"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon May 24 14:10:17 2010 +0200"
      },
      "message": "quota: explicitly set -\u003edq_op and -\u003es_qcop\n\nOnly set the quota operation vectors if the filesystem actually supports\nquota instead of doing it for all filesystems in alloc_super().\n\n[Jan Kara: Export dquot_operations and vfs_quotactl_ops]\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": "a6c5a0342a95f9c7cf18adef79ca52a35cd5e4da",
      "tree": "b653744e21077ebaf8ea0d7d9deff828e30d42de",
      "parents": [
        "abf5d08acaca942b49daf0ed87a9deddc94b183a"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Thu Mar 04 17:32:22 2010 +0300"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri May 21 18:31:27 2010 -0400"
      },
      "message": "udf: replace inode uid,gid,mode init with helper\n\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d515e86e639890b33a09390d062b0831664f04a2",
      "tree": "37aea609704ce28ad44840279b95725e07c19a43",
      "parents": [
        "79c4581262e225a7c96d88b632b05ab3b5e9a52c",
        "2f07a88b30f510c7625d75cdf286903b465350a0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 21 11:17:43 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 21 11:17:43 2010 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6:\n  udf: BKL ioctl pushdown\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": "2f07a88b30f510c7625d75cdf286903b465350a0",
      "tree": "5869affff304e0090e1aa59f94b77e183f278eb3",
      "parents": [
        "7ebd467551ed6ae200d7835a84bbda0dcadaa511"
      ],
      "author": {
        "name": "John Kacur",
        "email": "jkacur@redhat.com",
        "time": "Wed May 05 15:15:39 2010 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed May 05 16:36:17 2010 +0200"
      },
      "message": "udf: BKL ioctl pushdown\n\nConvert udf_ioctl to an unlocked_ioctl and push the BKL down into it.\n\nSigned-off-by: John Kacur \u003cjkacur@redhat.com\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "c15d0fc0fc399d2639240b35ad7ed93ed5a59412",
      "tree": "a9f9f24d5ab9d48cb32ee3debe1eb29a65677185",
      "parents": [
        "69ecbbedac8e353bbd924fad16fed0c7c54e6382"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Mon Mar 29 11:05:21 2010 +0400"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Apr 08 15:35:20 2010 +0200"
      },
      "message": "udf: add speciffic -\u003esetattr callback\n\ngeneric setattr not longer responsible for quota transfer.\nuse udf_setattr for all udf\u0027s inodes.\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "69ecbbedac8e353bbd924fad16fed0c7c54e6382",
      "tree": "f008c3ad0750585ea3d403718251922f215cb626",
      "parents": [
        "0fdf86754f70e813845af4abaa805165ce57a0bb"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Mon Mar 15 11:21:13 2010 +0300"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Apr 08 15:35:20 2010 +0200"
      },
      "message": "udf: potential integer overflow\n\nbloc-\u003elogicalBlockNum is unsigned so it\u0027s never less than zero.\n\nWhen I saw that, it made me worry that \"bloc-\u003elogicalBlockNum + count\"\ncould overflow.  That\u0027s why I changed the check for less than zero\nto an overflow check.  (The test works because \"count\" is also\nunsigned.)\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "83c0fb6500b13c9b7564fe453b76356dc58415d4",
      "tree": "fe4c449dabb67da76ea1f6045f490c044327a46b",
      "parents": [
        "11bfe2ea732c6499c46c4f3a63d567c05b9dbafd",
        "3a065fcf9efed42ba736da7be528f2d3dec4965a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 16:22:50 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 16:22:50 2010 -0800"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6:\n  udf: use ext2_find_next_bit\n  udf: Do not read inode before writing it\n  udf: Fix unalloc space handling in udf_update_inode\n"
    },
    {
      "commit": "3a065fcf9efed42ba736da7be528f2d3dec4965a",
      "tree": "6c80bb32e7dfa546e2f4759929b3c1fd04462fdb",
      "parents": [
        "5833ded9b6d783b8446349bada08f0f5e4227895"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Tue Feb 23 23:11:13 2010 +0900"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Mar 09 17:15:18 2010 +0100"
      },
      "message": "udf: use ext2_find_next_bit\n\nUse ext2_find_next_bit (generic_find_next_le_bit) to find the set bit\nin little endian bitmap region.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "5833ded9b6d783b8446349bada08f0f5e4227895",
      "tree": "6f86b88c0c446b4c62cd38b8cd9f4432331216f6",
      "parents": [
        "aae917cd188f397e9223001d9f6c0adfb339fd64"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Jan 08 16:52:59 2010 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Mar 09 17:15:17 2010 +0100"
      },
      "message": "udf: Do not read inode before writing it\n\nWe needlessly read inode in udf_update_inode just before zeroing out the\ncontents of the buffer. Fix it.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "aae917cd188f397e9223001d9f6c0adfb339fd64",
      "tree": "7185f5f0b984145c1511ae657487e68504f185a7",
      "parents": [
        "57d54889cd00db2752994b389ba714138652e60c"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Jan 08 16:46:29 2010 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Mar 09 17:15:17 2010 +0100"
      },
      "message": "udf: Fix unalloc space handling in udf_update_inode\n\nWriting of inode holding unallocated space info was broken because we first\ncleared the buffer and after that checked whether it contains a tag meaning the\nblock holds unallocated space information.  Fix the problem by checking\nappropriate in memory flag instead.\n\nAlso cleanup the function a bit along the way - most importantly lock buffer\nwhen modifying its contents, check for buffer_write_io_error instead of\n!buffer_uptodate, etc..\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "318ae2edc3b29216abd8a2510f3f80b764f06858",
      "tree": "ce595adde342f57f379d277b25e4dd206988a052",
      "parents": [
        "25cf84cf377c0aae5dbcf937ea89bc7893db5176",
        "3e58974027b04e84f68b964ef368a6cd758e2f84"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Mar 08 16:55:37 2010 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Mar 08 16:55:37 2010 +0100"
      },
      "message": "Merge branch \u0027for-next\u0027 into for-linus\n\nConflicts:\n\tDocumentation/filesystems/proc.txt\n\tarch/arm/mach-u300/include/mach/debug-macro.S\n\tdrivers/net/qlge/qlge_ethtool.c\n\tdrivers/net/qlge/qlge_main.c\n\tdrivers/net/typhoon.c\n"
    },
    {
      "commit": "e213e26ab3988c516c06eba4dcd030ac052f6dc9",
      "tree": "6e26fbdbb842b387697d73daf6e70cf718269a77",
      "parents": [
        "c812a51d11bbe983f4c24e32b59b265705ddd3c2",
        "efd8f0e6f6c1faa041f228d7113bd3a9db802d49"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 05 13:20:53 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 05 13:20:53 2010 -0800"
      },
      "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: (33 commits)\n  quota: stop using QUOTA_OK / NO_QUOTA\n  dquot: cleanup dquot initialize routine\n  dquot: move dquot initialization responsibility into the filesystem\n  dquot: cleanup dquot drop routine\n  dquot: move dquot drop responsibility into the filesystem\n  dquot: cleanup dquot transfer routine\n  dquot: move dquot transfer responsibility into the filesystem\n  dquot: cleanup inode allocation / freeing routines\n  dquot: cleanup space allocation / freeing routines\n  ext3: add writepage sanity checks\n  ext3: Truncate allocated blocks if direct IO write fails to update i_size\n  quota: Properly invalidate caches even for filesystems with blocksize \u003c pagesize\n  quota: generalize quota transfer interface\n  quota: sb_quota state flags cleanup\n  jbd: Delay discarding buffers in journal_unmap_buffer\n  ext3: quota_write cross block boundary behaviour\n  quota: drop permission checks from xfs_fs_set_xstate/xfs_fs_set_xquota\n  quota: split out compat_sys_quotactl support from quota.c\n  quota: split out netlink notification support from quota.c\n  quota: remove invalid optimization from quota_sync_all\n  ...\n\nFixed trivial conflicts in fs/namei.c and fs/ufs/inode.c\n"
    },
    {
      "commit": "a9185b41a4f84971b930c519f0c63bd450c4810d",
      "tree": "268cf4e206cca12fb9e1dd68984e7c190e465b46",
      "parents": [
        "26821ed40b4230259e770c9911180f38fcaa6f59"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Mar 05 09:21:37 2010 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 05 13:25:52 2010 -0500"
      },
      "message": "pass writeback_control to -\u003ewrite_inode\n\nThis gives the filesystem more information about the writeback that\nis happening.  Trond requested this for the NFS unstable write handling,\nand other filesystems might benefit from this too by beeing able to\ndistinguish between the different callers in more detail.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "871a293155a24554e153538d36e3a80fa169aefb",
      "tree": "7e38f5a2f9e87f63cbc4bc1077a4bb49dde441b0",
      "parents": [
        "907f4554e2521cb28b0009d17167760650a9561c"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Mar 03 09:05:07 2010 -0500"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Mar 05 00:20:30 2010 +0100"
      },
      "message": "dquot: cleanup dquot initialize routine\n\nGet rid of the initialize dquot operation - it is now always called from\nthe filesystem and if a filesystem really needs it\u0027s own (which none\ncurrently does) it can just call into it\u0027s own routine directly.\n\nRename the now static low-level dquot_initialize helper to __dquot_initialize\nand vfs_dq_init to dquot_initialize to have a consistent namespace.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "907f4554e2521cb28b0009d17167760650a9561c",
      "tree": "68dc49163fd34331f8efbd63592c8f1baa387031",
      "parents": [
        "9f7547580263d4a55efe06ce5cfd567f568be6e8"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Mar 03 09:05:06 2010 -0500"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Mar 05 00:20:30 2010 +0100"
      },
      "message": "dquot: move dquot initialization responsibility into the filesystem\n\nCurrently various places in the VFS call vfs_dq_init directly.  This means\nwe tie the quota code into the VFS.  Get rid of that and make the\nfilesystem responsible for the initialization.   For most metadata operations\nthis is a straight forward move into the methods, but for truncate and\nopen it\u0027s a bit more complicated.\n\nFor truncate we currently only call vfs_dq_init for the sys_truncate case\nbecause open already takes care of it for ftruncate and open(O_TRUNC) - the\nnew code causes an additional vfs_dq_init for those which is harmless.\n\nFor open the initialization is moved from do_filp_open into the open method,\nwhich means it happens slightly earlier now, and only for regular files.\nThe latter is fine because we don\u0027t need to initialize it for operations\non special files, and we already do it as part of the namespace operations\nfor directories.\n\nAdd a dquot_file_open helper that filesystems that support generic quotas\ncan use to fill in -\u003eopen.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "9f7547580263d4a55efe06ce5cfd567f568be6e8",
      "tree": "6f926a075eeed815d0a6680c06f235da0e5ea6d9",
      "parents": [
        "257ba15cedf1288f0c96118d7e63947231d27278"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Mar 03 09:05:05 2010 -0500"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Mar 05 00:20:30 2010 +0100"
      },
      "message": "dquot: cleanup dquot drop routine\n\nGet rid of the drop dquot operation - it is now always called from\nthe filesystem and if a filesystem really needs it\u0027s own (which none\ncurrently does) it can just call into it\u0027s own routine directly.\n\nRename the now static low-level dquot_drop helper to __dquot_drop\nand vfs_dq_drop to dquot_drop to have a consistent namespace.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "257ba15cedf1288f0c96118d7e63947231d27278",
      "tree": "7a977a0ea08a324ce74aedce19406cb0688f15e2",
      "parents": [
        "b43fa8284d7790d9cca32c9c55e24f29be2fa33b"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Mar 03 09:05:04 2010 -0500"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Mar 05 00:20:29 2010 +0100"
      },
      "message": "dquot: move dquot drop responsibility into the filesystem\n\nCurrently clear_inode calls vfs_dq_drop directly.  This means\nwe tie the quota code into the VFS.  Get rid of that and make the\nfilesystem responsible for the drop inside the -\u003eclear_inode\nsuperblock operation.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "b43fa8284d7790d9cca32c9c55e24f29be2fa33b",
      "tree": "acb7f205fe2a1ae324e0e11c50f43baaa6b8dfab",
      "parents": [
        "759bfee658beab14af7b357156461d0eb852be2c"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Mar 03 09:05:03 2010 -0500"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Mar 05 00:20:29 2010 +0100"
      },
      "message": "dquot: cleanup dquot transfer routine\n\nGet rid of the transfer dquot operation - it is now always called from\nthe filesystem and if a filesystem really needs it\u0027s own (which none\ncurrently does) it can just call into it\u0027s own routine directly.\n\nRename the now static low-level dquot_transfer helper to __dquot_transfer\nand vfs_dq_transfer to dquot_transfer to have a consistent namespace,\nand make the new dquot_transfer return a normal negative errno value\nwhich all callers expect.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "759bfee658beab14af7b357156461d0eb852be2c",
      "tree": "180cdedd004781ee67c30ce89951324d32910067",
      "parents": [
        "63936ddaa16b9486e2d426ed7b09f559a5c60f87"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Mar 03 09:05:02 2010 -0500"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Mar 05 00:20:28 2010 +0100"
      },
      "message": "dquot: move dquot transfer responsibility into the filesystem\n\nCurrently notify_change calls vfs_dq_transfer directly.  This means\nwe tie the quota code into the VFS.  Get rid of that and make the\nfilesystem responsible for the transfer.  Most filesystems already\ndo this, only ufs and udf need the code added, and for jfs it needs to\nbe enabled unconditionally instead of only when ACLs are enabled.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "63936ddaa16b9486e2d426ed7b09f559a5c60f87",
      "tree": "4cb1c4581799e10c26dd71d1a7d420de3c2cfd05",
      "parents": [
        "5dd4056db84387975140ff2568eaa0406f07985e"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Mar 03 09:05:01 2010 -0500"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Mar 05 00:20:28 2010 +0100"
      },
      "message": "dquot: cleanup inode allocation / freeing routines\n\nGet rid of the alloc_inode and free_inode dquot operations - they are\nalways called from the filesystem and if a filesystem really needs\ntheir own (which none currently does) it can just call into it\u0027s\nown routine directly.\n\nAlso get rid of the vfs_dq_alloc/vfs_dq_free wrappers and always\ncall the lowlevel dquot_alloc_inode / dqout_free_inode routines\ndirectly, which now lose the number argument which is always 1.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "5dd4056db84387975140ff2568eaa0406f07985e",
      "tree": "03c26d7f6e3367b167bfeeb1a01654c6619573f4",
      "parents": [
        "49792c806d0bfd53afc789dcdf50dc9bed2c5b83"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Mar 03 09:05:00 2010 -0500"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Mar 05 00:20:28 2010 +0100"
      },
      "message": "dquot: cleanup space allocation / freeing routines\n\nGet rid of the alloc_space, free_space, reserve_space, claim_space and\nrelease_rsv dquot operations - they are always called from the filesystem\nand if a filesystem really needs their own (which none currently does)\nit can just call into it\u0027s own routine directly.\n\nMove shared logic into the common __dquot_alloc_space,\ndquot_claim_space_nodirty and __dquot_free_space low-level methods,\nand rationalize the wrappers around it to move as much as possible\ncode into the common block for CONFIG_QUOTA vs not.  Also rename\nall these helpers to be named dquot_* instead of vfs_dq_*.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "391e8bbd38474b9f85b1f3933394a79ea66fe1e2",
      "tree": "78298556c37ef09f4f87138bc1c391f4f5dee917",
      "parents": [
        "072f98b4637eddcbdf2178fc84f382e2ee522f08"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 31 21:28:48 2010 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 03 14:07:58 2010 -0500"
      },
      "message": "sanitize const/signedness for udf\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1537a3638cbf741d3826c1002026cce487a6bee0",
      "tree": "ccb28bc0cbad64686c7cff704a6e7ee898aff35f",
      "parents": [
        "b5218a87cbe0f01d551b2dae90b54cad8ded72df"
      ],
      "author": {
        "name": "Daniel Mack",
        "email": "daniel@caiaq.de",
        "time": "Fri Jan 29 15:57:49 2010 +0800"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Feb 05 12:22:45 2010 +0100"
      },
      "message": "tree-wide: fix \u0027lenght\u0027 typo in comments and code\n\nSome misspelled occurences of \u0027octet\u0027 and some comments were also fixed\nas I was on it.\n\nSigned-off-by: Daniel Mack \u003cdaniel@caiaq.de\u003e\nCc: Jiri Kosina \u003ctrivial@kernel.org\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nCc: Junio C Hamano \u003cgitster@pobox.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "2c948b3f86e5f0327e2e57858600af6e6f0ae29a",
      "tree": "a40d5fd7a5757d26fc41829e5620b4685bac44e2",
      "parents": [
        "e971b0b9e0dd50d9ceecb67a6a6ab80a80906033"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Dec 03 13:39:28 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Dec 14 21:40:04 2009 +0100"
      },
      "message": "udf: Avoid IO in udf_clear_inode\n\nIt is not very good to do IO in udf_clear_inode. First, VFS does not really\nexpect inode to become dirty there and thus we have to write it ourselves,\nsecond, memory reclaim gets blocked waiting for IO when it does not really\nexpect it, third, the IO pattern (e.g. on umount) resulting from writes in\nudf_clear_inode is bad and it slows down writing a lot.\n\nThe reason why UDF needed to do IO in udf_clear_inode is that UDF standard\nmandates extent length to exactly match inode size. But when we allocate\nextents to a file or directory, we don\u0027t really know what exactly the final\nfile size will be and thus temporarily set it to block boundary and later\ntruncate it to exact length in udf_clear_inode. Now, this is changed to\ntruncate to final file size in udf_release_file for regular files. For\ndirectories and symlinks, we do the truncation at the moment when learn\nwhat the final file size will be.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "e971b0b9e0dd50d9ceecb67a6a6ab80a80906033",
      "tree": "8071837c072662e8d346e04c095a6dc6a4c91b3a",
      "parents": [
        "1fefd086dfd9b9f6d1657b7800a35a50e6a4d9ad"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Nov 30 19:47:55 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Dec 14 21:40:04 2009 +0100"
      },
      "message": "udf: Try harder when looking for VAT inode\n\nSome disks do not contain VAT inode in the last recorded block as required\nby the standard but a few blocks earlier (or the number of recorded blocks\nis wrong). So look for the VAT inode a bit before the end of the media.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "1fefd086dfd9b9f6d1657b7800a35a50e6a4d9ad",
      "tree": "773f91fcd788ee61b25edf1b3234f98dc9d4e575",
      "parents": [
        "f40542532e96dda5506eb76badea322f2ae4731c"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Nov 30 19:47:10 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Dec 14 21:40:04 2009 +0100"
      },
      "message": "udf: Fix compilation with UDFFS_DEBUG enabled\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "cbc8cc33529b0e0e55ae0ff077b8cb0b71d54c7a",
      "tree": "5edace261ca6d707456d1bde03c0bf719ac8a365",
      "parents": [
        "81056dd04465902461b627169c4b4487a11acba1"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Aug 07 00:27:27 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 14 19:13:01 2009 +0200"
      },
      "message": "udf: Fix possible corruption when close races with write\n\nWhen we close a file, we remove preallocated blocks from it. But this\ntruncation was not protected by i_mutex and thus it could have raced with a\nwrite through a different fd and cause crashes or even filesystem corruption.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "81056dd04465902461b627169c4b4487a11acba1",
      "tree": "902b49848f8d2033c24ad78ac5d391bf092091ef",
      "parents": [
        "7c6e3d1aaeb3b25b49510d193000c27037004acb"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Jul 16 18:02:25 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 14 19:13:00 2009 +0200"
      },
      "message": "udf: Perform preallocation only for regular files\n\nSo far we preallocated blocks also for directories but that brings a\nproblem, when to get rid of preallocated blocks we don\u0027t need. So far\nwe removed them in udf_clear_inode() which has a disadvantage that\n1) blocks are unavailable long after writing to a directory finished\n   and thus one can get out of space unnecessarily early\n2) releasing blocks from udf_clear_inode is problematic because VFS\n   does not expect us to redirty inode there and it also slows down\n   memory reclaim.\n\nSo preallocate blocks only for regular files where we can drop preallocation\nin udf_release_file.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "7c6e3d1aaeb3b25b49510d193000c27037004acb",
      "tree": "1d20b31e4e74708812b6bd5821775bbac2eae539",
      "parents": [
        "5891d9dd2a47d38c205115211841a3d82304628f"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Jul 16 17:36:54 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 14 19:13:00 2009 +0200"
      },
      "message": "udf: Remove wrong assignment in udf_symlink\n\nRecomputation of the pointer was wrong (it should have been just increment).\nLuckily, we never use the computed value. Remove it.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "5891d9dd2a47d38c205115211841a3d82304628f",
      "tree": "8ee321785b597895bbd2ed8f47772e3e09f62b07",
      "parents": [
        "0cc6d77e55eca9557bbe41bf2db94b31aa8fcb2a"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Jul 16 17:35:11 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 14 19:13:00 2009 +0200"
      },
      "message": "udf: Remove dead code\n\nRemove code that gets never used.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "4bf17af0dbfe4cf20cb750e22e8e926273e7a7a4",
      "tree": "9d7218df82274d1dd564f3ba06ca8c65a99234c1",
      "parents": [
        "658874f05d040ca96eb5ba9b1c30ce0ff287d762"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Jul 14 19:30:23 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Jul 30 17:28:26 2009 +0200"
      },
      "message": "udf: Fix loading of VAT inode when drive wrongly reports number of recorded blocks\n\nVAT inode is located in the last block recorded block of the medium. When the\ndrive errorneously reports number of recorded blocks, we failed to load the VAT\ninode and thus mount the medium. This patch makes kernel try to read VAT inode\nfrom the last block of the device if it is different from the last recorded\nblock.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "3391faa4f18e4e33666d3d24e90e3086fcf9b922",
      "tree": "ce38d2b0e9653730ec5992767824bbd3073792ee",
      "parents": [
        "24a5d59f3477bcff4c069ff4d0ca9a3e037d0235"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Mon Jun 22 23:12:29 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Jun 24 13:48:28 2009 +0200"
      },
      "message": "udf: remove redundant tests on unsigned\n\nfirst_block and goal are unsigned. When negative they are wrapped and caught by\nthe other test.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "24a5d59f3477bcff4c069ff4d0ca9a3e037d0235",
      "tree": "1520131c701310311b5c253dce5553f4d98281c8",
      "parents": [
        "1d89b30cc9be41af87881682ec82e2c107849dbe"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Jun 18 12:33:16 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Jun 18 12:33:16 2009 +0200"
      },
      "message": "udf: Use device size when drive reported bogus number of written blocks\n\nSome drives report 0 as the number of written blocks when there are some blocks\nrecorded. Use device size in such case so that we can automagically mount such\nmedia.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "90de066443a8632bb42fed0a8216313d7da07aba",
      "tree": "7ee2fb0e0a87fd83cf7cce88e1044293fc438fc0",
      "parents": [
        "a932801543fe74050ebee07fde082234c46b624f"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jun 07 15:40:27 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 11 21:36:13 2009 -0400"
      },
      "message": "switch udf to simple_fsync()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "337eb00a2c3a421999c39c94ce7e33545ee8baa7",
      "tree": "d9b780d095b638b1d8fa23841ff70347cf5daa08",
      "parents": [
        "4195f73d1329e49727bcceb028e58cb38376c2b0"
      ],
      "author": {
        "name": "Alessio Igor Bogani",
        "email": "abogani@texware.it",
        "time": "Tue May 12 15:10:54 2009 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 11 21:36:11 2009 -0400"
      },
      "message": "Push BKL down into -\u003eremount_fs()\n\n[xfs, btrfs, capifs, shmem don\u0027t need BKL, exempt]\n\nSigned-off-by: Alessio Igor Bogani \u003cabogani@texware.it\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6cfd0148425e528b859b26e436b01f23f6926224",
      "tree": "60e3257053554ff198fe5825e6f12a00c3b4422a",
      "parents": [
        "a9e220f8322e2b0e0b8903fe00265461cffad3f0"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue May 05 15:40:36 2009 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 11 21:36:07 2009 -0400"
      },
      "message": "push BKL down into -\u003eput_super\n\nMove BKL into -\u003eput_super from the only caller.  A couple of\nfilesystems had trivial enough -\u003eput_super (only kfree and NULLing of\ns_fs_info + stuff in there) to not get any locking: coda, cramfs, efs,\nhugetlbfs, omfs, qnx4, shmem, all others got the full treatment.  Most\nof them probably don\u0027t need it, but I\u0027d rather sort that out individually.\nPreferably after all the other BKL pushdowns in that area.\n\n[AV: original used to move lock_super() down as well; these changes are\nremoved since we don\u0027t do lock_super() at all in generic_shutdown_super()\nnow]\n[AV: fuse, btrfs and xfs are known to need no damn BKL, exempt]\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e1defc4ff0cf57aca6c5e3ff99fa503f5943c1f1",
      "tree": "d60d15a082171c58ac811d547d51a9c3119f23e3",
      "parents": [
        "9bd7de51ee8537094656149eaf45338cadb7d7d4"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Fri May 22 17:17:49 2009 -0400"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri May 22 23:22:54 2009 +0200"
      },
      "message": "block: Do away with the notion of hardsect_size\n\nUntil now we have had a 1:1 mapping between storage device physical\nblock size and the logical block sized used when addressing the device.\nWith SATA 4KB drives coming out that will no longer be the case.  The\nsector size will be 4KB but the logical block size will remain\n512-bytes.  Hence we need to distinguish between the physical block size\nand the logical ditto.\n\nThis patch renames hardsect_size to logical_block_size.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "146bca72c7e6ba52de82a63b1fce7934dc103dbc",
      "tree": "fee0aff001a5d5226518f0b67232f083f0931209",
      "parents": [
        "40346005166329bc4b53e0c564aff3968c1ddaa0"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Mar 16 18:27:37 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Apr 02 13:36:28 2009 +0200"
      },
      "message": "udf: Don\u0027t write integrity descriptor too often\n\nWe update information in logical volume integrity descriptor after each\nallocation (as LVID contains free space, number of directories and files on\ndisk etc.). If the filesystem is on some phase change media, this leads to its\nquick degradation as such media is able to handle only 10000 overwrites or so.\nWe solve the problem by writing new information into LVID only on umount,\nremount-ro and sync. This solves the problem at the price of longer media\ninconsistency (previously media became consistent after pdflush flushed dirty\nLVID buffer) but that should be acceptable.\n\nReport by and patch written in cooperation with\nRich Coe \u003cRichard.Coe@med.ge.com\u003e.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "40346005166329bc4b53e0c564aff3968c1ddaa0",
      "tree": "af6440a2aeff69ed6cccd93c663eb564e7cf6411",
      "parents": [
        "225feded89d447c2ab76e38e67ef56860c5bb60f"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Mar 19 16:21:38 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Apr 02 12:29:56 2009 +0200"
      },
      "message": "udf: Try anchor in block 256 first\n\nAnchor block can be located at several places on the medium. Two of the\nlocations are relative to media end which is problematic to detect. Also\nsome drives report some block as last but are not able to read it or any\nblock nearby before it. So let\u0027s first try block 256 and if it is all fine,\ndon\u0027t look at other possible locations of anchor blocks to avoid IO errors.\nThis change required a larger reorganization of code but the new code is\nhopefully more readable and definitely shorter.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "225feded89d447c2ab76e38e67ef56860c5bb60f",
      "tree": "f804191425cc2be8c1e6fec6e772b9b201086c92",
      "parents": [
        "1197e4dfcf4ac17d763a59e5de1d4d4b9781a555"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Mar 11 16:02:04 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Apr 02 12:29:55 2009 +0200"
      },
      "message": "udf: Some type fixes and cleanups\n\nMake udf_check_valid() return 1 if the validity check passed and 0 otherwise.\nSo far it was the other way around which was a bit confusing. Also make\nudf_vrs() return loff_t which is really the type it should return (not int).\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "1197e4dfcf4ac17d763a59e5de1d4d4b9781a555",
      "tree": "61a98ed0c7dfeb5a078c60aa0857f16a7e780c3f",
      "parents": [
        "4136801aec27b56ae4d06b638b4e9956346b08c8"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Wed Mar 11 15:57:47 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Apr 02 12:29:55 2009 +0200"
      },
      "message": "udf: use hardware sector size\n\nThis patch makes the UDF FS driver use the hardware sector size as the\ndefault logical block size, which is required by the UDF specifications.\nWhile the previous default of 2048 bytes was correct for optical disks,\nit was not for hard disks or USB storage devices, and made it impossible\nto use such a device with the default mount options.  (The Linux mkudffs\ntool uses a default block size of 2048 bytes even on devices with\nsmaller hardware sectors, so this bug is unlikely to be noticed unless\nUDF-formatted USB storage devices are exchanged with other OSs.)\n\nTo avoid regressions for people who use loopback optical disk images or\nwho used the (sometimes wrong) defaults of mkudffs, we also try with\na block size of 2048 bytes if no anchor was found with the hardware\nsector size.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "4136801aec27b56ae4d06b638b4e9956346b08c8",
      "tree": "3b343ad6a5833b1bdd8853e7b786ec6eab4848e0",
      "parents": [
        "59285c28d18b77437e6dc7c2abb9aaee10ec3a75"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Fri Mar 06 09:16:49 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Apr 02 12:29:54 2009 +0200"
      },
      "message": "udf: fix novrs mount option\n\nThe novrs mount option was broken due to a missing break.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "59285c28d18b77437e6dc7c2abb9aaee10ec3a75",
      "tree": "70e567d2372045363f5062b59619f680f65172c3",
      "parents": [
        "557f5a1468394069da2bd6a63e23970ff12aa072"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Feb 04 19:46:11 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Apr 02 12:29:53 2009 +0200"
      },
      "message": "udf: Fix oops when invalid character in filename occurs\n\nFunctions udf_CS0toNLS() and udf_NLStoCS0() didn\u0027t count with the fact that\nNLS can return negative length when invalid character is given to it for\nconversion. Thus interesting things could happen (such as overwriting random\nmemory with the rest of filename). Add appropriate checks.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "557f5a1468394069da2bd6a63e23970ff12aa072",
      "tree": "caf29680dca8604269b9b09f0a5f30dc42b49e80",
      "parents": [
        "f90981fed974759b5057c5a04299fe03d9dbf1d2"
      ],
      "author": {
        "name": "Coly Li",
        "email": "coly.li@suse.de",
        "time": "Tue Jan 20 01:36:55 2009 +0800"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Apr 02 12:29:53 2009 +0200"
      },
      "message": "udf: return f_fsid for statfs(2)\n\nThis patch makes udf return f_fsid info for statfs(2).\n\nSigned-off-by: Coly Li \u003ccoly.li@suse.de\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "f90981fed974759b5057c5a04299fe03d9dbf1d2",
      "tree": "7a794ae61ed947c4459259279c2b014f484a644e",
      "parents": [
        "87bc730c07a0884d14d6af5c9d49f4669c0a0589"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Dec 03 17:31:39 2008 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Apr 02 12:29:52 2009 +0200"
      },
      "message": "udf: Add checks to not underflow sector_t\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "87bc730c07a0884d14d6af5c9d49f4669c0a0589",
      "tree": "aae3f3b6286526e16ee9614923d227612affe51e",
      "parents": [
        "e650b94addfbf072952df762e6f1c6c9e26c4f9c"
      ],
      "author": {
        "name": "Marcin Slusarz",
        "email": "marcin.slusarz@gmail.com",
        "time": "Tue Dec 02 13:40:11 2008 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Apr 02 12:29:52 2009 +0200"
      },
      "message": "udf: fix default mode and dmode options handling\n\nOn x86 (and several other archs) mode_t is defined as \"unsigned short\"\nand comparing unsigned shorts to negative ints is broken (because short\nis promoted to int and then compared). Fix it.\n\nReported-and-tested-by: Laurent Riffard \u003claurent.riffard@free.fr\u003e\nSigned-off-by: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "e650b94addfbf072952df762e6f1c6c9e26c4f9c",
      "tree": "180ad47627389433202541891d76d91ab041930c",
      "parents": [
        "30930554f23511645ad9cfb89792219bf398b654"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Dec 01 13:06:10 2008 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Apr 02 12:29:51 2009 +0200"
      },
      "message": "udf: fix sparse warnings:\n\nFix sparse warnings:\n\n  fs/udf/balloc.c:843:3: warning: returning void-valued expression\n  fs/udf/balloc.c:847:3: warning: returning void-valued expression\n  fs/udf/balloc.c:851:3: warning: returning void-valued expression\n  fs/udf/balloc.c:855:3: warning: returning void-valued expression\n\nReported-by: Hannes Eder \u003channes@hanneseder.net\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "30930554f23511645ad9cfb89792219bf398b654",
      "tree": "24a7b9a5527ba92f808d46d5b598f66eac9351ad",
      "parents": [
        "7ac9bcd5da59dd96eb1153d3fc04c3471fa5c09d"
      ],
      "author": {
        "name": "roel kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Wed Oct 29 17:23:54 2008 -0400"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Apr 02 12:29:50 2009 +0200"
      },
      "message": "udf: unsigned last[i] cannot be less than 0\n\nunsigned last[i] cannot be less than 0\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "7ac9bcd5da59dd96eb1153d3fc04c3471fa5c09d",
      "tree": "e9c5470783e9ec098fb7a056d89872c9e225f5c3",
      "parents": [
        "530f1a5e3e93a038a457faf716975ed19f82831d"
      ],
      "author": {
        "name": "Marcin Slusarz",
        "email": "marcin.slusarz@gmail.com",
        "time": "Sun Nov 16 20:52:19 2008 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Apr 02 12:29:50 2009 +0200"
      },
      "message": "udf: implement mode and dmode mounting options\n\n\"dmode\" allows overriding permissions of directories and\n\"mode\" allows overriding permissions of files.\n\nSigned-off-by: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "530f1a5e3e93a038a457faf716975ed19f82831d",
      "tree": "59dbd8517dd925067891d61b26589ad759c56278",
      "parents": [
        "ba9aadd80c24775e55a93ebe0c2491b4d2899257"
      ],
      "author": {
        "name": "Marcin Slusarz",
        "email": "marcin.slusarz@gmail.com",
        "time": "Sun Nov 16 19:02:45 2008 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Apr 02 12:29:49 2009 +0200"
      },
      "message": "udf: reduce stack usage of udf_get_filename\n\nAllocate strings with kmalloc.\n\nCheckstack output:\nBefore: udf_get_filename:          600\nAfter:  udf_get_filename:          136\n\nSigned-off-by: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "ba9aadd80c24775e55a93ebe0c2491b4d2899257",
      "tree": "29b8f456c6322f9a0d375bfa0a368ef4e18b0cb8",
      "parents": [
        "97e961fdbf32488b7386c9f1effa2bee97d47929"
      ],
      "author": {
        "name": "Marcin Slusarz",
        "email": "marcin.slusarz@gmail.com",
        "time": "Sun Nov 16 19:01:44 2008 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Apr 02 12:29:48 2009 +0200"
      },
      "message": "udf: reduce stack usage of udf_load_pvoldesc\n\nAllocate strings with kmalloc.\n\nCheckstack output:\nBefore: udf_process_sequence:      712\nAfter:  udf_process_sequence:      200\n\nSigned-off-by: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "97e961fdbf32488b7386c9f1effa2bee97d47929",
      "tree": "fa006f5e803e532c9781d4f5f6e34cf9d8382814",
      "parents": [
        "5ca4e4be841e389d7d17833fef7be2359f290163"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Oct 15 12:29:03 2008 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Apr 02 12:29:47 2009 +0200"
      },
      "message": "Fix the udf code not to pass structs on stack where possible.\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "5ca4e4be841e389d7d17833fef7be2359f290163",
      "tree": "9c059a3b7599260d096fae395d640e79bdc46f30",
      "parents": [
        "833bb3046b6cb320e775ea2160ddca87d53260d5"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Oct 15 12:28:03 2008 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Apr 02 12:29:47 2009 +0200"
      },
      "message": "Remove struct typedefs from fs/udf/ecma_167.h et al.\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "bacfb7c2e5d10f40f7adb23aeeffc824b839eaa8",
      "tree": "83f5f87bec2ed05d651765ac82085d4add52b7dc",
      "parents": [
        "5f5fa796c6b0158b50a2d5d2f80a926466ea87b3"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Jan 26 17:20:46 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Mar 26 02:18:36 2009 +0100"
      },
      "message": "udf: Use lowercase names of quota functions\n\nUse lowercase names of quota functions instead of old uppercase ones.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "ddfaccd995b2d1bb1df4461ee9403ba9fdcbee04",
      "tree": "4ee652018dc571d32337c94a511eb14da68a1888",
      "parents": [
        "3ef7784e47975e31148c25b6fa795949fdc16d9c"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Jan 22 10:35:21 2009 +0300"
      },
      "committer": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Jan 22 13:15:55 2009 +0300"
      },
      "message": "fs/Kconfig: move iso9660, udf out\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\n"
    },
    {
      "commit": "ec98ce480ada787f2cfbd696980ff3564415505b",
      "tree": "1a4d644b38f9f1e4b4e086fde0b195df4a92cf84",
      "parents": [
        "3496f92beb9aa99ef21fccc154a36c7698e9c538",
        "feaf3848a813a106f163013af6fcf6c4bfec92d9"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 04 17:16:36 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 04 17:16:36 2008 +1100"
      },
      "message": "Merge branch \u0027master\u0027 into next\n\nConflicts:\n\tfs/nfsd/nfs4recover.c\n\nManually fixed above to use new creds API functions, e.g.\nnfs4_save_creds().\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "52b19ac993f1aeadbce15b55302be9a35346e235",
      "tree": "90695f8fdaa97d3a30b1e5f82016fb1cce3da16b",
      "parents": [
        "ed313489badef16d700f5a3be50e8fd8f8294bc8"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Sep 23 18:24:08 2008 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Nov 27 17:38:28 2008 +0100"
      },
      "message": "udf: Fix BUG_ON() in destroy_inode()\n\nudf_clear_inode() can leave behind buffers on mapping\u0027s i_private list (when\nwe truncated preallocation). Call invalidate_inode_buffers() so that the list\nis properly cleaned-up before we return from udf_clear_inode(). This is ugly\nand suggest that we should cleanup preallocation earlier than in clear_inode()\nbut currently there\u0027s no such call available since drop_inode() is called under\ninode lock and thus is unusable for disk operations.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "7706bb39adff18a48ff98f203ffcbb00878d8589",
      "tree": "4f2c75396a8d476b248c1f689975ab3ee23051cb",
      "parents": [
        "26bf1946e69abf9528beda7adb4a783c439a5f7b"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Nov 14 10:39:03 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 10:39:03 2008 +1100"
      },
      "message": "CRED: Wrap task credential accesses in the UDF filesystem\n\nWrap access to task credentials so that they can be separated more easily from\nthe task_struct during the introduction of COW creds.\n\nChange most current-\u003e(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id().\n\nChange some task-\u003ee?[ug]id to task_e?[ug]id().  In some places it makes more\nsense to use RCU directly rather than a convenient wrapper; these will be\naddressed by later patches.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nReviewed-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "9fbb76ce0fe96c07c44ba2aec3dc99f4b8d2b9c6",
      "tree": "78f50dcd672702aed515dbd0adabde839c2cb4c0",
      "parents": [
        "ad76cbc63b9db7c98da49af3182a783ca1c80a5d"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Oct 12 00:15:17 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Oct 23 05:13:15 2008 -0400"
      },
      "message": "[PATCH] get rid of on-stack dentry in udf\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "440037287c5ebb07033ab927ca16bb68c291d309",
      "tree": "c4be3843ea87a777c2647f471895917005d8068f",
      "parents": [
        "4ea3ada2955e4519befa98ff55dd62d6dfbd1705"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Aug 11 15:49:04 2008 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Oct 23 05:13:01 2008 -0400"
      },
      "message": "[PATCH] switch all filesystems over to d_obtain_alias\n\nSwitch all users of d_alloc_anon to d_obtain_alias.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    }
  ],
  "next": "a447c0932445f92ce6f4c1bd020f62c5097a7842"
}
