)]}'
{
  "log": [
    {
      "commit": "37d0892c5a94e208cf863e3b7bac014edee4346d",
      "tree": "642ecefb31c58451dc70964963b05412c269e831",
      "parents": [
        "cda9856f1ca62484433b9f734cd0fd553a5e4850"
      ],
      "author": {
        "name": "Ian Kent",
        "email": "raven@themaw.net",
        "time": "Tue Sep 01 11:26:22 2009 +0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 31 17:44:05 2009 -1000"
      },
      "message": "autofs4 - fix missed case when changing to use struct path\n\nIn the recent change by Al Viro that changes verious subsystems\nto use \"struct path\" one case was missed in the autofs4 module\nwhich causes mounts to no longer expire.\n\nSigned-off-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "750a8870fe4016ef3091fc97e084d58c613c2cc7",
      "tree": "7a33b8edb176465959abe9bd67a21a4498d93b6a",
      "parents": [
        "83cb10f0ef3c96162be92339ccf8c0c9c9f2d13e"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Fri Aug 28 12:50:47 2009 -0400"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Fri Aug 28 12:51:14 2009 -0400"
      },
      "message": "inotify: update the group mask on mark addition\n\nSeperating the addition and update of marks in inotify resulted in a\nregression in that inotify never gets events.  The inotify group mask is\nalways 0.  This mask should be updated any time a new mark is added.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "83cb10f0ef3c96162be92339ccf8c0c9c9f2d13e",
      "tree": "e83f71fde279bc4ed80db945b55603f653aa08e1",
      "parents": [
        "b962e7312ae87006aed6f68ceee94bdf8db08338"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Fri Aug 28 11:57:55 2009 -0400"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Fri Aug 28 11:57:55 2009 -0400"
      },
      "message": "inotify: fix length reporting and size checking\n\n0db501bd0610ee0c0 introduced a regresion in that it now sends a nul\nterminator but the length accounting when checking for space or\nreporting to userspace did not take this into account.  This corrects\nall of the rounding logic.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "b962e7312ae87006aed6f68ceee94bdf8db08338",
      "tree": "5d74244d31f510d346afbe80fea3285ccb8504d8",
      "parents": [
        "326ba5010a5429a5a528b268b36a5900d4ab0eba"
      ],
      "author": {
        "name": "Brian Rogers",
        "email": "brian@xyzw.org",
        "time": "Fri Aug 28 10:00:05 2009 -0400"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Fri Aug 28 10:03:06 2009 -0400"
      },
      "message": "inotify: do not send a block of zeros when no pathname is available\n\nWhen an event has no pathname, there\u0027s no need to pad it with a null byte and\ntherefore generate an inotify_event sized block of zeros. This fixes a\nregression introduced by commit 0db501bd0610ee0c0aca84d927f90bcccd09e2bd where\nmy system wouldn\u0027t finish booting because some process was being confused by\nthis.\n\nSigned-off-by: Brian Rogers \u003cbrian@xyzw.org\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "9c504cadc443a3d002fa581ec5109c0ef02d7b14",
      "tree": "0b44c60843062e5ee8d91a636dab67ada5286156",
      "parents": [
        "4f8ee2c9cc0e885d2bb50ef26db66150ab25213e",
        "0db501bd0610ee0c0aca84d927f90bcccd09e2bd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 27 12:26:02 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 27 12:26:02 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.infradead.org/users/eparis/notify\n\n* \u0027for-linus\u0027 of git://git.infradead.org/users/eparis/notify:\n  inotify: Ensure we alwasy write the terminating NULL.\n  inotify: fix locking around inotify watching in the idr\n  inotify: do not BUG on idr entries at inotify destruction\n  inotify: seperate new watch creation updating existing watches\n"
    },
    {
      "commit": "cf481442f2e086316ed8a1b3046f00ad23632ac4",
      "tree": "2edd0fb64549dfb6388e39d86e8965908dfcb925",
      "parents": [
        "788d908f2879a17e5f80924f3da2e23f1034482d",
        "7815f4be4026b6c5027058102ae67a4b9feffa5f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 27 12:24:08 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 27 12:24:08 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:\n  9p: update documentation pointers\n  9p: remove unnecessary v9fses-\u003eoptions which duplicates the mount string\n  net/9p: insulate the client against an invalid error code sent by a 9p server\n  9p: Add missing cast for the error return value in v9fs_get_inode\n  9p: Remove redundant inode uid/gid assignment\n  9p: Fix possible regressions when -\u003eget_sb fails.\n  9p: Fix v9fs show_options\n  9p: Fix possible memleak in v9fs_inode_from fid.\n  9p: minor comment fixes\n  9p: Fix possible inode leak in v9fs_get_inode.\n  9p: Check for error in return value of v9fs_fid_add\n"
    },
    {
      "commit": "9886e836a6a5dbd273dc55b17e713f0a188d137f",
      "tree": "87f8e3d719ae43d5d5d5911d70d6c7b3aa66be32",
      "parents": [
        "1e23502cc57cef33455ac7cb9111e3c6d991a894"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Aug 27 13:09:06 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 27 12:22:08 2009 -0700"
      },
      "message": "AFS: Stop readlink() on AFS crashing due to NULL \u0027file\u0027 ptr\n\nkAFS crashes when asked to read a symbolic link because page_getlink()\npasses a NULL file pointer to read_mapping_page(), but afs_readpage()\nexpects a file pointer from which to extract a key.\n\nModify afs_readpage() to request the appropriate key from the calling\nprocess\u0027s keyrings if a file struct is not supplied with one attached.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0db501bd0610ee0c0aca84d927f90bcccd09e2bd",
      "tree": "108756b2460edff75bb7bc6c778e1a2c0ff50167",
      "parents": [
        "dead537dd8a1c9495322c1d6f7c780697f474af0"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Aug 27 03:20:04 2009 -0700"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Aug 27 08:02:10 2009 -0400"
      },
      "message": "inotify: Ensure we alwasy write the terminating NULL.\n\nBefore the rewrite copy_event_to_user always wrote a terqminating \u0027\\0\u0027\nbyte to user space after the filename.  Since the rewrite that\nterminating byte was skipped if your filename is exactly a multiple of\nevent_size.  Ouch!\n\nSo add one byte to name_size before we round up and use clear_user to\nset userspace to zero like /dev/zero does instead of copying the\nstrange nul_inotify_event.  I can\u0027t quite convince myself len_to_zero\nwill never exceed 16 and even if it doesn\u0027t clear_user should be more\nefficient and a more accurate reflection of what the code is trying to\ndo.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "dead537dd8a1c9495322c1d6f7c780697f474af0",
      "tree": "5263cf56e792cfc5ddf37748d2868fce9866af68",
      "parents": [
        "cf4374267fbe966e8e4e7db68f5dc7b267439780"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Mon Aug 24 16:03:35 2009 -0400"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Aug 27 08:02:04 2009 -0400"
      },
      "message": "inotify: fix locking around inotify watching in the idr\n\nThe are races around the idr storage of inotify watches.  It\u0027s possible\nthat a watch could be found from sys_inotify_rm_watch() in the idr, but it\ncould be removed from the idr before that code does it\u0027s removal.  Move the\nlocking and the refcnt\u0027ing so that these have to happen atomically.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "cf4374267fbe966e8e4e7db68f5dc7b267439780",
      "tree": "60871fa44df49a8581e2afb06f493e768a058b86",
      "parents": [
        "52cef7555adf5ca09b3b7283097466759120d901"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Mon Aug 24 16:03:35 2009 -0400"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Aug 27 08:02:04 2009 -0400"
      },
      "message": "inotify: do not BUG on idr entries at inotify destruction\n\nIf an inotify watch is left in the idr when an fsnotify group is destroyed\nthis will lead to a BUG.  This is not a dangerous situation and really\nindicates a programming bug and leak of memory.  This patch changes it to\nuse a WARN and a printk rather than killing people\u0027s boxes.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "52cef7555adf5ca09b3b7283097466759120d901",
      "tree": "641ddd087f6effe88fad2e3c0b5d744e9d71fdda",
      "parents": [
        "1e23502cc57cef33455ac7cb9111e3c6d991a894"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Mon Aug 24 16:03:35 2009 -0400"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Aug 27 08:02:04 2009 -0400"
      },
      "message": "inotify: seperate new watch creation updating existing watches\n\nThere is nothing known wrong with the inotify watch addition/modification\nbut this patch seperates the two code paths to make them each easy to\nverify as correct.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "e9cab24cf3e5610898fb26bfd664615d0fd6a8d6",
      "tree": "5e2ac2f09655514fa1d7b69e13c83d5d04b20693",
      "parents": [
        "a206e9417f19cf42156249953b72223a0076dc6b",
        "3c4cec65274481ec6332b0a91f19b4c8c5394801"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 25 09:47:36 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 25 09:47:36 2009 -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  ext3: Improve error message that changing journaling mode on remount is not possible\n  ext3: Update Kconfig description of EXT3_DEFAULTS_TO_ORDERED\n"
    },
    {
      "commit": "7111dc73923e9737b38a3ef5b5f236109000ff28",
      "tree": "a21d3fbdf710b8a5ecfede32b822368fea2cad40",
      "parents": [
        "2584e7986f235572d4b03bbe52fd1e85c1679b8e"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Aug 24 19:21:29 2009 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 24 16:28:42 2009 -0700"
      },
      "message": "NFSv4: Fix an infinite looping problem with the nfs4_state_manager\n\nCommit 76db6d9500caeaa774a3e32a997eba30bbdc176b (nfs41: add session setup\nto the state manager) introduces an infinite loop possibility in the NFSv4\nstate manager. By first checking nfs4_has_session() before clearing the\nNFS4CLNT_SESSION_SETUP flag, it allows for a situation where someone sets\nthat flag, but it never gets cleared, and so the state manager loops.\n\nIn fact commit c3fad1b1aaf850bf692642642ace7cd0d64af0a3 (nfs41: add session\nreset to state manager) causes this to happen every time we get a network\npartition error.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nTested-by: Daniel J Blueman \u003cdaniel.blueman@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2584e7986f235572d4b03bbe52fd1e85c1679b8e",
      "tree": "7265bf25f3e6ab4b8f0a7e2e5d0500aa1de77b55",
      "parents": [
        "7c0a57d5c47bcfc492b3139e77400f888a935c44",
        "c795b33ba171e41563ab7e25105c0cd4edd81cd7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 24 14:41:28 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 24 14:41:28 2009 -0700"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2:\n  ocfs2/dlm: Wait on lockres instead of erroring cancel requests\n  ocfs2: Add missing lock name\n  ocfs2: Don\u0027t oops in ocfs2_kill_sb on a failed mount\n  ocfs2: release the buffer head in ocfs2_do_truncate.\n  ocfs2: Handle quota file corruption more gracefully\n"
    },
    {
      "commit": "353d5c30c666580347515da609dd74a2b8e9b828",
      "tree": "03cf3b5c0bc2ce08a12af303b141503ad833178f",
      "parents": [
        "0257a0c0c1997aac28420e784b3ef8f3ce17f093"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Aug 24 16:30:28 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 24 12:53:01 2009 -0700"
      },
      "message": "mm: fix hugetlb bug due to user_shm_unlock call\n\n2.6.30\u0027s commit 8a0bdec194c21c8fdef840989d0d7b742bb5d4bc removed\nuser_shm_lock() calls in hugetlb_file_setup() but left the\nuser_shm_unlock call in shm_destroy().\n\nIn detail:\nAssume that can_do_hugetlb_shm() returns true and hence user_shm_lock()\nis not called in hugetlb_file_setup(). However, user_shm_unlock() is\ncalled in any case in shm_destroy() and in the following\natomic_dec_and_lock(\u0026up-\u003e__count) in free_uid() is executed and if\nup-\u003e__count gets zero, also cleanup_user_struct() is scheduled.\n\nNote that sched_destroy_user() is empty if CONFIG_USER_SCHED is not set.\nHowever, the ref counter up-\u003e__count gets unexpectedly non-positive and\nthe corresponding structs are freed even though there are live\nreferences to them, resulting in a kernel oops after a lots of\nshmget(SHM_HUGETLB)/shmctl(IPC_RMID) cycles and CONFIG_USER_SCHED set.\n\nHugh changed Stefan\u0027s suggested patch: can_do_hugetlb_shm() at the\ntime of shm_destroy() may give a different answer from at the time\nof hugetlb_file_setup().  And fixed newseg()\u0027s no_id error path,\nwhich has missed user_shm_unlock() ever since it came in 2.6.9.\n\nReported-by: Stefan Huber \u003cshuber2@gmail.com\u003e\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nTested-by: Stefan Huber \u003cshuber2@gmail.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3c4cec65274481ec6332b0a91f19b4c8c5394801",
      "tree": "c74bd4cedaecdf2b1132753ffbc337e8d3e6b161",
      "parents": [
        "6d41807614151829ae17a3a58bff8572af5e407e"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Aug 24 16:38:43 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Aug 24 16:48:45 2009 +0200"
      },
      "message": "ext3: Improve error message that changing journaling mode on remount is not possible\n\nThis patch makes the error message about changing journaling mode on remount\nmore descriptive. Some people are going to hit this error now due to commit\nbbae8bcc49bc4d002221dab52c79a50a82e7cd1f if they configure a kernel to default\nto data\u003dwriteback mode. The problem happens if they have data\u003dordered set for\nthe root filesystem in /etc/fstab but not in the kernel command line (and they\ndon\u0027t use initrd). Their filesystem then gets mounted as data\u003dwriteback by\nkernel but then their boot fails because init scripts won\u0027t be able to remount\nthe filesystem rw. Better error message will hopefully make it easier for them\nto find the error in their setup and bother us less with error reports :).\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "6d41807614151829ae17a3a58bff8572af5e407e",
      "tree": "8d507b9ed679e2a42f9e1c8f4e7ba5a958360ea2",
      "parents": [
        "f4b9a988685da6386d7f9a72df3098bcc3270526"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Aug 10 16:03:43 2009 -0400"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Aug 24 16:48:32 2009 +0200"
      },
      "message": "ext3: Update Kconfig description of EXT3_DEFAULTS_TO_ORDERED\n\nThe old description for this configuration option was perhaps not\ncompletely balanced in terms of describing the tradeoffs of using a\ndefault of data\u003dwriteback vs. data\u003dordered.  Despite the fact that old\ndescription very strongly recomended disabling this feature, all of\nthe major distributions have elected to preserve the existing \u0027legacy\u0027\ndefault, which is a strong hint that it perhaps wasn\u0027t telling the\nwhole story.\n\nThis revised description has been vetted by a number of ext3\ndevelopers as being better at informing the user about the tradeoffs\nof enabling or disabling this configuration feature.\n\nCc: linux-ext4@vger.kernel.org\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "6777d773a463ac045d333b989d4e44660f8d92ad",
      "tree": "17291984d71515cec0a1970ecce3d631ed2f7981",
      "parents": [
        "3edf2fb9d80a46d6c32ba12547a42419845b4b76"
      ],
      "author": {
        "name": "Mimi Zohar",
        "email": "zohar@linux.vnet.ibm.com",
        "time": "Fri Aug 21 14:32:48 2009 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Aug 24 14:58:23 2009 +1000"
      },
      "message": "kernel_read: redefine offset type\n\nvfs_read() offset is defined as loff_t, but kernel_read()\noffset is only defined as unsigned long. Redefine\nkernel_read() offset as loff_t.\n\nCc: stable@kernel.org\nSigned-off-by: Mimi Zohar \u003czohar@us.ibm.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "8e9d78edea3ce5c0036f85b93091483f2f15443a",
      "tree": "898c98daca2602f0df70558211f30ff1bd2bcf6c",
      "parents": [
        "4dfd79e7b42bff334128907e28c3b41f1ef1cec8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 21 17:40:08 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 21 17:40:08 2009 -0700"
      },
      "message": "Re-introduce page mapping check in mark_buffer_dirty()\n\nIn commit a8e7d49aa7be728c4ae241a75a2a124cdcabc0c5 (\"Fix race in\ncreate_empty_buffers() vs __set_page_dirty_buffers()\"), I removed a test\nfor a NULL page mapping unintentionally when some of the code inside\n__set_page_dirty() was moved to the callers.\n\nThat removal generally didn\u0027t matter, since a filesystem would serialize\ntruncation (which clears the page mapping) against writing (which marks\nthe buffer dirty), so locking at a higher level (either per-page or an\ninode at a time) should mean that the buffer page would be stable.  And\nindeed, nothing bad seemed to happen.\n\nExcept it turns out that apparently reiserfs does something odd when\nunder load and writing out the journal, and we have a number of bugzilla\nentries that look similar:\n\n\thttp://bugzilla.kernel.org/show_bug.cgi?id\u003d13556\n\thttp://bugzilla.kernel.org/show_bug.cgi?id\u003d13756\n\thttp://bugzilla.kernel.org/show_bug.cgi?id\u003d13876\n\nand it looks like reiserfs depended on that check (the common theme\nseems to be \"data\u003djournal\", and a journal writeback during a truncate).\n\nI suspect reiserfs should have some additional locking, but in the\nmeantime this should get us back to the pre-2.6.29 behavior.\n\nPattern-pointed-out-by: Roland Kletzing \u003cdevzero@web.de\u003e\nCc: stable@kernel.org (2.6.29 and 2.6.30)\nCc: Jeff Mahoney \u003cjeffm@suse.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b57f92157e6517f0b3bd22e3a8ce7227e230c4f5",
      "tree": "8d00b577c82245c191f9c6fb138e20588da43347",
      "parents": [
        "b04e6373d694e977c95ae0ae000e2c1e2cf92d73",
        "03e860bd9f6a3cca747b0795bed26279a8b420a0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 21 09:56:55 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 21 09:56:55 2009 -0700"
      },
      "message": "Merge branch \u0027btrfs\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027btrfs\u0027 of git://git.kernel.dk/linux-2.6-block:\n  btrfs: fix inode rbtree corruption\n"
    },
    {
      "commit": "03e860bd9f6a3cca747b0795bed26279a8b420a0",
      "tree": "9a6e6fe663bfc5f01edac558433f314657c2eb67",
      "parents": [
        "df4ecf1524c7793de3121b2d4e5fc6bcc0da3bfb"
      ],
      "author": {
        "name": "From: Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Fri Aug 21 10:09:44 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Aug 21 10:09:44 2009 +0200"
      },
      "message": "btrfs: fix inode rbtree corruption\n\nNode may not be inserted over existing node. This causes inode tree\ncorruption and I was seeing crashes in inode_tree_del which I can not\nreproduce after this patch.\n\nThe other way to fix this would be to tie inode lifetime in the rbtree\nwith inode while not in freeing state. I had a look at this but it is\nnot so trivial at this point. At least this patch gets things working again.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nAcked-by: Yan Zheng \u003czheng.yan@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "c795b33ba171e41563ab7e25105c0cd4edd81cd7",
      "tree": "e845674493883656d44b825e5ff70256d5af6356",
      "parents": [
        "a8b88d3d49623ac701b5dc996cbd61219c793c7c"
      ],
      "author": {
        "name": "Goldwyn Rodrigues",
        "email": "rgoldwyn@gmail.com",
        "time": "Thu Aug 20 13:43:19 2009 -0500"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Aug 20 18:42:34 2009 -0700"
      },
      "message": "ocfs2/dlm: Wait on lockres instead of erroring cancel requests\n\nIn case a downconvert is queued, and a flock receives a signal,\nBUG_ON(lockres-\u003el_action !\u003d OCFS2_AST_INVALID) is triggered\nbecause a lock cancel triggers a dlmunlock while an AST is\nscheduled.\n\nTo avoid this, allow a LKM_CANCEL to pass through, and let it\nwait on __dlm_wait_on_lockres().\n\nSigned-off-by: Goldwyn Rodrigues \u003crgoldwyn@suse.de\u003e\nAcked-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "a8b88d3d49623ac701b5dc996cbd61219c793c7c",
      "tree": "3eae2cbcb6e61b1af9902ff1ad7a8780d3c02b63",
      "parents": [
        "5fd131893793567c361ae64cbeb28a2a753bbe35"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Aug 20 18:26:52 2009 +0200"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Aug 20 16:41:53 2009 -0700"
      },
      "message": "ocfs2: Add missing lock name\n\nThere is missing name for NFSSync cluster lock. This makes lockdep unhappy\nbecause we end up passing NULL to lockdep when initializing lock key. Fix it.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "6c30c53fd5ae6a99a23ad78e90c428d2c8ffb07f",
      "tree": "b840fbfc5453d307ff9211f0b0e5015dc9e5a345",
      "parents": [
        "0dc9aa845c20ed1f46c85f229591b811dffc4b3b",
        "a924586036833086b262a371b09d1266c23bb4d1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 19 10:40:24 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 19 10:40:24 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2:\n  nilfs2: fix oopses with doubly mounted snapshots\n  nilfs2: missing a read lock for segment writer in nilfs_attach_checkpoint()\n"
    },
    {
      "commit": "0753ba01e126020bf0f8150934903b48935b697d",
      "tree": "fbfd7e2d0abbe724a8c5e0e17fb9af522ed2e097",
      "parents": [
        "89a4eb4b66e8f4d395e14a14d262dac4d6ca52f0"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Tue Aug 18 14:11:10 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 18 16:31:13 2009 -0700"
      },
      "message": "mm: revert \"oom: move oom_adj value\"\n\nThe commit 2ff05b2b (oom: move oom_adj value) moveed the oom_adj value to\nthe mm_struct.  It was a very good first step for sanitize OOM.\n\nHowever Paul Menage reported the commit makes regression to his job\nscheduler.  Current OOM logic can kill OOM_DISABLED process.\n\nWhy? His program has the code of similar to the following.\n\n\t...\n\tset_oom_adj(OOM_DISABLE); /* The job scheduler never killed by oom */\n\t...\n\tif (vfork() \u003d\u003d 0) {\n\t\tset_oom_adj(0); /* Invoked child can be killed */\n\t\texecve(\"foo-bar-cmd\");\n\t}\n\t....\n\nvfork() parent and child are shared the same mm_struct.  then above\nset_oom_adj(0) doesn\u0027t only change oom_adj for vfork() child, it\u0027s also\nchange oom_adj for vfork() parent.  Then, vfork() parent (job scheduler)\nlost OOM immune and it was killed.\n\nActually, fork-setting-exec idiom is very frequently used in userland program.\nWe must not break this assumption.\n\nThen, this patch revert commit 2ff05b2b and related commit.\n\nReverted commit list\n---------------------\n- commit 2ff05b2b4e (oom: move oom_adj value from task_struct to mm_struct)\n- commit 4d8b9135c3 (oom: avoid unnecessary mm locking and scanning for OOM_DISABLE)\n- commit 8123681022 (oom: only oom kill exiting tasks with attached memory)\n- commit 933b787b57 (mm: copy over oom_adj value at fork time)\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "89a4eb4b66e8f4d395e14a14d262dac4d6ca52f0",
      "tree": "e8dfb8f3c70700c44a3a56f87541d45c86eec3f7",
      "parents": [
        "6b6f0b6c131321e1bc34c47b7f671b0360315402"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Aug 18 14:11:08 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 18 16:31:12 2009 -0700"
      },
      "message": "vfs: make get_sb_pseudo set s_maxbytes to value that can be cast to signed\n\nget_sb_pseudo sets s_maxbytes to ~0ULL which becomes negative when cast\nto a signed value.  Fix it to use MAX_LFS_FILESIZE which casts properly\nto a positive signed value.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: Steve French \u003csmfrench@gmail.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Robert Love \u003crlove@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a924586036833086b262a371b09d1266c23bb4d1",
      "tree": "d8fb67221f6614c00e9a645eb98e79f015ec81f2",
      "parents": [
        "1154ecbd2f8298ef75609f5f8ed5aca96be599fb"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Wed Aug 19 00:29:43 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Wed Aug 19 02:10:13 2009 +0900"
      },
      "message": "nilfs2: fix oopses with doubly mounted snapshots\n\nwill fix kernel oopses like the following:\n\n # mount -t nilfs2 -r -o cp\u003d20 /dev/sdb1 /test1\n # mount -t nilfs2 -r -o cp\u003d20 /dev/sdb1 /test2\n # umount /test1\n # umount /test2\n\nBUG: sleeping function called from invalid context at arch/x86/mm/fault.c:1069\nin_atomic(): 0, irqs_disabled(): 1, pid: 3886, name: umount.nilfs2\n1 lock held by umount.nilfs2/3886:\n #0:  (\u0026type-\u003es_umount_key#31){+.+...}, at: [\u003cc10b398a\u003e] deactivate_super+0x52/0x6c\nirq event stamp: 1219\nhardirqs last  enabled at (1219): [\u003cc135c774\u003e] __mutex_unlock_slowpath+0xf8/0x119\nhardirqs last disabled at (1218): [\u003cc135c6d5\u003e] __mutex_unlock_slowpath+0x59/0x119\nsoftirqs last  enabled at (1214): [\u003cc1033316\u003e] __do_softirq+0x1a5/0x1ad\nsoftirqs last disabled at (1205): [\u003cc1033354\u003e] do_softirq+0x36/0x5a\nPid: 3886, comm: umount.nilfs2 Not tainted 2.6.31-rc6 #55\nCall Trace:\n [\u003cc1023549\u003e] __might_sleep+0x107/0x10e\n [\u003cc13603c0\u003e] do_page_fault+0x246/0x397\n [\u003cc136017a\u003e] ? do_page_fault+0x0/0x397\n [\u003cc135e753\u003e] error_code+0x6b/0x70\n [\u003cc136017a\u003e] ? do_page_fault+0x0/0x397\n [\u003cc104f805\u003e] ? __lock_acquire+0x91/0x12fd\n [\u003cc1050a62\u003e] ? __lock_acquire+0x12ee/0x12fd\n [\u003cc1050a62\u003e] ? __lock_acquire+0x12ee/0x12fd\n [\u003cc1050b2b\u003e] lock_acquire+0xba/0xdd\n [\u003cd0d17d3f\u003e] ? nilfs_detach_segment_constructor+0x2f/0x2fa [nilfs2]\n [\u003cc135d4fe\u003e] down_write+0x2a/0x46\n [\u003cd0d17d3f\u003e] ? nilfs_detach_segment_constructor+0x2f/0x2fa [nilfs2]\n [\u003cd0d17d3f\u003e] nilfs_detach_segment_constructor+0x2f/0x2fa [nilfs2]\n [\u003cc104ea2c\u003e] ? mark_held_locks+0x43/0x5b\n [\u003cc104ecb1\u003e] ? trace_hardirqs_on_caller+0x10b/0x133\n [\u003cc104ece4\u003e] ? trace_hardirqs_on+0xb/0xd\n [\u003cd0d09ac1\u003e] nilfs_put_super+0x2f/0xca [nilfs2]\n [\u003cc10b3352\u003e] generic_shutdown_super+0x49/0xb8\n [\u003cc10b33de\u003e] kill_block_super+0x1d/0x31\n [\u003cc10e6599\u003e] ? vfs_quota_off+0x0/0x12\n [\u003cc10b398f\u003e] deactivate_super+0x57/0x6c\n [\u003cc10c4bc3\u003e] mntput_no_expire+0x8c/0xb4\n [\u003cc10c5094\u003e] sys_umount+0x27f/0x2a4\n [\u003cc10c50c6\u003e] sys_oldumount+0xd/0xf\n [\u003cc10031a4\u003e] sysenter_do_call+0x12/0x38\n ...\n\nThis turns out to be a bug brought by an -rc1 patch (\"nilfs2: simplify\nremaining sget() use\").\n\nIn the patch, a new \"put resource\" function, nilfs_put_sbinfo()\nwas introduced to delay freeing nilfs_sb_info struct.\n\nBut the nilfs_put_sbinfo() mistakenly used atomic_dec_and_test()\nfunction to check the reference count, and it caused the nilfs_sb_info\nwas freed when user mounted a snapshot twice.\n\nThis bug also suggests there was unseen memory leak in usual mount\n/umount operations for nilfs.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "1154ecbd2f8298ef75609f5f8ed5aca96be599fb",
      "tree": "a6801fc442fecf4c0b2a1dc1d7a5350910983041",
      "parents": [
        "64f1607ffbbc772685733ea63e6f7f4183df1b16"
      ],
      "author": {
        "name": "Zhang Qiang",
        "email": "zhangqiang.buaa@gmail.com",
        "time": "Tue Aug 18 14:58:24 2009 +0800"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Tue Aug 18 17:32:27 2009 +0900"
      },
      "message": "nilfs2: missing a read lock for segment writer in nilfs_attach_checkpoint()\n\n\u0027ns_cno\u0027 of structure \u0027the_nilfs\u0027 must be protected from segment\nwriter, in other words, the caller of nilfs_get_checkpoint should hold\nread lock for nilfs-\u003ens_segctor_sem.  This patch adds the lock/unlock\noperations in nilfs_attach_checkpoint() when calling\nnilfs_cpfile_get_checkpoint().\n\nSigned-off-by: Zhang Qiang \u003czhangqiang.buaa@gmail.com\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "4b53e4b500779230aedd5355940aeaaed0b5353b",
      "tree": "cdc025b850b5c973d86d44f82da328b2af5335a9",
      "parents": [
        "0aad37ef3deed118d3816e1d1a600eb2ec9dcb87"
      ],
      "author": {
        "name": "Abhishek Kulkarni",
        "email": "adkulkar@umail.iu.edu",
        "time": "Mon Aug 17 16:42:28 2009 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Aug 17 16:42:28 2009 -0500"
      },
      "message": "9p: remove unnecessary v9fses-\u003eoptions which duplicates the mount string\n\nThe mount options string is saved in sb-\u003es_options. This patch removes\nthe redundant duplicating of the mount options. Also, since we are not\ndisplaying anything special in show options, we replace v9fs_show_options\nwith generic_show_options for now.\n\nSigned-off-by: Abhishek Kulkarni \u003cadkulkar@umail.iu.edu\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "48559b4c30708ebdc849483da9fb83ee08c6c908",
      "tree": "6e27e440ecc26f4d9c58f1a462cf81a513e0881f",
      "parents": [
        "4d3297ca5bf37ff5956f76fb352e009880aad62d"
      ],
      "author": {
        "name": "Abhishek Kulkarni",
        "email": "adkulkar@umail.iu.edu",
        "time": "Mon Aug 17 16:32:18 2009 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@strongmad.austin.ibm.com",
        "time": "Mon Aug 17 16:35:08 2009 -0500"
      },
      "message": "9p: Add missing cast for the error return value in v9fs_get_inode\n\nCast the error return value (ENOMEM) in v9fs_get_inode() to its\ncorrect type using ERR_PTR.\n\nSigned-off-by: Abhishek Kulkarni \u003cadkulkar@umail.iu.edu\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "5fd131893793567c361ae64cbeb28a2a753bbe35",
      "tree": "962a79225308d855ee7b1d27e5c49864af78e108",
      "parents": [
        "60e2ec48665b8495360ca4a6004c5cd52beb2bc1"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Jul 30 17:01:53 2009 +0200"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Mon Aug 17 14:32:24 2009 -0700"
      },
      "message": "ocfs2: Don\u0027t oops in ocfs2_kill_sb on a failed mount\n\nIf we fail to mount the filesystem, we have to be careful not to dereference\nuninitialized structures in ocfs2_kill_sb.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "4d3297ca5bf37ff5956f76fb352e009880aad62d",
      "tree": "80cb9648cda0c7d86ea75ea0733f5b05e97beb4c",
      "parents": [
        "1b5ab3e86712b6be38ebbe0d821387c1d8f91d7c"
      ],
      "author": {
        "name": "Abhishek Kulkarni",
        "email": "adkulkar@umail.iu.edu",
        "time": "Sun Jul 19 13:41:51 2009 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@strongmad.austin.ibm.com",
        "time": "Mon Aug 17 16:27:58 2009 -0500"
      },
      "message": "9p: Remove redundant inode uid/gid assignment\n\nRemove a redundant update of inode\u0027s i_uid and i_gid\nafter v9fs_get_inode() since the latter already sets up\na new inode and sets the proper uid and gid values.\n\nSigned-off-by: Abhishek Kulkarni \u003cadkulkar@umail.iu.edu\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "1b5ab3e86712b6be38ebbe0d821387c1d8f91d7c",
      "tree": "8c7cc3d58d6bd8f62398de5f963966b7bf58abb9",
      "parents": [
        "4f4038328da5eb9cc237b51d3fe68138fd3fea14"
      ],
      "author": {
        "name": "Abhishek Kulkarni",
        "email": "adkulkar@umail.iu.edu",
        "time": "Sun Jul 19 13:41:52 2009 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@strongmad.austin.ibm.com",
        "time": "Mon Aug 17 16:27:57 2009 -0500"
      },
      "message": "9p: Fix possible regressions when -\u003eget_sb fails.\n\n-\u003eget_sb can fail causing some badness. this patch fixes\n   * clear sb-\u003efs_s_info in kill_sb.\n   * deactivate_locked_super() calls kill_sb (v9fs_kill_super) which closes the\n     destroys the client, clunks all its fids and closes the v9fs session.\n     Attempting to do it twice will cause an oops.\n\nSigned-off-by: Abhishek Kulkarni \u003cadkulkar@umail.iu.edu\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "4f4038328da5eb9cc237b51d3fe68138fd3fea14",
      "tree": "66b55f59880d3cd1740b3f81273485d9a68a1e73",
      "parents": [
        "02bc35672b2fdf251e264adca5407792f63191e4"
      ],
      "author": {
        "name": "Abhishek Kulkarni",
        "email": "adkulkar@umail.iu.edu",
        "time": "Sun Jul 19 13:41:53 2009 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@strongmad.austin.ibm.com",
        "time": "Mon Aug 17 16:27:57 2009 -0500"
      },
      "message": "9p: Fix v9fs show_options\n\nAdd the delimiter \u0027,\u0027 before the options when they are passed\nand check if no option parameters are passed to prevent displaying\nNULL in /proc/mounts.\n\nSigned-off-by: Abhishek Kulkarni \u003cadkulkar@umail.iu.edu\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "02bc35672b2fdf251e264adca5407792f63191e4",
      "tree": "301e2d999daed7afd11596bc89087750a4509e1c",
      "parents": [
        "0e15597ebfe00e28857185f46aba00f400480ffe"
      ],
      "author": {
        "name": "Abhishek Kulkarni",
        "email": "adkulkar@umail.iu.edu",
        "time": "Sun Jul 19 13:41:54 2009 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@strongmad.austin.ibm.com",
        "time": "Mon Aug 17 16:27:57 2009 -0500"
      },
      "message": "9p: Fix possible memleak in v9fs_inode_from fid.\n\nAdd missing p9stat_free in v9fs_inode_from_fid to avoid\nany possible leaks.\n\nSigned-off-by: Abhishek Kulkarni \u003cadkulkar@umail.iu.edu\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "0e15597ebfe00e28857185f46aba00f400480ffe",
      "tree": "5a1a057ac15bf598c2eee81c54aeefc49c4cee24",
      "parents": [
        "2bb541157fe2602af7b9952096d0524f6f9c1e73"
      ],
      "author": {
        "name": "Abhishek Kulkarni",
        "email": "adkulkar@umail.iu.edu",
        "time": "Sun Jul 19 13:41:55 2009 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@strongmad.austin.ibm.com",
        "time": "Mon Aug 17 16:27:57 2009 -0500"
      },
      "message": "9p: minor comment fixes\n\nFix the comments -- mostly the improper and/or missing descriptions\nof function parameters.\n\nSigned-off-by: Abhishek Kulkarni \u003cadkulkar@umail.iu.edu\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "2bb541157fe2602af7b9952096d0524f6f9c1e73",
      "tree": "79ee0fbdded9918298fbd37b1b56232b9f5f81d0",
      "parents": [
        "50fb6d2bd7062708892ae7147f30c3ee905b7a3d"
      ],
      "author": {
        "name": "Abhishek Kulkarni",
        "email": "adkulkar@umail.iu.edu",
        "time": "Sun Jul 19 13:41:56 2009 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@strongmad.austin.ibm.com",
        "time": "Mon Aug 17 16:27:57 2009 -0500"
      },
      "message": "9p: Fix possible inode leak in v9fs_get_inode.\n\nAdd a missing iput when cleaning up if v9fs_get_inode\nfails after returning a valid inode.\n\nSigned-off-by: Abhishek Kulkarni \u003cadkulkar@umail.iu.edu\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "50fb6d2bd7062708892ae7147f30c3ee905b7a3d",
      "tree": "6b5cdbe3e4f03c7bf4b043ced06cec7d34db0b1f",
      "parents": [
        "df4ecf1524c7793de3121b2d4e5fc6bcc0da3bfb"
      ],
      "author": {
        "name": "Abhishek Kulkarni",
        "email": "adkulkar@umail.iu.edu",
        "time": "Sun Jul 19 13:41:57 2009 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@strongmad.austin.ibm.com",
        "time": "Mon Aug 17 16:27:57 2009 -0500"
      },
      "message": "9p: Check for error in return value of v9fs_fid_add\n\nCheck if v9fs_fid_add was successful or not based on its\nreturn value.\n\nSigned-off-by: Abhishek Kulkarni \u003cadkulkar@umail.iu.edu\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "c58afec8b2576b121eced7b94eb94eaf4626bacc",
      "tree": "092290136ab7cba84b8a6a5f53e2a73b9ef8318f",
      "parents": [
        "52dec22e739eec8f3a0154f768a599f5489048bd",
        "bc990f5cb424cdca9dda866785d088e2c2110ecc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 17 13:39:30 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 17 13:39:30 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs:\n  xfs: fix locking in xfs_iget_cache_hit\n"
    },
    {
      "commit": "08e53fcb0db34baca3db84a457b6d67faabee4c6",
      "tree": "c9c112a0aa290895a416b5bfc3f58aa328bc74e8",
      "parents": [
        "cd94c8bbef8d4b796a7ed4c551355a334604fd36"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Sun Aug 16 21:51:55 2009 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 17 13:37:37 2009 -0700"
      },
      "message": "inotify: start watch descriptor count at 1\n\nThe inotify_add_watch man page specifies that inotify_add_watch() will\nreturn a non-negative integer.  However, historically the inotify\nwatches started at 1, not at 0.\n\nTurns out that the inotifywait program provided by the inotify-tools\npackage doesn\u0027t properly handle a 0 watch descriptor.  In 7e790dd5 we\nchanged from starting at 1 to starting at 0.  This patch starts at 1,\njust like in previous kernels, but also just like in previous kernels\nit\u0027s possible for it to wrap back to 0.  This preserves the kernel\nfunctionality exactly like it was before the patch (neither method broke\nthe spec)\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cd94c8bbef8d4b796a7ed4c551355a334604fd36",
      "tree": "ac448f253eb01a7fd1872daa15938b5d72fee796",
      "parents": [
        "eef3a116be11d35396efb2a8cc7345fd3221e294"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Sun Aug 16 21:51:49 2009 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 17 13:37:37 2009 -0700"
      },
      "message": "inotify: tail drop inotify q_overflow events\n\nIn f44aebcc the tail drop logic of events with no file backing\n(q_overflow and in_ignored) was reversed so IN_IGNORED events would\nnever be tail dropped.  This now means that Q_OVERFLOW events are NOT\ntail dropped.  The fix is to not tail drop IN_IGNORED, but to tail drop\nQ_OVERFLOW.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eef3a116be11d35396efb2a8cc7345fd3221e294",
      "tree": "2a5d0b36dd5985f29eac43f51b03e610e40b7c9b",
      "parents": [
        "0f66f96d21b4bbff49baaa337546e687d7c58e87"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Sun Aug 16 21:51:44 2009 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 17 13:37:37 2009 -0700"
      },
      "message": "notify: unused event private race\n\ninotify decides if private data it passed to get added to an event was\nused by checking list_empty().  But it\u0027s possible that the event may\nhave been dequeued and the private event removed so it would look empty.\n\nThe fix is to use the return code from fsnotify_add_notify_event rather\nthan looking at the list.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "60e2ec48665b8495360ca4a6004c5cd52beb2bc1",
      "tree": "dbd938e337b3191bbe16336cb414b9d55c5fdc81",
      "parents": [
        "ada508274b8698a33cb0e5bd037db0f9dc781795"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Wed Aug 12 14:42:47 2009 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Mon Aug 17 12:50:35 2009 -0700"
      },
      "message": "ocfs2: release the buffer head in ocfs2_do_truncate.\n\nIn ocfs2_do_truncate, we forget to release last_eb_bh which\nwill cause memleak. So call brelse in the end.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "ada508274b8698a33cb0e5bd037db0f9dc781795",
      "tree": "43788f6393117159d75897bb75496c0ddb6c4e1b",
      "parents": [
        "b409d7a0ab46fe530efe52734984b4ed5d46c3eb"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Aug 03 18:24:21 2009 +0200"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Mon Aug 17 12:50:12 2009 -0700"
      },
      "message": "ocfs2: Handle quota file corruption more gracefully\n\nocfs2_read_virt_blocks() does BUG when we try to read a block from a file\nbeyond its end. Since this can happen due to filesystem corruption, it\nis not really an appropriate answer. Make ocfs2_read_quota_block() check\nthe condition and handle it by calling ocfs2_error() and returning EIO.\n\n[ Modified to print ip_blkno in the error - Joel ]\n\nReported-by: Tristan Ye \u003ctristan.ye@oracle.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "bc990f5cb424cdca9dda866785d088e2c2110ecc",
      "tree": "4264beb9538533d136e41f0e93933160fe925008",
      "parents": [
        "894ef820b10d77e2d6d717342fc408bdd9825139"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sun Aug 16 20:36:34 2009 -0400"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Mon Aug 17 01:23:48 2009 -0500"
      },
      "message": "xfs: fix locking in xfs_iget_cache_hit\n\nThe locking in xfs_iget_cache_hit currently has numerous problems:\n\n - we clear the reclaim tag without i_flags_lock which protects\n   modifications to it\n - we call inode_init_always which can sleep with pag_ici_lock\n   held (this is oss.sgi.com BZ #819)\n - we acquire and drop i_flags_lock a lot and thus provide no\n   consistency between the various flags we set/clear under it\n\nThis patch fixes all that with a major revamp of the locking in\nthe function.  The new version acquires i_flags_lock early and\nonly drops it once we need to call into inode_init_always or before\ncalling xfs_ilock.\n\nThis patch fixes a bug seen in the wild where we race modifying the\nreclaim tag.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "b2add73dbf93fd50f00564d7abc3e2b9aa9dd20c",
      "tree": "c9da78bdbdcfb29d5fc1ac3a967d75911fc5d6b4",
      "parents": [
        "5d12dc1fd6b0ba31d3166e42ed01996df6dad34e"
      ],
      "author": {
        "name": "Guillaume Knispel",
        "email": "gknispel@proformatique.com",
        "time": "Sat Aug 15 19:30:24 2009 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 15 18:40:11 2009 -0700"
      },
      "message": "poll/select: initialize triggered field of struct poll_wqueues\n\nThe triggered field of struct poll_wqueues introduced in commit\n5f820f648c92a5ecc771a96b3c29aa6e90013bba (\"poll: allow f_op-\u003epoll to\nsleep\").\n\nIt was first set to 1 in pollwake() (now __pollwake() ), tested and\nlater set to 0 in poll_schedule_timeout(), but not initialized before.\n\nAs a result when the process needs to sleep, triggered was likely to be\nnon-zero even if pollwake() is not called before the first\npoll_schedule_timeout(), meaning schedule_hrtimeout_range() would not be\ncalled and an extra loop calling all -\u003epoll() would be done.\n\nThis patch initialize triggered to 0 in poll_initwait() so the -\u003epoll()\nare not called twice before the process goes to sleep when it needs to.\n\nSigned-off-by: Guillaume Knispel \u003cgknispel@proformatique.com\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d7e623da1a757fbd8c117fa29190ca8bef14dab3",
      "tree": "96fd46643f1b381a6985da15ea984a9e1f66e8f5",
      "parents": [
        "64f1607ffbbc772685733ea63e6f7f4183df1b16"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Aug 11 11:20:11 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Aug 14 14:04:46 2009 +0100"
      },
      "message": "GFS2: Fix permissions on \"recover\" file\n\nAlthough this file is only ever written and not read by\nuserspace, it seems that the utils are opening this\nfile O_RDWR, so we need to allow that.\n\nAlso fixes the whitespace which seemed to be broken.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "bc7af9ba154f648598bf92b391e446e31b09330a",
      "tree": "01f1e0c9f7410c059e91ba9f7a5727fbeb25dd8b",
      "parents": [
        "d58d2d1adec90e7bc0c56e09b3ac0e9a5a471e68",
        "b409d7a0ab46fe530efe52734984b4ed5d46c3eb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 13 11:17:40 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 13 11:17:40 2009 -0700"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2: (22 commits)\n  ocfs2: Fix possible deadlock when extending quota file\n  ocfs2: keep index within status_map[]\n  ocfs2: Initialize the cluster we\u0027re writing to in a non-sparse extend\n  ocfs2: Remove redundant BUG_ON in __dlm_queue_ast()\n  ocfs2/quota: Release lock for error in ocfs2_quota_write.\n  ocfs2: Define credit counts for quota operations\n  ocfs2: Remove syncjiff field from quota info\n  ocfs2: Fix initialization of blockcheck stats\n  ocfs2: Zero out padding of on disk dquot structure\n  ocfs2: Initialize blocks allocated to local quota file\n  ocfs2: Mark buffer uptodate before calling ocfs2_journal_access_dq()\n  ocfs2: Make global quota files blocksize aligned\n  ocfs2: Use ocfs2_rec_clusters in ocfs2_adjust_adjacent_records.\n  ocfs2: Fix deadlock on umount\n  ocfs2: Add extra credits and access the modified bh in update_edge_lengths.\n  ocfs2: Fail ocfs2_get_block() immediately when a block needs allocation\n  ocfs2: Fix error return in ocfs2_write_cluster()\n  ocfs2: Fix compilation warning for fs/ocfs2/xattr.c\n  ocfs2: Initialize count in aio_write before generic_write_checks\n  ocfs2: log the actual return value of ocfs2_file_aio_write()\n  ...\n"
    },
    {
      "commit": "78efd1ddd95d2fac1ed8d5fadd9dab885ea70e55",
      "tree": "c1f6fc2afe93250f7dd5e37f3ee1f57281b19bf0",
      "parents": [
        "b637dc0dba6a243da2c74f5d02b42ba5eeb9425e",
        "a8914f3a6d72c97328597a556a99daaf5cc288ae"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 12 08:49:35 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 12 08:49:35 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs:\n  xfs: fix spin_is_locked assert on uni-processor builds\n  xfs: check for dinode realtime flag corruption\n  use XFS_CORRUPTION_ERROR in xfs_btree_check_sblock\n  xfs: switch to NOFS allocation under i_lock in xfs_attr_rmtval_get\n  xfs: switch to NOFS allocation under i_lock in xfs_readlink_bmap\n  xfs: switch to NOFS allocation under i_lock in xfs_attr_rmtval_set\n  xfs: switch to NOFS allocation under i_lock in xfs_buf_associate_memory\n  xfs: switch to NOFS allocation under i_lock in xfs_dir_cilookup_result\n  xfs: switch to NOFS allocation under i_lock in xfs_da_buf_make\n  xfs: switch to NOFS allocation under i_lock in xfs_da_state_alloc\n  xfs: switch to NOFS allocation under i_lock in xfs_getbmap\n  xfs: avoid memory allocation under m_peraglock in growfs code\n"
    },
    {
      "commit": "1ae88b2e446261c038f2c0c3150ffae142b227a2",
      "tree": "b3c9c11e4391c59086308e2674661688db5b12f5",
      "parents": [
        "7cb7beb31aa3d941833b6a6e553687422c31e4b6"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Aug 12 09:12:30 2009 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 12 08:21:39 2009 -0700"
      },
      "message": "NFS: Fix an O_DIRECT Oops...\n\nWe can\u0027t call nfs_readdata_release()/nfs_writedata_release() without\nfirst initialising and referencing args.context. Doing so inside\nnfs_direct_read_schedule_segment()/nfs_direct_write_schedule_segment()\ncauses an Oops.\n\nWe should rather be calling nfs_readdata_free()/nfs_writedata_free() in\nthose cases.\n\nLooking at the O_DIRECT code, the \"struct nfs_direct_req\" is already\nreferencing the nfs_open_context for us. Since the readdata and writedata\nstructures carry a reference to that, we can simplify things by getting rid\nof the extra nfs_open_context references, so that we can replace all\ninstances of nfs_readdata_release()/nfs_writedata_release().\n\nReported-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nTested-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a8914f3a6d72c97328597a556a99daaf5cc288ae",
      "tree": "95f569b102f56dfa70cfb8019ef63be8ee828fc1",
      "parents": [
        "b89d4208de3de442c9025919c4261be0b38e79a4"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Aug 10 11:32:44 2009 -0300"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Wed Aug 12 01:08:27 2009 -0500"
      },
      "message": "xfs: fix spin_is_locked assert on uni-processor builds\n\nWithout SMP or preemption spin_is_locked always returns false,\nso we can\u0027t do an assert with it.  Instead use assert_spin_locked,\nwhich does the right thing on all builds.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nReported-by: Johannes Engel \u003cjcnengel@googlemail.com\u003e\nTested-by: Johannes Engel \u003cjcnengel@googlemail.com\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "b89d4208de3de442c9025919c4261be0b38e79a4",
      "tree": "3c47c8d10c3ef50e2423528d0d8db7a738928621",
      "parents": [
        "e0c222c411e22f086e929cd69fdcc89336164ec1"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Aug 10 11:32:18 2009 -0300"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Wed Aug 12 01:08:21 2009 -0500"
      },
      "message": "xfs: check for dinode realtime flag corruption\n\nRamon tested XFS with a modified version of fsfuzzer and hit a NULL\npointer dereference in __xfs_get_blocks due to the RT device target\npointer being NULL.\n\nTo fix this reject inode with the realtime bit set on a a filesystem\nwithout an RT subvolume during inode read.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nReviewed-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\nReported-by: Ramon de Carvalho Valle \u003cramon@risesecurity.org\u003e\nTested-by: Ramon de Carvalho Valle \u003cramon@risesecurity.org\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "e0c222c411e22f086e929cd69fdcc89336164ec1",
      "tree": "9ebfde895dfa96d1ee01d1979ccbfae1b35c971b",
      "parents": [
        "ddd3a14e0f030f0f7b900621f67532285b8657ef"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Mon Jul 20 10:52:15 2009 -0500"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Wed Aug 12 01:08:10 2009 -0500"
      },
      "message": "use XFS_CORRUPTION_ERROR in xfs_btree_check_sblock\n\nIn Red Hat Bug 512552\n - Can\u0027t write to XFS mount during raid5 resync\n\na user ran into corruption while resyncing a raid, and we failed\na consistency test, but didn\u0027t get much more info; it\u0027d be nice\nto call XFS_CORRUPTION_ERROR here so we can see the buffer\ncontents.\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "ddd3a14e0f030f0f7b900621f67532285b8657ef",
      "tree": "d8c0d11c5adc45b1a6657ddd51b6435e3d28f1f9",
      "parents": [
        "7b02ecb3031b192823bc732ae717febc0a59aa92"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sat Jul 18 18:15:01 2009 -0400"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Wed Aug 12 01:08:01 2009 -0500"
      },
      "message": "xfs: switch to NOFS allocation under i_lock in xfs_attr_rmtval_get\n\nxfs_attr_rmtval_get is always called with i_lock held, but i_lock is taken\nin reclaim context so all allocations under it must avoid recursions into\nthe filesystem.\n\nReported by the new reclaim context tracing in lockdep.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "7b02ecb3031b192823bc732ae717febc0a59aa92",
      "tree": "aeb5e3c56f4634ad3b391dd8a7eab1fce81f0eea",
      "parents": [
        "10746e47e722b5688fcd6eba9fbf9b2e64a248a7"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sat Jul 18 18:15:00 2009 -0400"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Wed Aug 12 01:07:53 2009 -0500"
      },
      "message": "xfs: switch to NOFS allocation under i_lock in xfs_readlink_bmap\n\nxfs_readlink_bmap is called with i_lock held, but i_lock is taken in\nreclaim context so all allocations under it must avoid recursions into\nthe filesystem.\n\nReported by the new reclaim context tracing in lockdep.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "10746e47e722b5688fcd6eba9fbf9b2e64a248a7",
      "tree": "5109c89eed3c087cf5889297881a5dc5d9efd3ce",
      "parents": [
        "36fae17a648e0aee5d9560514d08477ef48dc87f"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sat Jul 18 18:14:59 2009 -0400"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Wed Aug 12 01:07:44 2009 -0500"
      },
      "message": "xfs: switch to NOFS allocation under i_lock in xfs_attr_rmtval_set\n\nxfs_attr_rmtval_set is always called with i_lock held, and i_lock is taken\nin reclaim context so all allocations under it must avoid recursions into\nthe filesystem.\n\nReported by the new reclaim context tracing in lockdep.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "36fae17a648e0aee5d9560514d08477ef48dc87f",
      "tree": "ac01d872ec2f654e2c305485e79e95d05ccb0c27",
      "parents": [
        "3f52c2f0a07c23771909cc53f2e9451a7f1bf253"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sat Jul 18 18:14:58 2009 -0400"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Wed Aug 12 01:07:38 2009 -0500"
      },
      "message": "xfs: switch to NOFS allocation under i_lock in xfs_buf_associate_memory\n\nxfs_buf_associate_memory is used for setting up the spare buffer for the\nlog wrap case in xlog_sync which can happen under i_lock when called from\nxfs_fsync. The i_lock mutex is taken in reclaim context so all allocations\nunder it must avoid recursions into the filesystem.  There are a couple\nmore uses of xfs_buf_associate_memory in the log recovery code that are\nalso affected by this, but I\u0027d rather keep the code simple than passing on\na gfp_mask argument.  Longer term we should just stop requiring the memoery\nallocation in xlog_sync by some smaller rework of the buffer layer.\n\nReported by the new reclaim context tracing in lockdep.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "3f52c2f0a07c23771909cc53f2e9451a7f1bf253",
      "tree": "7341f0217f771cdc62cf799f79b4137ac3daf292",
      "parents": [
        "73195ed7864ae4a1fb0bea2ed9df59d19b4fde90"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sat Jul 18 18:14:57 2009 -0400"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Wed Aug 12 01:07:23 2009 -0500"
      },
      "message": "xfs: switch to NOFS allocation under i_lock in xfs_dir_cilookup_result\n\nxfs_dir_cilookup_result is always called with i_lock held, but i_lock is taken\nin reclaim context so all allocations under it must avoid recursions into the\nfilesystem.\n\nReported by the new reclaim context tracing in lockdep.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "73195ed7864ae4a1fb0bea2ed9df59d19b4fde90",
      "tree": "fa82fba833a12dec9f6f8113852266e2861b276c",
      "parents": [
        "f41d7fb9da05b604f8a69fb6cac2a0563c8ede4e"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sat Jul 18 18:14:56 2009 -0400"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Wed Aug 12 01:07:14 2009 -0500"
      },
      "message": "xfs: switch to NOFS allocation under i_lock in xfs_da_buf_make\n\ni_lock is taken in the reclaim context so all allocations under it\nmust avoid recursions into the filesystem.\n\nReported by the new reclaim context tracing in lockdep.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "f41d7fb9da05b604f8a69fb6cac2a0563c8ede4e",
      "tree": "7602eb7f81322551fd4fd8e37f11e05550bf49b2",
      "parents": [
        "ca35dcd6cae7d4a780c484c53f45548c4719f82c"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sat Jul 18 18:14:55 2009 -0400"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Wed Aug 12 01:07:07 2009 -0500"
      },
      "message": "xfs: switch to NOFS allocation under i_lock in xfs_da_state_alloc\n\nxfs_da_state_alloc is always called with i_lock held, but i_lock is taken in\nreclaim context so all allocations under it must avoid recursions into the\nfilesystem.\n\nReported by the new reclaim context tracing in lockdep.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "ca35dcd6cae7d4a780c484c53f45548c4719f82c",
      "tree": "ef2c93d8c55e075a8153e39eda7aa94464b64677",
      "parents": [
        "0cc6eee130b0c062feec8446d9cecdb17d2cfad3"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sat Jul 18 18:14:54 2009 -0400"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Wed Aug 12 01:06:59 2009 -0500"
      },
      "message": "xfs: switch to NOFS allocation under i_lock in xfs_getbmap\n\nxfs_getbmap allocates memory with i_lock held, but i_lock is taken in\nreclaim context so all allocations under it must avoid recursions into\nthe filesystem.\n\nReported by the new reclaim context tracing in lockdep.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "0cc6eee130b0c062feec8446d9cecdb17d2cfad3",
      "tree": "488cbdb1fb8623285c4fb7c3a913516d7b7905d2",
      "parents": [
        "c8a4051c3731b6db224482218cfd535ab9393ff8"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sat Jul 18 18:14:53 2009 -0400"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Wed Aug 12 01:06:51 2009 -0500"
      },
      "message": "xfs: avoid memory allocation under m_peraglock in growfs code\n\nAllocate the memory for the larger m_perag array before taking the\nper-AG lock as the per-AG lock can be taken under the i_lock which\ncan be taken from reclaim context.\n\nReported by the new reclaim context tracing in lockdep.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "b409d7a0ab46fe530efe52734984b4ed5d46c3eb",
      "tree": "f9f7861ff8b943ee905dc16a8290cac757df391e",
      "parents": [
        "8a57a9dda760ea7845390f1cd36f3eb2a49391d8"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Aug 06 23:29:34 2009 +0200"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Mon Aug 10 12:20:22 2009 -0700"
      },
      "message": "ocfs2: Fix possible deadlock when extending quota file\n\nIn OCFS2, allocator locks rank above transaction start. Thus we\ncannot extend quota file from inside a transaction less we could\ndeadlock.\n\nWe solve the problem by starting transaction not already in\nocfs2_acquire_dquot() but only in ocfs2_local_read_dquot() and\nocfs2_global_read_dquot() and we allocate blocks to quota files before starting\nthe transaction.  In case we crash, quota files will just have a few blocks\nmore but that\u0027s no problem since we just use them next time we extend the\nquota file.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "704b836cbf19e885f8366bccb2e4b0474346c02d",
      "tree": "d0513d3ef70e1b875cd7786f94150ba2428b6a88",
      "parents": [
        "00f89d218523b9bf6b522349c039d5ac80aa536d"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Jul 10 03:27:40 2009 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Aug 10 20:49:26 2009 +1000"
      },
      "message": "mm_for_maps: take -\u003ecred_guard_mutex to fix the race with exec\n\nThe problem is minor, but without -\u003ecred_guard_mutex held we can race\nwith exec() and get the new -\u003emm but check old creds.\n\nNow we do not need to re-check task-\u003emm after ptrace_may_access(), it\ncan\u0027t be changed to the new mm under us.\n\nStrictly speaking, this also fixes another very minor problem. Unless\nsecurity check fails or the task exits mm_for_maps() should never\nreturn NULL, the caller should get either old or new -\u003emm.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "00f89d218523b9bf6b522349c039d5ac80aa536d",
      "tree": "cde7a8bde2798e4fb3ae28756f6cedd4db9191cc",
      "parents": [
        "13f0feafa6b8aead57a2a328e2fca6a5828bf286"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Jul 10 03:27:38 2009 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Aug 10 20:48:32 2009 +1000"
      },
      "message": "mm_for_maps: shift down_read(mmap_sem) to the caller\n\nmm_for_maps() takes -\u003emmap_sem after security checks, this looks\nstrange and obfuscates the locking rules. Move this lock to its\nsingle caller, m_start().\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "13f0feafa6b8aead57a2a328e2fca6a5828bf286",
      "tree": "fb396118339319406daf7f6782782eaef31b3b53",
      "parents": [
        "f4b9a988685da6386d7f9a72df3098bcc3270526"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Tue Jun 23 21:25:32 2009 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Aug 10 20:47:42 2009 +1000"
      },
      "message": "mm_for_maps: simplify, use ptrace_may_access()\n\nIt would be nice to kill __ptrace_may_access(). It requires task_lock(),\nbut this lock is only needed to read mm-\u003eflags in the middle.\n\nConvert mm_for_maps() to use ptrace_may_access(), this also simplifies\nthe code a little bit.\n\nAlso, we do not need to take -\u003emmap_sem in advance. In fact I think\nmm_for_maps() should not play with -\u003emmap_sem at all, the caller should\ntake this lock.\n\nWith or without this patch, without -\u003ecred_guard_mutex held we can race\nwith exec() and get the new -\u003emm but check old creds.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nReviewed-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "d6a0967c90dced0a8baf502e6f3d5862fd5a5805",
      "tree": "e0242d5077730dabc4102b7abad9ee0c41e33bc0",
      "parents": [
        "fb385003c4ac9634cf2448f6ded81e5fd1190c1f",
        "ceab36edd3d3ad3ffd01d41d6d1e05ac1ff8357e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 07 19:03:09 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 07 19:03:09 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:\n  Btrfs: fix balancing oops when invalidate_inode_pages2 returns EBUSY\n  Btrfs: correct error-handling zlib error handling\n  Btrfs: remove superfluous NULL pointer check in btrfs_rename()\n  Btrfs: make sure the async caching thread advances the key\n  Btrfs: fix btrfs_remove_from_free_space corner case\n"
    },
    {
      "commit": "fb385003c4ac9634cf2448f6ded81e5fd1190c1f",
      "tree": "3a6068559cef144c04b96372ee0eecf20dfb108b",
      "parents": [
        "36b8659f9316b24c514a7c8290596b2382b91dd2",
        "b36ec0428a06fcbdb67d61e9e664154e5dd9a8c7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 07 18:53:44 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 07 18:53:44 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/hch/xfs-icache-races\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/hch/xfs-icache-races:\n  xfs: fix freeing of inodes not yet added to the inode cache\n  vfs: add __destroy_inode\n  vfs: fix inode_init_always calling convention\n"
    },
    {
      "commit": "8a57a9dda760ea7845390f1cd36f3eb2a49391d8",
      "tree": "67c6566851787cd5836e763d63b069144743e4da",
      "parents": [
        "e7432675f8ca868a4af365759a8d4c3779a3d922"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Thu Aug 06 16:07:50 2009 -0700"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Aug 07 13:16:50 2009 -0700"
      },
      "message": "ocfs2: keep index within status_map[]\n\nDo not exceed array status_map[]\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nCc: Mark Fasheh \u003cmfasheh@suse.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "e7432675f8ca868a4af365759a8d4c3779a3d922",
      "tree": "238d57e12fae632c9baeca98ddec701b3391ff29",
      "parents": [
        "ab57a40827d99e2d8e59066a56b93bf6c844c916"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Thu Aug 06 16:12:58 2009 -0700"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Aug 07 13:16:23 2009 -0700"
      },
      "message": "ocfs2: Initialize the cluster we\u0027re writing to in a non-sparse extend\n\nIn a non-sparse extend, we correctly allocate (and zero) the clusters between\nthe old_i_size and pos, but we don\u0027t zero the portions of the cluster we\u0027re\nwriting to outside of pos\u003c-\u003elen.\n\nIt handles clustersize \u003e pagesize and blocksize \u003c pagesize.\n\n[Cleaned up by Joel Becker.]\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "ceab36edd3d3ad3ffd01d41d6d1e05ac1ff8357e",
      "tree": "a6d899030878d52ae6d7932e459deece3524c787",
      "parents": [
        "60f2e8f8a07331097a57ec4abcdc680405579377"
      ],
      "author": {
        "name": "Yan Zheng",
        "email": "zheng.yan@oracle.com",
        "time": "Fri Aug 07 13:51:33 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Aug 07 13:51:33 2009 -0400"
      },
      "message": "Btrfs: fix balancing oops when invalidate_inode_pages2 returns EBUSY\n\ninvalidate_inode_pages2_range may return -EBUSY occasionally\nwhich results Oops. This patch fixes the issue by moving\ninvalidate_inode_pages2_range into a loop and keeping calling\nit until the return value is not -EBUSY.\n\nThe EBUSY return is temporary, and can happen when the btrfs release page\nfunction is unable to release a page because the EXTENT_LOCK\nbit is set.\n\nSigned-off-by: Yan Zheng \u003czheng.yan@oracle.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "60f2e8f8a07331097a57ec4abcdc680405579377",
      "tree": "6ed3c6c8fc2ad4c824c7d2c942fe7d3ece924dc7",
      "parents": [
        "4baf8c9201e88546918cbfa61ea8062c38bc1644"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Fri Aug 07 13:51:33 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Aug 07 13:51:33 2009 -0400"
      },
      "message": "Btrfs: correct error-handling zlib error handling\n\nfind_zlib_workspace returns an ERR_PTR value in an error case instead of NULL.\n\nA simplified version of the semantic match that finds this problem is as\nfollows: (http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@match exists@\nexpression x, E;\nstatement S1, S2;\n@@\n\nx \u003d find_zlib_workspace(...)\n... when !\u003d x \u003d E\n(\n*  if (x \u003d\u003d NULL || ...) S1 else S2\n|\n*  if (x \u003d\u003d NULL \u0026\u0026 ...) S1 else S2\n)\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "4baf8c9201e88546918cbfa61ea8062c38bc1644",
      "tree": "7ea84d6155aa7b4e246df56ea0f79d5b3da08d87",
      "parents": [
        "013f1b12f4fc479f697acae2f31bad220162cd03"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Aug 07 13:47:08 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Aug 07 13:47:08 2009 -0400"
      },
      "message": "Btrfs: remove superfluous NULL pointer check in btrfs_rename()\n\nThis takes care of the following entry from Dan\u0027s list:\n\nfs/btrfs/inode.c +4788 btrfs_rename(36) warning: variable derefenced before check \u0027old_inode\u0027\n\nReported-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nCc: Jonathan Corbet \u003ccorbet@lwn.net\u003e\nCc: Eugene Teo \u003ceteo@redhat.com\u003e\nCc: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "389623fef0e8b088f293c437d3b7094fe82349fd",
      "tree": "e7e7175531f9ee9a7b215fe6b8c62674fb32862a",
      "parents": [
        "385861206c21364c01dcfdda5064643ce111d517",
        "57ca7deb062abf56168d15f000c16e25f88a9cf3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 07 10:42:31 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 07 10:42:31 2009 -0700"
      },
      "message": "Merge git://git.infradead.org/mtd-2.6\n\n* git://git.infradead.org/mtd-2.6:\n  jffs2: Fix return value from jffs2_do_readpage_nolock()\n  mtd: mtdblock: introduce mtdblks_lock\n  mtd: remove \u0027SBC8240 Wind River\u0027 Device Driver Code\n  mtd: OneNAND: OMAP2/3: free GPMC CS on module removal\n  mtd: OneNAND: fix incorrect bufferram offset\n  mtd: blkdevs: do not forget to get MTD devices\n  mtd: fix the conversion from dev to mtd_info\n  mtd: let include/linux/mtd/partitions.h stand on its own\n"
    },
    {
      "commit": "3440625d78711bee41a84cf29c3d8c579b522666",
      "tree": "c430bf6cc2b0f5ad4ce9464f378f14824e7fc28b",
      "parents": [
        "9e5cf0ca2e9b65110ae5f094d7f0f7165cd1bbbb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 06 15:09:34 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 07 10:39:57 2009 -0700"
      },
      "message": "flat: fix uninitialized ptr with shared libs\n\nThe new credentials code broke load_flat_shared_library() as it now uses\nan uninitialized cred pointer.\n\nReported-by: Bernd Schmidt \u003cbernds_cb1@t-online.de\u003e\nTested-by: Bernd Schmidt \u003cbernds_cb1@t-online.de\u003e\nCc: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2d8dd38a5aa0cc2490bbad9b75e77fa154e1d145",
      "tree": "dcc1ec93e95dde5704a7e37939454c9b24904758",
      "parents": [
        "69130c7cf96ea853dc5be599dd6a4b98907d39cc"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Thu Aug 06 15:07:39 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 07 10:39:56 2009 -0700"
      },
      "message": "vfs: mnt_want_write_file(): fix special file handling\n\nI suspect that mnt_want_write_file() may have wrong assumption.  I think\nmnt_want_write_file() is assuming it increments -\u003emnt_writers if\n(file-\u003ef_mode \u0026 FMODE_WRITE).  But, if it\u0027s special_file(), it is false?\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nAcked-by: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "69130c7cf96ea853dc5be599dd6a4b98907d39cc",
      "tree": "9ac97112a66388664534436ee88903e01fa1f705",
      "parents": [
        "0035fe00f77d2b0a1a2d001f7442136d1ec5aefa"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Thu Aug 06 15:07:37 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 07 10:39:56 2009 -0700"
      },
      "message": "compat_ioctl: hook up compat handler for FIEMAP ioctl\n\nThe FIEMAP_IOC_FIEMAP mapping ioctl was missing a 32-bit compat handler,\nwhich means that 32-bit suerspace on 64-bit kernels cannot use this ioctl\ncommand.\n\nThe structure is nicely aligned, padded, and sized, so it is just this\nsimple.\n\nTested w/ 32-bit ioctl tester (from Josef) on a 64-bit kernel on ext4.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Mark Lord \u003clkml@rtr.ca\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Josef Bacik \u003cjosef@redhat.com\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b36ec0428a06fcbdb67d61e9e664154e5dd9a8c7",
      "tree": "556cb840214cdff185dfd419bed6dc876a58ae01",
      "parents": [
        "2e00c97e2c1d2ffc9e26252ca26b237678b0b772"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Aug 07 14:38:34 2009 -0300"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@brick.lst.de",
        "time": "Fri Aug 07 14:38:34 2009 -0300"
      },
      "message": "xfs: fix freeing of inodes not yet added to the inode cache\n\nWhen freeing an inode that lost race getting added to the inode cache we\nmust not call into -\u003edestroy_inode, because that would delete the inode\nthat won the race from the inode cache radix tree.\n\nThis patch uses splits a new xfs_inode_free helper out of xfs_ireclaim\nand uses that plus __destroy_inode to make sure we really only free\nthe memory allocted for the inode that lost the race, and not mess with\nthe inode cache state.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nReported-by: Alex Samad \u003calex@samad.com.au\u003e\nReported-by: Andrew Randrianasulu \u003crandrik@mail.ru\u003e\nReported-by: Stephane \u003csharnois@max-t.com\u003e\nReported-by: Tommy \u003ctommy@news-service.com\u003e\nReported-by: Miah Gregory \u003cmace@darksilence.net\u003e\nReported-by: Gabriel Barazer \u003cgabriel@oxeva.fr\u003e\nReported-by: Leandro Lucarella \u003cllucax@gmail.com\u003e\nReported-by: Daniel Burr \u003cdburr@fami.com.au\u003e\nReported-by: Nickolay \u003cnewmail@spaces.ru\u003e\nReported-by: Michael Guntsche \u003cmike@it-loops.com\u003e\nReported-by: Dan Carley \u003cdan.carley+linuxkern-bugs@gmail.com\u003e\nReported-by: Michael Ole Olsen \u003cgnu@gmx.net\u003e\nReported-by: Michael Weissenbacher \u003cmw@dermichi.com\u003e\nReported-by: Martin Spott \u003cMartin.Spott@mgras.net\u003e\nReported-by: Christian Kujau \u003clists@nerdbynature.de\u003e\nTested-by: Michael Guntsche \u003cmike@it-loops.com\u003e\nTested-by: Dan Carley \u003cdan.carley+linuxkern-bugs@gmail.com\u003e\nTested-by: Christian Kujau \u003clists@nerdbynature.de\u003e\n"
    },
    {
      "commit": "2e00c97e2c1d2ffc9e26252ca26b237678b0b772",
      "tree": "e2c65f473e079c4b6027f7f8b7224febe7483884",
      "parents": [
        "54e346215e4fe2ca8c94c54e546cc61902060510"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Aug 07 14:38:29 2009 -0300"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@brick.lst.de",
        "time": "Fri Aug 07 14:38:29 2009 -0300"
      },
      "message": "vfs: add __destroy_inode\n\nWhen we want to tear down an inode that lost the add to the cache race\nin XFS we must not call into -\u003edestroy_inode because that would delete\nthe inode that won the race from the inode cache radix tree.\n\nThis patch provides the __destroy_inode helper needed to fix this,\nthe actual fix will be in th next patch.  As XFS was the only reason\ndestroy_inode was exported we shift the export to the new __destroy_inode.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n"
    },
    {
      "commit": "54e346215e4fe2ca8c94c54e546cc61902060510",
      "tree": "9b4ed9b0ab78117ba1a41db7073708031622cf10",
      "parents": [
        "90bc1a658a53f8832ee799685703977a450e5af9"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Aug 07 14:38:25 2009 -0300"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@brick.lst.de",
        "time": "Fri Aug 07 14:38:25 2009 -0300"
      },
      "message": "vfs: fix inode_init_always calling convention\n\nCurrently inode_init_always calls into -\u003edestroy_inode if the additional\ninitialization fails.  That\u0027s not only counter-intuitive because\ninode_init_always did not allocate the inode structure, but in case of\nXFS it\u0027s actively harmful as -\u003edestroy_inode might delete the inode from\na radix-tree that has never been added.  This in turn might end up\ndeleting the inode for the same inum that has been instanciated by\nanother process and cause lots of cause subtile problems.\n\nAlso in the case of re-initializing a reclaimable inode in XFS it would\nfree an inode we still want to keep alive.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n"
    },
    {
      "commit": "624720e09c9b7913ef4bc6989878a6fcb7ecdff8",
      "tree": "be36dc1fc45a4cf5d5100ca5252e6aa3b465fbe2",
      "parents": [
        "849c9caa60642095060e9c21f14687ae9149a6f3",
        "01a261e09a21e0ba342d3907a79cf5c78ee3f37a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 04 15:28:23 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 04 15:28:23 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2:\n  nilfs2: fix missing unlock in error path of nilfs_mdt_write_page\n  nilfs2: fix oops due to inconsistent state in page with discrete b-tree nodes\n"
    },
    {
      "commit": "849c9caa60642095060e9c21f14687ae9149a6f3",
      "tree": "b33da1ea12f55ad11b547fc723f72b22e1d9cecc",
      "parents": [
        "a33a052f19a21d727847391c8c1aff3fb221c472",
        "d098564f3b2b5d555e51bca765a6a9e0dda8f2cd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 04 15:27:56 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 04 15:27:56 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:\n  [CIFS] Update readme to reflect forceuid mount parms\n  cifs: Read buffer overflow\n  cifs: show noforceuid/noforcegid mount options (try #2)\n  cifs: reinstate original behavior when uid\u003d/gid\u003d options are specified\n  [CIFS] Updates fs/cifs/CHANGES\n  cifs: fix error handling in mount-time DFS referral chasing code\n"
    },
    {
      "commit": "57ca7deb062abf56168d15f000c16e25f88a9cf3",
      "tree": "f9dac86ff98ca5f40498834fbd74559437398329",
      "parents": [
        "d676c11727815761e41a81b00c054b4bec452ae5"
      ],
      "author": {
        "name": "Anders Grafström",
        "email": "grfstrm@users.sourceforge.net",
        "time": "Tue Aug 04 13:11:47 2009 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Tue Aug 04 12:13:06 2009 +0100"
      },
      "message": "jffs2: Fix return value from jffs2_do_readpage_nolock()\n\nThis fixes \"kernel BUG at fs/jffs2/file.c:251!\".\nThis pseudocode hopefully illustrates the scenario that triggers it:\n\njffs2_write_begin {\n     jffs2_do_readpage_nolock {\n         jffs2_read_inode_range {\n             jffs2_read_dnode {\n                 Data CRC 33c102e9 !\u003d calculated CRC 0ef77e7b for node at 005d42e4\n                 return -EIO;\n             }\n         }\n         ClearPageUptodate(pg);\n         return 0;\n     }\n}\n\njffs2_write_end {\n     BUG_ON(!PageUptodate(pg));\n}\n\nSigned-off-by: Anders Grafström \u003cgrfstrm@users.sourceforge.net\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "d098564f3b2b5d555e51bca765a6a9e0dda8f2cd",
      "tree": "4408cca53ee3a1c024514d1dd06cedd58bc5af48",
      "parents": [
        "24e2fb615fd6b624c320cec9ea9d91a75dad902e"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Aug 04 03:53:28 2009 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Aug 04 03:53:28 2009 +0000"
      },
      "message": "[CIFS] Update readme to reflect forceuid mount parms\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "24e2fb615fd6b624c320cec9ea9d91a75dad902e",
      "tree": "f6849650d675636490a14659228ce9a18004bc77",
      "parents": [
        "4486d6ede16b362f89b29845af6fe1a26ae78a54"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Sun Aug 02 13:00:18 2009 +0200"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Aug 03 21:01:32 2009 +0000"
      },
      "message": "cifs: Read buffer overflow\n\nCheck whether index is within bounds before testing the element.\n\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "4486d6ede16b362f89b29845af6fe1a26ae78a54",
      "tree": "b96bb887453baccdcfe1a0afee0f6cc9e7aaae4a",
      "parents": [
        "9b9d6b2434fe942895c341b9a982f158529788ec"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Aug 03 12:45:10 2009 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Aug 03 21:01:17 2009 +0000"
      },
      "message": "cifs: show noforceuid/noforcegid mount options (try #2)\n\nSince forceuid is the default, we now need to show when it\u0027s disabled.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "01a261e09a21e0ba342d3907a79cf5c78ee3f37a",
      "tree": "e26e8008ce2de35afe2703529d771268a256329f",
      "parents": [
        "a97778457f22181e8c38c4cd7d7e528378738a98"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sun Aug 02 17:45:55 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sun Aug 02 22:24:15 2009 +0900"
      },
      "message": "nilfs2: fix missing unlock in error path of nilfs_mdt_write_page\n\nThis adds a missing unlock of nilfs-\u003ens_writer_mutex in\nnilfs_mdt_write_page() function.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "9b9d6b2434fe942895c341b9a982f158529788ec",
      "tree": "402b7f233fae53f45d5ad3a445360200b6fa2cc7",
      "parents": [
        "5bd9052d79daa4c8beb45436c408b6de672adb82"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Jul 31 06:56:09 2009 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sun Aug 02 03:47:25 2009 +0000"
      },
      "message": "cifs: reinstate original behavior when uid\u003d/gid\u003d options are specified\n\nThis patch fixes the regression reported here:\n\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d13861\n\ncommit 4ae1507f6d266d0cc3dd36e474d83aad70fec9e4 changed the default\nbehavior when the uid\u003d or gid\u003d option was specified for a mount. The\nexisting behavior was to always clobber the ownership information\nprovided by the server when these options were specified. The above\ncommit changed this behavior so that these options simply provided\ndefaults when the server did not provide this information (unless\n\"forceuid\" or \"forcegid\" were specified)\n\nThis patch reverts this change so that the default behavior is restored.\nIt also adds \"noforceuid\" and \"noforcegid\" options to make it so that\nownership information from the server is preserved, even when the mount\nhas uid\u003d or gid\u003d options specified.\n\nIt also adds a couple of printk notices that pop up when forceuid or\nforcegid options are specified without a uid\u003d or gid\u003d option.\n\nReported-by: Tom Chiverton \u003cbugzilla.kernel.org@falkensweb.com\u003e\nReviewed-by: Shirish Pargaonkar \u003cshirishp@us.ibm.com\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "a97778457f22181e8c38c4cd7d7e528378738a98",
      "tree": "d2ee3d9491ab2b17551f099d9a6119407700dbd2",
      "parents": [
        "ed680c4ad478d0fee9740f7d029087f181346564"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Tue Jul 28 17:55:29 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sat Aug 01 22:48:32 2009 +0900"
      },
      "message": "nilfs2: fix oops due to inconsistent state in page with discrete b-tree nodes\n\nAndrea Gelmini gave me a report that a kernel oops hit on a nilfs\nfilesystem with a 1KB block size when doing rsync.\n\nThis turned out to be caused by an inconsistency of dirty state\nbetween a page and its buffers storing b-tree node blocks.\n\nIf the page had multiple buffers split over multiple logs, and if the\nlogs were written at a time, a dirty flag remained in the page even\nevery dirty flag in the buffers was cleared.\n\nThis will fix the failure by dropping the dirty flag properly for\npages with the discrete multiple b-tree nodes.\n\nReported-by: Andrea Gelmini \u003candrea.gelmini@gmail.com\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nTested-by: Andrea Gelmini \u003candrea.gelmini@gmail.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "ab57a40827d99e2d8e59066a56b93bf6c844c916",
      "tree": "eed0b61db8addf2aac7113dd78d187ddf1a47959",
      "parents": [
        "e9956fae7dbce6ac770e7a00436c496ddbbd3215"
      ],
      "author": {
        "name": "Goldwyn Rodrigues",
        "email": "rgoldwyn@gmail.com",
        "time": "Fri Jul 31 14:28:02 2009 -0500"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Jul 31 13:43:44 2009 -0700"
      },
      "message": "ocfs2: Remove redundant BUG_ON in __dlm_queue_ast()\n\nWe BUG_ON() the same thing twice.\n\nSigned-off-by: Goldwyn Rodrigues \u003crgoldwyn@suse.de\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "f5266cbd2fca04dbd0387a67f550b6667ffa4ed2",
      "tree": "ee3c3a8d92fc1745d63baa6e069959694a11dbe4",
      "parents": [
        "a5bc92cdf2ab27a15732976004b3755c40740f57",
        "c8a4051c3731b6db224482218cfd535ab9393ff8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 31 12:17:37 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 31 12:17:37 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs:\n  xfs: bump up nr_to_write in xfs_vm_writepage\n  xfs: reduce bmv_count in xfs_vn_fiemap\n"
    },
    {
      "commit": "013f1b12f4fc479f697acae2f31bad220162cd03",
      "tree": "b51225aa32f249de352840b31b49eb9799fdafe8",
      "parents": [
        "6606bb97e146a387932efee263745b7240a11193"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Jul 31 14:57:55 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Jul 31 14:57:55 2009 -0400"
      },
      "message": "Btrfs: make sure the async caching thread advances the key\n\nThe async caching thread can end up looping forever if a given\nsearch puts it at the last key in a leaf.  It will end up calling\nbtrfs_next_leaf and then checking if it needs to politely drop\nthe read semaphore.\n\nMost of the time this looping isn\u0027t noticed because it is able to\nmake progress the next time around.  But, during log replay,\nwe wait on the async caching thread to finish, and the async thread\nis waiting on the commit, and no progress is really made.\n\nThe fix used here is to copy the key out of the next leaf,\nthat way our search lands there properly.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "6606bb97e146a387932efee263745b7240a11193",
      "tree": "76652e563a889cc03d7d179074bb1aab9ef3a3f4",
      "parents": [
        "f36f3042eae238bdaefe7c79310afe573bfc3622"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Fri Jul 31 11:03:58 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Jul 31 11:03:58 2009 -0400"
      },
      "message": "Btrfs: fix btrfs_remove_from_free_space corner case\n\nYan Zheng hit a problem where we tried to remove some free space but failed\nbecause we couldn\u0027t find the free space entry.  This is because the free space\nwas held within a bitmap that had a starting offset well before the actual\noffset of the free space, and there were free space extents that were in the\nsame range as that offset, so tree_search_offset returned with NULL because we\ncouldn\u0027t find a free space extent that had that offset.  This is fixed by\nmaking sure that if we fail to find the entry, we re-search again with\nbitmap_only set to 1 and do an offset_to_bitmap so we can get the appropriate\nbitmap.  A similar problem happens in btrfs_alloc_from_bitmap for the\nclustering code, but that is not as bad since we will just go and redo our\ncluster allocation.\n\nAlso this adds some debugging checks to make sure that the free space we are\ntrying to remove from the bitmap is in fact there.  This can probably go away\nafter a while, but since this code is only used by the tree-logging stuff it\nwould be nice to run with it for a while to make sure there are no problems.\n\nSigned-off-by: Josef Bacik \u003cjbacik@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "c8a4051c3731b6db224482218cfd535ab9393ff8",
      "tree": "78b326f229fd670e37e1eb08f89bede4260aec95",
      "parents": [
        "97db39a1f6f69e906e98118392400de5217aa33a"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Fri Jul 31 00:02:17 2009 -0500"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Fri Jul 31 00:57:11 2009 -0500"
      },
      "message": "xfs: bump up nr_to_write in xfs_vm_writepage\n\nVM calculation for nr_to_write seems off.  Bump it way\nup, this gets simple streaming writes zippy again.\nTo be reviewed again after Jens\u0027 writeback changes.\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nReviewed-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "97db39a1f6f69e906e98118392400de5217aa33a",
      "tree": "f5735b99542d8d31dcad907294c5cf7a0657b563",
      "parents": [
        "fd40261354802b0f05f6f67121235aa002e87069"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Sun Jul 26 21:52:01 2009 -0500"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Fri Jul 31 00:56:58 2009 -0500"
      },
      "message": "xfs: reduce bmv_count in xfs_vn_fiemap\n\ncommit 6321e3ed2acf3ee9643cdd403e1c88605d7944ba caused\nthe full bmv_count\u0027s worth of getbmapx structures to get\nallocated; telling it to do MAXEXTNUM was a bit insane,\nresulting in ENOMEM every time.\n\nChop it down to something reasonable, the number of slots\nin the caller\u0027s input buffer.  If this is too large the\ncaller may get ENOMEM but the reason should not be a\nmystery, and they can try again with something smaller.\n\nWe add 1 to the value because in the normal getbmap\nworld, bmv_count includes the header and xfs_getbmap does:\n\n        nex \u003d bmv-\u003ebmv_count - 1;\n        if (nex \u003c\u003d 0)\n                return XFS_ERROR(EINVAL);\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nReviewed-by: Olaf Weber \u003colaf@sgi.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "ec6a8679fa8ce977c8b7f86238455b494699de74",
      "tree": "d06401567f67cd757ddf358168bdf574cb4b94f5",
      "parents": [
        "db06816cb9ceb21a2bf24122407b7b4fe419c3fc",
        "f36f3042eae238bdaefe7c79310afe573bfc3622"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 30 16:46:48 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 30 16:46:48 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:\n  Btrfs: be more polite in the async caching threads\n  Btrfs: preserve commit_root for async caching\n"
    },
    {
      "commit": "784b1d6b21cb25791b68276af27a7c2321d5a86f",
      "tree": "06b21ba973390931d591e6ecf3ee38db2c0bdd92",
      "parents": [
        "691c5f7374ee3d48fd2c838261820a06e4be9043",
        "4bf17af0dbfe4cf20cb750e22e8e926273e7a7a4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 30 16:46:17 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 30 16:46:17 2009 -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: Fix loading of VAT inode when drive wrongly reports number of recorded blocks\n"
    },
    {
      "commit": "691c5f7374ee3d48fd2c838261820a06e4be9043",
      "tree": "c9fb4f9f62fd27409b35e6d217faecbc722cb7dd",
      "parents": [
        "fbdbf8389976b9f40d36f21985be28a0f438f779",
        "dee865656f2d8b866f8ac22c60d6363b914e9f12"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 30 16:46:06 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 30 16:46:06 2009 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-quota-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-quota-2.6:\n  quota: Silence lockdep on quota_on\n"
    },
    {
      "commit": "79af3133174da620171eea82bb505a5a5cb7c6f4",
      "tree": "1cf726b76589998039c3020efd00d622572e0300",
      "parents": [
        "e1ca4aed112b270162302d389281b6cefac60a12",
        "b94a170e96dc416828af9d350ae2e34b70ae7347"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 30 16:45:37 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 30 16:45:37 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes:\n  GFS2: remove dcache entries for remote deleted inodes\n  GFS2: Fix incorrent statfs consistency check\n  GFS2: Don\u0027t put unlikely reclaim candidates on the reclaim list.\n  GFS2: Don\u0027t try and dealloc own inode\n  GFS2: Fix panic in glock memory shrinker\n  GFS2: keep statfs info in sync on grows\n  GFS2: Shrink the shrinker\n"
    },
    {
      "commit": "e9956fae7dbce6ac770e7a00436c496ddbbd3215",
      "tree": "e1b1cd0c59a598ec671e563a732f6935133a1520",
      "parents": [
        "0584974a77796581eb3a64b6c5005edac4a95128"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Thu Jul 30 16:07:10 2009 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Jul 30 11:06:06 2009 -0700"
      },
      "message": "ocfs2/quota: Release lock for error in ocfs2_quota_write.\n\nocfs2_quota_write needs to release the lock if it fails to\nread quota block. So use \"goto out\" instead of \"return err\".\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    }
  ],
  "next": "dee865656f2d8b866f8ac22c60d6363b914e9f12"
}
