)]}'
{
  "log": [
    {
      "commit": "4a67a1bc0b3a0db017b560cee27370d141c58e25",
      "tree": "ab039581d41c9fa45a1bac9eb843baa1312a5969",
      "parents": [
        "8231f2f99a5e5fc45a25e8de09fd1ab9711babf1"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Jan 21 11:55:11 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:38:24 2009 -0700"
      },
      "message": "sysfs: Take sysfs_mutex when fetching the root inode.\n\nsysfs_get_inode ultimately calls sysfs_count_nlink when the a\ndirectory inode is fectched.  sysfs_count_nlink needs to be\ncalled under the sysfs_mutex to guard against the unlikely\nbut possible scenario that the root directory is changing\nas we are counting the number entries in it, and just in\ngeneral to be consistent.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "8231f2f99a5e5fc45a25e8de09fd1ab9711babf1",
      "tree": "18fd1173f6197e373905d94c904c16763086ed06",
      "parents": [
        "1fa5ae857bb14f6046205171d98506d8112dd74e"
      ],
      "author": {
        "name": "Qinghuang Feng",
        "email": "qhfeng.kernel@gmail.com",
        "time": "Wed Jan 14 15:45:13 2009 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:38:24 2009 -0700"
      },
      "message": "SYSFS: use standard magic.h for sysfs\n\nSYSFS_MAGIC has been added into magic.h, so only use that definition\nin magic.h to avoid potential consistency problem.\n\nSigned-off-by: Qinghuang Feng \u003cqhfeng.kernel@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f762dd68218665bb87d4e4a0eeac86fde7530293",
      "tree": "f5076d7f587f0c80235ebd558e94a8e9728e6f5a",
      "parents": [
        "2aac0cf88681bfa092f731553bc7fbd23516be73"
      ],
      "author": {
        "name": "Gertjan van Wingerde",
        "email": "gwingerde@gmail.com",
        "time": "Sat Mar 21 23:18:57 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 22 11:28:37 2009 -0700"
      },
      "message": "Update my email address\n\nUpdate all previous incarnations of my email address to the correct one.\n\nSigned-off-by: Gertjan van Wingerde \u003cgwingerde@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2aac0cf88681bfa092f731553bc7fbd23516be73",
      "tree": "b723cbe9c67b0cafa9081690d03b4ecec038d9f6",
      "parents": [
        "8faece5f906725c10e7a1f6caf84452abadbdc7b"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Fri Mar 20 02:23:57 2009 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 22 11:20:43 2009 -0700"
      },
      "message": "eCryptfs: NULL crypt_stat dereference during lookup\n\nIf ecryptfs_encrypted_view or ecryptfs_xattr_metadata were being\nspecified as mount options, a NULL pointer dereference of crypt_stat\nwas possible during lookup.\n\nThis patch moves the crypt_stat assignment into\necryptfs_lookup_and_interpose_lower(), ensuring that crypt_stat\nwill not be NULL before we attempt to dereference it.\n\nThanks to Dan Carpenter and his static analysis tool, smatch, for\nfinding this bug.\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\nAcked-by: Dustin Kirkland \u003ckirkland@canonical.com\u003e\nCc: Dan Carpenter \u003cerror27@gmail.com\u003e\nCc: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8faece5f906725c10e7a1f6caf84452abadbdc7b",
      "tree": "bbe7d6cba67c909fbc86fc63dbfa1cf0d3cb12bc",
      "parents": [
        "18a0d89e54ca0f6f33582f99ae39867b2c975559"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Fri Mar 20 01:25:09 2009 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 22 11:20:43 2009 -0700"
      },
      "message": "eCryptfs: Allocate a variable number of pages for file headers\n\nWhen allocating the memory used to store the eCryptfs header contents, a\nsingle, zeroed page was being allocated with get_zeroed_page().\nHowever, the size of an eCryptfs header is either PAGE_CACHE_SIZE or\nECRYPTFS_MINIMUM_HEADER_EXTENT_SIZE (8192), whichever is larger, and is\nstored in the file\u0027s private_data-\u003ecrypt_stat-\u003enum_header_bytes_at_front\nfield.\n\necryptfs_write_metadata_to_contents() was using\nnum_header_bytes_at_front to decide how many bytes should be written to\nthe lower filesystem for the file header.  Unfortunately, at least 8K\nwas being written from the page, despite the chance of the single,\nzeroed page being smaller than 8K.  This resulted in random areas of\nkernel memory being written between the 0x1000 and 0x1FFF bytes offsets\nin the eCryptfs file headers if PAGE_SIZE was 4K.\n\nThis patch allocates a variable number of pages, calculated with\nnum_header_bytes_at_front, and passes the number of allocated pages\nalong to ecryptfs_write_metadata_to_contents().\n\nThanks to Florian Streibelt for reporting the data leak and working with\nme to find the problem.  2.6.28 is the only kernel release with this\nvulnerability.  Corresponds to CVE-2009-0787\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\nAcked-by: Dustin Kirkland \u003ckirkland@canonical.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nReviewed-by: Eugene Teo \u003ceugeneteo@kernel.sg\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: dann frazier \u003cdannf@dannf.org\u003e\nCc: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Florian Streibelt \u003cflorian@f-streibelt.de\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "65c24491b4fef017c64e39ec64384fde5e05e0a0",
      "tree": "3afa5c9eace50837f3c31238102358cf67b8a1ff",
      "parents": [
        "87c3a86e1c220121d0ced59d1a71e78ed9abc6dd"
      ],
      "author": {
        "name": "Jeff Moyer",
        "email": "jmoyer@redhat.com",
        "time": "Wed Mar 18 17:04:21 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 19 15:57:18 2009 -0700"
      },
      "message": "aio: lookup_ioctx can return the wrong value when looking up a bogus context\n\nThe libaio test harness turned up a problem whereby lookup_ioctx on a\nbogus io context was returning the 1 valid io context from the list\n(harness/cases/3.p).\n\nBecause of that, an extra put_iocontext was done, and when the process\nexited, it hit a BUG_ON in the put_iocontext macro called from exit_aio\n(since we expect a users count of 1 and instead get 0).\n\nThe problem was introduced by \"aio: make the lookup_ioctx() lockless\"\n(commit abf137dd7712132ee56d5b3143c2ff61a72a5faa).\n\nThanks to Zach for pointing out that hlist_for_each_entry_rcu will not\nreturn with a NULL tpos at the end of the loop, even if the entry was\nnot found.\n\nSigned-off-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nAcked-by: Zach Brown \u003czach.brown@oracle.com\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Benjamin LaHaise \u003cbcrl@kvack.org\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "87c3a86e1c220121d0ced59d1a71e78ed9abc6dd",
      "tree": "f0460d0a5f34da0c3df3cc729b705fc93a69be4b",
      "parents": [
        "d0115552cdb0b4d4146975889fee2e9355515c4b"
      ],
      "author": {
        "name": "Davide Libenzi",
        "email": "davidel@xmailserver.org",
        "time": "Wed Mar 18 17:04:19 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 19 15:57:18 2009 -0700"
      },
      "message": "eventfd: remove fput() call from possible IRQ context\n\nRemove a source of fput() call from inside IRQ context.  Myself, like Eric,\nwasn\u0027t able to reproduce an fput() call from IRQ context, but Jeff said he was\nable to, with the attached test program.  Independently from this, the bug is\nconceptually there, so we might be better off fixing it.  This patch adds an\noptimization similar to the one we already do on -\u003eki_filp, on -\u003eki_eventfd.\nPlaying with -\u003ef_count directly is not pretty in general, but the alternative\nhere would be to add a brand new delayed fput() infrastructure, that I\u0027m not\nsure is worth it.\n\nSigned-off-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Benjamin LaHaise \u003cbcrl@kvack.org\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nCc: Zach Brown \u003czach.brown@oracle.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": "fe2fd6cc346cc7199a52250e8fb594852b2a321b",
      "tree": "d5a796b695c682165e014fc535cc04d3510c4e7f",
      "parents": [
        "a8e7d49aa7be728c4ae241a75a2a124cdcabc0c5",
        "913d952eb573c3d1f7487e83b5590e13e7cae2bd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 19 14:49:55 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 19 14:49:55 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: Clear space_info full when adding new devices\n  Btrfs: Fix locking around adding new space_info\n"
    },
    {
      "commit": "a8e7d49aa7be728c4ae241a75a2a124cdcabc0c5",
      "tree": "fec49351496b886d8aa0e7b55e58c2f1394b051a",
      "parents": [
        "68df3755e383e6fecf2354a67b08f92f18536594"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 19 11:32:05 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 19 11:32:05 2009 -0700"
      },
      "message": "Fix race in create_empty_buffers() vs __set_page_dirty_buffers()\n\nNick Piggin noticed this (very unlikely) race between setting a page\ndirty and creating the buffers for it - we need to hold the mapping\nprivate_lock until we\u0027ve set the page dirty bit in order to make sure\nthat create_empty_buffers() might not build up a set of buffers without\nthe dirty bits set when the page is dirty.\n\nI doubt anybody has ever hit this race (and it didn\u0027t solve the issue\nNick was looking at), but as Nick says: \"Still, it does appear to solve\na real race, which we should close.\"\n\nAcked-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "85bff8857c62ab2bc3ed204de3fcde74781bbdb2",
      "tree": "9d5c8998f4c13f2b9525897ef546559c8fd49cf5",
      "parents": [
        "d941d0ed6bf274ca267dd4de5861ffd24e1ae8f8",
        "76a67ec6fb79ff3570dcb5342142c16098299911"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 18 09:27:20 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 18 09:27:20 2009 -0700"
      },
      "message": "Merge branch \u0027for-2.6.29\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.29\u0027 of git://linux-nfs.org/~bfields/linux:\n  nfsd: nfsd should drop CAP_MKNOD for non-root\n  NFSD: provide encode routine for OP_OPENATTR\n"
    },
    {
      "commit": "58cefd2b1e062147502302179503dc51907426d1",
      "tree": "d6e5e83c6205ad3184f7c2826807e8786e528383",
      "parents": [
        "ee568b25ee9e160b32d1aef73d8b2ee9c05d34db",
        "d33a1976fbee1ee321d6f014333d8f03a39d526c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 17 20:55:40 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 17 20:55:40 2009 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:\n  ext4: fix bb_prealloc_list corruption due to wrong group locking\n  ext4: fix bogus BUG_ONs in in mballoc code\n  ext4: Print the find_group_flex() warning only once\n  ext4: fix header check in ext4_ext_search_right() for deep extent trees.\n"
    },
    {
      "commit": "84f09f46b4ee9e4e9b6381f8af31817516d2091b",
      "tree": "33fd95cf666577e0f1b592719851da09de7c0f5c",
      "parents": [
        "ee568b25ee9e160b32d1aef73d8b2ee9c05d34db"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Mar 04 23:05:35 2009 +0200"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Mar 17 14:54:45 2009 -0400"
      },
      "message": "NFSD: provide encode routine for OP_OPENATTR\n\nAlthough this operation is unsupported by our implementation\nwe still need to provide an encode routine for it to\nmerely encode its (error) status back in the compound reply.\n\nThanks for Bill Baker at sun.com for testing with the Sun\nOpenSolaris\u0027 client, finding, and reporting this bug at\nConnectathon 2009.\n\nThis bug was introduced in 2.6.27\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nCc: stable@kernel.org\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "ee568b25ee9e160b32d1aef73d8b2ee9c05d34db",
      "tree": "a29f070d82e6f787570213161c4c46c16ca6ef8a",
      "parents": [
        "30390880debce4a68fd23e87a787f27609e4bf4a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 17 10:02:35 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 17 10:02:35 2009 -0700"
      },
      "message": "Avoid 64-bit \"switch()\" statements on 32-bit architectures\n\nCommit ee6f779b9e0851e2f7da292a9f58e0095edf615a (\"filp-\u003ef_pos not\ncorrectly updated in proc_task_readdir\") changed the proc code to use\nfilp-\u003ef_pos directly, rather than through a temporary variable.  In the\nprocess, that caused the operations to be done on the full 64 bits, even\nthough the offset is never that big.\n\nThat\u0027s all fine and dandy per se, but for some unfathomable reason gcc\ngenerates absolutely horrid code when using 64-bit values in switch()\nstatements.  To the point of actually calling out to gcc helper\nfunctions like __cmpdi2 rather than just doing the trivial comparisons\ndirectly the way gcc does for normal compares.  At which point we get\nlink failures, because we really don\u0027t want to support that kind of\ncrazy code.\n\nFix this by just casting the f_pos value to \"unsigned long\", which\nis plenty big enough for /proc, and avoids the gcc code generation issue.\n\nReported-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Zhang Le \u003cr0bertz@gentoo.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d33a1976fbee1ee321d6f014333d8f03a39d526c",
      "tree": "9cc0de162cd0cba81d08ea1d0e505be6b2d54361",
      "parents": [
        "8d03c7a0c550e7ab24cadcef5e66656bfadec8b9"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Mar 16 23:25:40 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Mar 16 23:25:40 2009 -0400"
      },
      "message": "ext4: fix bb_prealloc_list corruption due to wrong group locking\n\nThis is for Red Hat bug 490026: EXT4 panic, list corruption in\next4_mb_new_inode_pa\n\next4_lock_group(sb, group) is supposed to protect this list for\neach group, and a common code flow to remove an album is like\nthis:\n\n    ext4_get_group_no_and_offset(sb, pa-\u003epa_pstart, \u0026grp, NULL);\n    ext4_lock_group(sb, grp);\n    list_del(\u0026pa-\u003epa_group_list);\n    ext4_unlock_group(sb, grp);\n\nso it\u0027s critical that we get the right group number back for\nthis prealloc context, to lock the right group (the one \nassociated with this pa) and prevent concurrent list manipulation.\n\nhowever, ext4_mb_put_pa() passes in (pa-\u003epa_pstart - 1) with a \ncomment, \"-1 is to protect from crossing allocation group\".\n\nThis makes sense for the group_pa, where pa_pstart is advanced\nby the length which has been used (in ext4_mb_release_context()),\nand when the entire length has been used, pa_pstart has been\nadvanced to the first block of the next group.\n\nHowever, for inode_pa, pa_pstart is never advanced; it\u0027s just\nset once to the first block in the group and not moved after\nthat.  So in this case, if we subtract one in ext4_mb_put_pa(),\nwe are actually locking the *previous* group, and opening the\nrace with the other threads which do not subtract off the extra\nblock.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "ee6f779b9e0851e2f7da292a9f58e0095edf615a",
      "tree": "71aa57da0fea292c50b12d9ef73373fcd940162e",
      "parents": [
        "5bee17f18b595937e6beafeee5197868a3f74a06"
      ],
      "author": {
        "name": "Zhang Le",
        "email": "r0bertz@gentoo.org",
        "time": "Mon Mar 16 14:44:31 2009 +0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 16 07:51:33 2009 -0700"
      },
      "message": "filp-\u003ef_pos not correctly updated in proc_task_readdir\n\nfilp-\u003ef_pos only get updated at the end of the function. Thus d_off of those\ndirents who are in the middle will be 0, and this will cause a problem in\nglibc\u0027s readdir implementation, specifically endless loop. Because when overflow\noccurs, f_pos will be set to next dirent to read, however it will be 0, unless\nthe next one is the last one. So it will start over again and again.\n\nThere is a sample program in man 2 gendents. This is the output of the program\nrunning on a multithread program\u0027s task dir before this patch is applied:\n\n  $ ./a.out /proc/3807/task\n  --------------- nread\u003d128 ---------------\n  i-node#  file type  d_reclen  d_off   d_name\n    506442  directory    16          1  .\n    506441  directory    16          0  ..\n    506443  directory    16          0  3807\n    506444  directory    16          0  3809\n    506445  directory    16          0  3812\n    506446  directory    16          0  3861\n    506447  directory    16          0  3862\n    506448  directory    16          8  3863\n\nThis is the output after this patch is applied\n\n  $ ./a.out /proc/3807/task\n  --------------- nread\u003d128 ---------------\n  i-node#  file type  d_reclen  d_off   d_name\n    506442  directory    16          1  .\n    506441  directory    16          2  ..\n    506443  directory    16          3  3807\n    506444  directory    16          4  3809\n    506445  directory    16          5  3812\n    506446  directory    16          6  3861\n    506447  directory    16          7  3862\n    506448  directory    16          8  3863\n\nSigned-off-by: Zhang Le \u003cr0bertz@gentoo.org\u003e\nAcked-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "18553c38bcdef9b0cc69a784cd033a8a21bfa012",
      "tree": "03b2b4f92a5ccb3416adb69196248751e3a1d0c2",
      "parents": [
        "326d8519fc97be186c55ac605c3a7c957c758ae1",
        "bfbd442f69ec9c58590ffc6e93ac8d6809caa48b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 14 13:43:18 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 14 13:43:18 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  Fix Xilinx SystemACE driver to handle empty CF slot\n  block: fix memory leak in bio_clone()\n  block: Add gfp_mask parameter to bio_integrity_clone()\n"
    },
    {
      "commit": "059ea3318c8ede71851a52b4359fbf1ab0cec301",
      "tree": "29a70645e27947d820884b1249d0d7f26b8ea0d8",
      "parents": [
        "87092698c665e0a358caf9825ae13114343027e8"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Mon Mar 09 10:42:45 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sat Mar 14 21:06:52 2009 +0100"
      },
      "message": "block: fix memory leak in bio_clone()\n\nIf bio_integrity_clone() fails, bio_clone() returns NULL without freeing\nthe newly allocated bio.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "87092698c665e0a358caf9825ae13114343027e8",
      "tree": "4003d12a76e1cd5b50d275a0aef536d4a86d0092",
      "parents": [
        "041b62374c7fedc11a8a1eeda2868612d3d1436c"
      ],
      "author": {
        "name": "un\u0027ichi Nomura",
        "email": "j-nomura@ce.jp.nec.com",
        "time": "Mon Mar 09 10:40:52 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sat Mar 14 21:06:51 2009 +0100"
      },
      "message": "block: Add gfp_mask parameter to bio_integrity_clone()\n\nStricter gfp_mask might be required for clone allocation.\nFor example, request-based dm may clone bio in interrupt context\nso it has to use GFP_ATOMIC.\n\nSigned-off-by: Kiyoshi Ueda \u003ck-ueda@ct.jp.nec.com\u003e\nSigned-off-by: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nAcked-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nCc: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "f1823acfbcc7d29029d6db757644bc820664af37",
      "tree": "bf7839d0976f90c638b4f7806be8ee16f3b786a7",
      "parents": [
        "ff9cb43ce09a9069f0ec95375d2f403578ec4977",
        "9f4c899c0d90e1b51b6864834f3877b47c161a0e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 14 12:00:18 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 14 12:00:18 2009 -0700"
      },
      "message": "Merge branch \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:\n  NFS: Fix the fix to Bugzilla #11061, when IPv6 isn\u0027t defined...\n  SUNRPC: xprt_connect() don\u0027t abort the task if the transport isn\u0027t bound\n  SUNRPC: Fix an Oops due to socket not set up yet...\n  Bug 11061, NFS mounts dropped\n  NFS: Handle -ESTALE error in access()\n  NLM: Fix GRANT callback address comparison when IPv6 is enabled\n  NLM: Shrink the IPv4-only version of nlm_cmp_addr()\n  NFSv3: Fix posix ACL code\n  NFS: Fix misparsing of nfsv4 fs_locations attribute (take 2)\n  SUNRPC: Tighten up the task locking rules in __rpc_execute()\n"
    },
    {
      "commit": "ff9cb43ce09a9069f0ec95375d2f403578ec4977",
      "tree": "e31981c31f663d98ddb02021d25c44c75f0355f1",
      "parents": [
        "2a4c13baebe30613cfa2c99d6a076f3a114dad9c",
        "712e53e46a1da35fcd88c05aa0c675b10f7c0e9d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 14 11:59:22 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 14 11:59:22 2009 -0700"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2:\n  ocfs2: Use xs-\u003ebucket to set xattr value outside\n  ocfs2: Fix a bug found by sparse check.\n  ocfs2: tweak to get the maximum inline data size with xattr\n  ocfs2: reserve xattr block for new directory with inline data\n"
    },
    {
      "commit": "84814d642a4f1f294bd675ab11aae1ca54c6cedb",
      "tree": "4ae91cce54c8d9578dc3217b6454a921b91833a3",
      "parents": [
        "15e7b8767605dc0cb9bd4594caabfec392385210"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Fri Mar 13 13:51:59 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 14 11:57:22 2009 -0700"
      },
      "message": "eCryptfs: don\u0027t encrypt file key with filename key\n\neCryptfs has file encryption keys (FEK), file encryption key encryption\nkeys (FEKEK), and filename encryption keys (FNEK).  The per-file FEK is\nencrypted with one or more FEKEKs and stored in the header of the\nencrypted file.  I noticed that the FEK is also being encrypted by the\nFNEK.  This is a problem if a user wants to use a different FNEK than\ntheir FEKEK, as their file contents will still be accessible with the\nFNEK.\n\nThis is a minimalistic patch which prevents the FNEKs signatures from\nbeing copied to the inode signatures list.  Ultimately, it keeps the FEK\nfrom being encrypted with a FNEK.\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\nCc: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Dustin Kirkland \u003ckirkland@canonical.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "15e7b8767605dc0cb9bd4594caabfec392385210",
      "tree": "3826c146f7ecce8188d76d83c5bf2875e5890909",
      "parents": [
        "020fe22ff14320927f394de222cbb11708bcc7a8"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Fri Mar 13 13:51:58 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 14 11:57:22 2009 -0700"
      },
      "message": "nommu: ramfs: don\u0027t leak pages when adding to page cache fails\n\nWhen a ramfs nommu mapping is expanded, contiguous pages are allocated\nand added to the pagecache.  The caller\u0027s reference is then passed on\nby moving whole pagevecs to the file lru list.\n\nIf the page cache adding fails, make sure that the error path also\nmoves the pagevec contents which might still contain up to PAGEVEC_SIZE\nsuccessfully added pages, of which we would leak references otherwise.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Enrik Berkhan \u003cEnrik.Berkhan@ge.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "020fe22ff14320927f394de222cbb11708bcc7a8",
      "tree": "1445c0134136c4aa84c9cb6aedd3043fae60f167",
      "parents": [
        "041b62374c7fedc11a8a1eeda2868612d3d1436c"
      ],
      "author": {
        "name": "Enrik Berkhan",
        "email": "Enrik.Berkhan@ge.com",
        "time": "Fri Mar 13 13:51:56 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 14 11:57:22 2009 -0700"
      },
      "message": "nommu: ramfs: pages allocated to an inode\u0027s pagecache may get wrongly discarded\n\nThe pages attached to a ramfs inode\u0027s pagecache by truncation from nothing\n- as done by SYSV SHM for example - may get discarded under memory\npressure.\n\nThe problem is that the pages are not marked dirty.  Anything that creates\ndata in an MMU-based ramfs will cause the pages holding that data will\ncause the set_page_dirty() aop to be called.\n\nFor the NOMMU-based mmap, set_page_dirty() may be called by write(), but\nit won\u0027t be called by page-writing faults on writable mmaps, and it isn\u0027t\ncalled by ramfs_nommu_expand_for_mapping() when a file is being truncated\nfrom nothing to allocate a contiguous run.\n\nThe solution is to mark the pages dirty at the point of allocation by the\ntruncation code.\n\nSigned-off-by: Enrik Berkhan \u003cEnrik.Berkhan@ge.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8d03c7a0c550e7ab24cadcef5e66656bfadec8b9",
      "tree": "1fce7a08eb712e9b895ca39786e6f5bef1e632f7",
      "parents": [
        "2842c3b5449f31470b61db716f1926b594fb6156"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Sat Mar 14 11:51:46 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Mar 14 11:51:46 2009 -0400"
      },
      "message": "ext4: fix bogus BUG_ONs in in mballoc code\n\nThiemo Nagel reported that:\n\n# dd if\u003d/dev/zero of\u003dimage.ext4 bs\u003d1M count\u003d2\n# mkfs.ext4 -v -F -b 1024 -m 0 -g 512 -G 4 -I 128 -N 1 \\\n  -O large_file,dir_index,flex_bg,extent,sparse_super image.ext4\n# mount -o loop image.ext4 mnt/\n# dd if\u003d/dev/zero of\u003dmnt/file\n\noopsed, with a BUG_ON in ext4_mb_normalize_request because\nsize \u003d\u003d EXT4_BLOCKS_PER_GROUP\n\nIt appears to me (esp. after talking to Andreas) that the BUG_ON\nis bogus; a request of exactly EXT4_BLOCKS_PER_GROUP should\nbe allowed, though larger sizes do indicate a problem.\n\nFix that an another (apparently rare) codepath with a similar check.\n\nReported-by: Thiemo Nagel \u003cthiemo.nagel@ph.tum.de\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "712e53e46a1da35fcd88c05aa0c675b10f7c0e9d",
      "tree": "f67f6aae06936bcf28c669b48e55ac39a6854be2",
      "parents": [
        "74e77eb30d0ecbb12964d005b439c8b84a505b84"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Thu Mar 12 08:37:34 2009 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Thu Mar 12 16:46:09 2009 -0700"
      },
      "message": "ocfs2: Use xs-\u003ebucket to set xattr value outside\n\nA long time ago, xs-\u003ebase is allocated a 4K size and all the contents\nin the bucket are copied to the it. Now we use ocfs2_xattr_bucket to\nabstract xattr bucket and xs-\u003ebase is initialized to the start of the\nbu_bhs[0]. So xs-\u003ebase + offset will overflow when the value root is\nstored outside the first block.\n\nThen why we can survive the xattr test by now? It is because we always\nread the bucket contiguously now and kernel mm allocate continguous\nmemory for us. We are lucky, but we should fix it. So just get the\nright value root as other callers do.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nAcked-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "74e77eb30d0ecbb12964d005b439c8b84a505b84",
      "tree": "99e14b596439c1cc04a8559859939e7e47825479",
      "parents": [
        "d9ae49d6e2b1ac9166e58ae3c9345135604beaa6"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Thu Mar 12 06:24:23 2009 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Thu Mar 12 16:46:01 2009 -0700"
      },
      "message": "ocfs2: Fix a bug found by sparse check.\n\nWe need to use le32_to_cpu to test rec-\u003ee_cpos in\nocfs2_dinode_insert_check.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nAcked-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "d9ae49d6e2b1ac9166e58ae3c9345135604beaa6",
      "tree": "e6d5bbc8160a8c810534dc699e79f2b2a7792000",
      "parents": [
        "6c9fd1dc0a597e575617a7de7086c8a3efa8f524"
      ],
      "author": {
        "name": "Tiger Yang",
        "email": "tiger.yang@oracle.com",
        "time": "Thu Mar 05 11:06:15 2009 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Thu Mar 12 16:45:46 2009 -0700"
      },
      "message": "ocfs2: tweak to get the maximum inline data size with xattr\n\nReplace max_inline_data with max_inline_data_with_xattr\nto ensure it correct when xattr inlined.\n\nSigned-off-by: Tiger Yang \u003ctiger.yang@oracle.com\u003e\nAcked-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "6c9fd1dc0a597e575617a7de7086c8a3efa8f524",
      "tree": "bda5cb32ef359dc97aa71ea73072f534f5c6f99b",
      "parents": [
        "ebdcc81c71937b30e09110c02a1e8a21fa770b6f"
      ],
      "author": {
        "name": "Tiger Yang",
        "email": "tiger.yang@oracle.com",
        "time": "Fri Mar 06 10:19:30 2009 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Thu Mar 12 16:45:40 2009 -0700"
      },
      "message": "ocfs2: reserve xattr block for new directory with inline data\n\nIf this is a new directory with inline data, we choose to\nreserve the entire inline area for directory contents and\nforce an external xattr block.\n\nSigned-off-by: Tiger Yang \u003ctiger.yang@oracle.com\u003e\nAcked-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "188de5ec56dc27e0556ad1bc41ec6bd84418d7bf",
      "tree": "3b177cbf31053926bf37d4e300312ee8c3cb8f12",
      "parents": [
        "5216a3c6d10c891015474fbf7126c92a1845bf74",
        "363911d027d1de1c6df79eb3f487f5476b9619f4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 12 16:32:36 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 12 16:32:36 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus:\n  Squashfs: Valid filesystems are flagged as bad by the corrupted fs patch\n"
    },
    {
      "commit": "7ef0d7377cb287e08f3ae94cebc919448e1f5dff",
      "tree": "3ab288db22eb17e76b5db1d9b8c6f7517570632f",
      "parents": [
        "f272b7bc447553410dde691aa31fc531adf9c175"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Thu Mar 12 14:31:38 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 12 16:20:24 2009 -0700"
      },
      "message": "fs: new inode i_state corruption fix\n\nThere was a report of a data corruption\nhttp://lkml.org/lkml/2008/11/14/121.  There is a script included to\nreproduce the problem.\n\nDuring testing, I encountered a number of strange things with ext3, so I\ntried ext2 to attempt to reduce complexity of the problem.  I found that\nfsstress would quickly hang in wait_on_inode, waiting for I_LOCK to be\ncleared, even though instrumentation showed that unlock_new_inode had\nalready been called for that inode.  This points to memory scribble, or\nsynchronisation problme.\n\ni_state of I_NEW inodes is not protected by inode_lock because other\nprocesses are not supposed to touch them until I_LOCK (and I_NEW) is\ncleared.  Adding WARN_ON(inode-\u003ei_state \u0026 I_NEW) to sites where we modify\ni_state revealed that generic_sync_sb_inodes is picking up new inodes from\nthe inode lists and passing them to __writeback_single_inode without\nwaiting for I_NEW.  Subsequently modifying i_state causes corruption.  In\nmy case it would look like this:\n\nCPU0                            CPU1\nunlock_new_inode()              __sync_single_inode()\n reg \u003c- inode-\u003ei_state\n reg -\u003e reg \u0026 ~(I_LOCK|I_NEW)   reg \u003c- inode-\u003ei_state\n reg -\u003e inode-\u003ei_state          reg -\u003e reg | I_SYNC\n                                reg -\u003e inode-\u003ei_state\n\nNon-atomic RMW on CPU1 overwrites CPU0 store and sets I_LOCK|I_NEW again.\n\nFix for this is rather than wait for I_NEW inodes, just skip over them:\ninodes concurrently being created are not subject to data integrity\noperations, and should not significantly contribute to dirty memory\neither.\n\nAfter this change, I\u0027m unable to reproduce any of the added warnings or\nhangs after ~1hour of running.  Previously, the new warnings would start\nimmediately and hang would happen in under 5 minutes.\n\nI\u0027m also testing on ext3 now, and so far no problems there either.  I\ndon\u0027t know whether this fixes the problem reported above, but it fixes a\nreal problem for me.\n\nCc: \"Jorge Boncompte [DTI2]\" \u003cjorge@dti2.net\u003e\nReported-by: Adrian Hunter \u003cext-adrian.hunter@nokia.com\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a3cfbb53b1764a3d1f58ddc032737ab9edaa7d41",
      "tree": "818ca39043749382a4b91d0310f532bf2fdc22ce",
      "parents": [
        "e5bc49ba7439b9726006d031d440cba96819f0f8"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Mar 12 14:31:29 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 12 16:20:23 2009 -0700"
      },
      "message": "vfs: add missing unlock in sget()\n\nIn sget(), destroy_super(s) is called with s-\u003es_umount held, which makes\nlockdep unhappy.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Menage \u003cmenage@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": "e5bc49ba7439b9726006d031d440cba96819f0f8",
      "tree": "103c02a297e4c7ba3ba1fd3c90a6bd2d6687f511",
      "parents": [
        "8d0df7a3d1ecbaf5d5602a59055c8ca993855bed"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Thu Mar 12 14:31:28 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 12 16:20:23 2009 -0700"
      },
      "message": "pipe_rdwr_fasync: fix the error handling to prevent the leak/crash\n\nIf the second fasync_helper() fails, pipe_rdwr_fasync() returns the error\nbut leaves the file on -\u003efasync_readers.\n\nThis was always wrong, but since 233e70f4228e78eb2f80dc6650f65d3ae3dbf17c\n\"saner FASYNC handling on file close\" we have the new problem.  Because in\nthis case setfl() doesn\u0027t set FASYNC bit, __fput() will not do\n-\u003efasync(0), and we leak fasync_struct with -\u003efa_file pointing to the\nfreed file.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Jonathan Corbet \u003ccorbet@lwn.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9f4c899c0d90e1b51b6864834f3877b47c161a0e",
      "tree": "862f6b59919392fbf7a82200a7c478b51defeaa9",
      "parents": [
        "01d37c428ae080563c0a3bb8bdfa88c65a6891d3"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 12 14:51:32 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 12 14:51:32 2009 -0400"
      },
      "message": "NFS: Fix the fix to Bugzilla #11061, when IPv6 isn\u0027t defined...\n\nStephen Rothwell reports:\n\nToday\u0027s linux-next build (powerpc ppc64_defconfig) failed like this:\n\nfs/built-in.o: In function `.nfs_get_client\u0027:\nclient.c:(.text+0x115010): undefined reference to `.__ipv6_addr_type\u0027\n\nFix by moving the IPV6 specific parts of commit\nd7371c41b0cda782256b1df759df4e8d4724584c (\"Bug 11061, NFS mounts dropped\")\ninto the \u0027#ifdef IPV6...\" section.\n\nAlso fix up a couple of formatting issues.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2842c3b5449f31470b61db716f1926b594fb6156",
      "tree": "d32d76a498621a00d961273a15a6e70b7f9db78d",
      "parents": [
        "395a87bfefbc400011417e9eaae33169f9f036c0"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Mar 12 12:20:01 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Mar 12 12:20:01 2009 -0400"
      },
      "message": "ext4: Print the find_group_flex() warning only once\n\nThis is a short-term warning, and even printk_ratelimit() can result\nin too much noise in system logs.  So only print it once as a warning.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "363911d027d1de1c6df79eb3f487f5476b9619f4",
      "tree": "6aa93b837f9719b0f51c11330f56288bc5acf51b",
      "parents": [
        "ebdcc81c71937b30e09110c02a1e8a21fa770b6f"
      ],
      "author": {
        "name": "Phillip Lougher",
        "email": "phillip@lougher.demon.co.uk",
        "time": "Thu Mar 12 03:23:48 2009 +0000"
      },
      "committer": {
        "name": "Phillip Lougher",
        "email": "phillip@lougher.demon.co.uk",
        "time": "Thu Mar 12 03:23:48 2009 +0000"
      },
      "message": "Squashfs: Valid filesystems are flagged as bad by the corrupted fs patch\n\nThe corrupted filesystem patch added a check against zlib trying to\noutput too much data in the presence of data corruption.  This check\ntriggered if zlib_inflate asked to be called again (Z_OK) with\navail_out \u003d\u003d 0 and no more output buffers available.  This check proves\nto be rather dumb, as it incorrectly catches the case where zlib has\ngenerated all the output, but there are still input bytes to be processed.\n\nThis patch does a number of things.  It removes the original check and\nreplaces it with code to not move to the next output buffer if there\nare no more output buffers available, relying on zlib to error if it\nwants an extra output buffer in the case of data corruption.  It\nalso replaces the Z_NO_FLUSH flag with the more correct Z_SYNC_FLUSH\nflag, and makes the error messages more understandable to\nnon-technical users.\n\nSigned-off-by: Phillip Lougher \u003cphillip@lougher.demon.co.uk\u003e\nReported-by: Stefan Lippers-Hollmann \u003cs.L-H@gmx.de\u003e\n"
    },
    {
      "commit": "0789d8fccb5673001b54536d8f2f87f5db0d646f",
      "tree": "8f4482c2b26f5f8b226433973bdf9b337dde9378",
      "parents": [
        "ebdcc81c71937b30e09110c02a1e8a21fa770b6f",
        "c141b2928fe20396a9ecdec85526e4b66ae96c90"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 11 14:29:03 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 11 14:29:03 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: only issues a cache flush on unmount if barriers are enabled\n  xfs: prevent lockdep false positive in xfs_iget_cache_miss\n  xfs: prevent kernel crash due to corrupted inode log format\n"
    },
    {
      "commit": "3a95ea1155c5d44aa58dde2f64f0ddafe27fd1fb",
      "tree": "de6d6392c58a37a7f13bacf899b3f56c32fabcf4",
      "parents": [
        "ad3bdefe877afb47480418fdb05ecd42842de65e"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Thu Mar 12 02:03:23 2009 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 11 12:04:18 2009 -0700"
      },
      "message": "Fix _fat_bmap() locking\n\nOn swapon() path, it has already i_mutex. So, this uses i_alloc_sem\ninstead of it.\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nReported-by: Laurent GUERBY \u003claurent@guerby.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ad3bdefe877afb47480418fdb05ecd42842de65e",
      "tree": "9124ed674d39d86160349d84e4112a7c54120c2b",
      "parents": [
        "16b71fdf97599f1b1b7f38418ee9922d9f117396"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Wed Mar 11 09:00:04 2009 +0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 11 07:43:33 2009 -0700"
      },
      "message": "proc: fix kflags to uflags copying in /proc/kpageflags\n\nFix kpf_copy_bit(src,dst) to be kpf_copy_bit(dst,src) to match the\nactual call patterns, e.g. kpf_copy_bit(kflags, KPF_LOCKED, PG_locked).\n\nThis misplacement of src/dst only affected reporting of PG_writeback,\nPG_reclaim and PG_buddy. For others kflags\u003d\u003duflags so not affected.\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d7371c41b0cda782256b1df759df4e8d4724584c",
      "tree": "c5807f0cb163db7bb4a03cdd6c986d8fa40545e0",
      "parents": [
        "a71ee337b31271e701f689d544b6153b75609bc5"
      ],
      "author": {
        "name": "Ian Dall",
        "email": "ian@beware.dropbear.id.au",
        "time": "Tue Mar 10 20:33:22 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Mar 10 20:33:22 2009 -0400"
      },
      "message": "Bug 11061, NFS mounts dropped\n\nAddresses: http://bugzilla.kernel.org/show_bug.cgi?id\u003d11061\n\nsockaddr structures can\u0027t be reliably compared using memcmp() because\nthere are padding bytes in the structure which can\u0027t be guaranteed to\nbe the same even when the sockaddr structures refer to the same\nsocket. Instead compare all the relevant fields. In the case of IPv6\nsin6_flowinfo is not compared because it only affects QoS and\nsin6_scope_id is only compared if the address is \"link local\" because\n\"link local\" addresses need only be unique to a specific link.\n\nSigned-off-by: Ian Dall \u003cian@beware.dropbear.id.au\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a71ee337b31271e701f689d544b6153b75609bc5",
      "tree": "56871bcec70c8f46a1fcc4b2f76763e948b508f0",
      "parents": [
        "57df675c60c5cf0748ddba9c7f85afde1530d74d"
      ],
      "author": {
        "name": "Suresh Jayaraman",
        "email": "sjayaraman@suse.de",
        "time": "Tue Mar 10 20:33:21 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Mar 10 20:33:21 2009 -0400"
      },
      "message": "NFS: Handle -ESTALE error in access()\n\nHi Trond,\n\nI have been looking at a bugreport where trying to open applications on KDE\non a NFS mounted home fails temporarily. There have been multiple reports on\ndifferent kernel versions pointing to this common issue:\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d12557\nhttps://bugs.launchpad.net/ubuntu/+source/linux/+bug/269954\nhttp://bugs.debian.org/cgi-bin/bugreport.cgi?bug\u003d508866.html\n\nThis issue can be reproducible consistently by doing this on a NFS mounted\nhome (KDE):\n1. Open 2 xterm sessions\n2. From one of the xterm session, do \"ssh -X \u003cremote host\u003e\"\n3. \"stat ~/.Xauthority\" on the remote SSH session\n4. Close the two xterm sessions\n5. On the server do a \"stat ~/.Xauthority\"\n6. Now on the client, try to open xterm\nThis will fail.\n\nEven if the filehandle had become stale, the NFS client should invalidate\nthe cache/inode and should repeat LOOKUP. Looking at the packet capture when\nthe failure occurs shows that there were two subsequent ACCESS() calls with\nthe same filehandle and both fails with -ESTALE error.\n\nI have tested the fix below. Now the client issue a LOOKUP after the\nACCESS() call fails with -ESTALE. If all this makes sense to you, can you\nconsider this for inclusion?\n\nThanks,\n\n\nIf the server returns an -ESTALE error due to stale filehandle in response to\nan ACCESS() call, we need to invalidate the cache and inode so that LOOKUP()\ncan be retried. Without this change, the nfs client retries ACCESS() with the\nsame filehandle, fails again and could lead to temporary failure of\napplications running on nfs mounted home.\n\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "57df675c60c5cf0748ddba9c7f85afde1530d74d",
      "tree": "9ee0df8d0b0b2b374bcaf66ead94886f39ac7220",
      "parents": [
        "78851e1aa4c3b796d5f0bb11b445016726302b44"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Mar 10 20:33:20 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Mar 10 20:33:20 2009 -0400"
      },
      "message": "NLM: Fix GRANT callback address comparison when IPv6 is enabled\n\nThe NFS mount command may pass an AF_INET server address to lockd.  If\nlockd happens to be using a PF_INET6 listener, the nlm_cmp_addr() in\nnlmclnt_grant() will fail to match requests from that host because they\nwill all have a mapped IPv4 AF_INET6 address.\n\nAdopt the same solution used in nfs_sockaddr_match_ipaddr() for NFSv4\ncallbacks: if either address is AF_INET, map it to an AF_INET6 address\nbefore doing the comparison.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ae46141ff08f1965b17c531b571953c39ce8b9e2",
      "tree": "12e9b19461fb00c7ba21d93272ddd470ca0e82b0",
      "parents": [
        "ef95d31e6de6be9602ce950b85fb7ab8af46ae42"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Mar 10 20:33:18 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Mar 10 20:33:18 2009 -0400"
      },
      "message": "NFSv3: Fix posix ACL code\n\nFix a memory leak due to allocation in the XDR layer. In cases where the\nRPC call needs to be retransmitted, we end up allocating new pages without\nclearing the old ones. Fix this by moving the allocation into\nnfs3_proc_setacls().\n\nAlso fix an issue discovered by Kevin Rudd, whereby the amount of memory\nreserved for the acls in the xdr_buf-\u003ehead was miscalculated, and causing\ncorruption.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ef95d31e6de6be9602ce950b85fb7ab8af46ae42",
      "tree": "aeb7d7a9893374a0c8975a5d060f07ab05283319",
      "parents": [
        "eb9b55ab4d73280597fd183b367d50452f4d7846"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Mar 10 20:33:17 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Mar 10 20:33:17 2009 -0400"
      },
      "message": "NFS: Fix misparsing of nfsv4 fs_locations attribute (take 2)\n\nThe changeset ea31a4437c59219bf3ea946d58984b01a45a289c (nfs: Fix\nmisparsing of nfsv4 fs_locations attribute) causes the mountpath that is\ncalculated at the beginning of try_location() to be clobbered when we\nlater strncpy a non-nul terminated hostname using an incorrect buffer\nlength.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "260219cc48cfb22486e5d0d706c978228a080d63",
      "tree": "2346222cc38d9e8da0aca1988d08b6e0ecdf0d0a",
      "parents": [
        "2f68891314b14e7e0ef07b4e77a8ea6e917fc74b"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Mar 10 12:55:51 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 10 15:55:11 2009 -0700"
      },
      "message": "devpts: remove graffiti\n\nVery annoying when working with containters.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "395a87bfefbc400011417e9eaae33169f9f036c0",
      "tree": "1f0d0f85f33166c9d6187102573a683c27d3e849",
      "parents": [
        "041b62374c7fedc11a8a1eeda2868612d3d1436c"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Tue Mar 10 18:18:47 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Mar 10 18:18:47 2009 -0400"
      },
      "message": "ext4: fix header check in ext4_ext_search_right() for deep extent trees.\n\nThe ext4_ext_search_right() function is confusing; it uses a\n\"depth\" variable which is 0 at the root and maximum at the leaves, \nbut the on-disk metadata uses a \"depth\" (actually eh_depth) which\nis opposite: maximum at the root, and 0 at the leaves.\n\nThe ext4_ext_check_header() function is given a depth and checks\nthe header agaisnt that depth; it expects the on-disk semantics,\nbut we are giving it the opposite in the while loop in this \nfunction.  We should be giving it the on-disk notion of \"depth\"\nwhich we can get from (p_depth - depth) - and if you look, the last\n(more commonly hit) call to ext4_ext_check_header() does just this.\n\nSending in the wrong depth results in (incorrect) messages\nabout corruption:\n\nEXT4-fs error (device sdb1): ext4_ext_search_right: bad header\nin inode #2621457: unexpected eh_depth - magic f30a, entries 340,\nmax 340(0), depth 1(2)\n\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d12821\n\nReported-by: David Dindorp \u003cddi@dubex.dk\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "913d952eb573c3d1f7487e83b5590e13e7cae2bd",
      "tree": "ce01f54ffbd6ae871c4e11560ae1c826cffe4d3a",
      "parents": [
        "4184ea7f908d95f329febc3665cf66da8568b467"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Mar 10 13:17:18 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Mar 10 13:17:18 2009 -0400"
      },
      "message": "Btrfs: Clear space_info full when adding new devices\n\nThe full flag on the space info structs tells the allocator not to try\nand allocate more chunks because the devices in the FS are fully allocated.\n\nWhen more devices are added, we need to clear the full flag so the allocator\nknows it has more space available.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n\n"
    },
    {
      "commit": "4184ea7f908d95f329febc3665cf66da8568b467",
      "tree": "ef16aabf4604c9c1aba23e222ff7fb4510052ebb",
      "parents": [
        "b9447ef80bd301b932ac4d85c9622e929de5fd62"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Mar 10 12:39:20 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Mar 10 12:39:20 2009 -0400"
      },
      "message": "Btrfs: Fix locking around adding new space_info\n\nStorage allocated to different raid levels in btrfs is tracked by\na btrfs_space_info structure, and all of the current space_infos are\ncollected into a list_head.\n\nMost filesystems have 3 or 4 of these structs total, and the list is\nonly changed when new raid levels are added or at unmount time.\n\nThis commit adds rcu locking on the list head, and properly frees\nthings at unmount time.  It also clears the space_info-\u003efull flag\nwhenever new space is added to the FS.\n\nThe locking for the space info list goes like this:\n\nreads: protected by rcu_read_lock()\nwrites: protected by the chunk_mutex\n\nAt unmount time we don\u0027t need special locking because all the readers\nare gone.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n\n"
    },
    {
      "commit": "1c91ffc896cf839a3a0923c0062ff61c930a21e0",
      "tree": "aa17696055c9a3176f3be3cfdda009e7b71922cc",
      "parents": [
        "6d5b5acca9e566515ef3f1ed617e7295c4f94345",
        "b9447ef80bd301b932ac4d85c9622e929de5fd62"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 09 09:13:16 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 09 09:13:16 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 spinlock assertions on UP systems\n"
    },
    {
      "commit": "b9447ef80bd301b932ac4d85c9622e929de5fd62",
      "tree": "6d0bb1f287ed09f7850b77e2f622c3bebb35112b",
      "parents": [
        "4e06bdd6cbd5105376e7caf4e683ed131e777389"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Mar 09 11:45:38 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Mar 09 11:45:38 2009 -0400"
      },
      "message": "Btrfs: fix spinlock assertions on UP systems\n\nbtrfs_tree_locked was being used to make sure a given extent_buffer was\nproperly locked in a few places.  But, it wasn\u0027t correct for UP compiled\nkernels.\n\nThis switches it to using assert_spin_locked instead, and renames it to\nbtrfs_assert_tree_locked to better reflect how it was really being used.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "5b61f6accfd6449150aefe13a7679ec360abcc16",
      "tree": "19544bac887b5849e6a3b4cbd2f78d7cd6774268",
      "parents": [
        "14016899967739585b7450d486681f4c5deec149",
        "7ce9d5d1f3c8736511daa413c64985a05b2feee3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 08 10:24:57 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 08 10:24:57 2009 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:\n  ext4: fix ext4_free_inode() vs. ext4_claim_inode() race\n"
    },
    {
      "commit": "c141b2928fe20396a9ecdec85526e4b66ae96c90",
      "tree": "d708be285a392950e85aacf8a24e130431d9c240",
      "parents": [
        "7d46be4a25fdfb503c20bad60a618adebfe2ac5c"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Mar 03 14:48:37 2009 -0500"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Fri Mar 06 17:35:12 2009 -0600"
      },
      "message": "xfs: only issues a cache flush on unmount if barriers are enabled\n\nCurrently we unconditionally issue a flush from xfs_free_buftarg, but\nsince 2.6.29-rc1 this gives a warning in the style of\n\n\tend_request: I/O error, dev vdb, sector 0\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "7d46be4a25fdfb503c20bad60a618adebfe2ac5c",
      "tree": "f2c5eda4725789eef643b931867b1fd6ad6bde70",
      "parents": [
        "ff392c497b43ddedbab5627b53928a654cc5486e"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Mar 03 14:48:35 2009 -0500"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Fri Mar 06 17:34:59 2009 -0600"
      },
      "message": "xfs: prevent lockdep false positive in xfs_iget_cache_miss\n\nThe inode can\u0027t be locked by anyone else as we just created it a few\nlines above and it\u0027s not been added to any lookup data structure yet.\n\nSo use a trylock that must succeed to get around the lockdep warnings.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReported-by: Alexander Beregalov \u003ca.beregalov@gmail.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nReviewed-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "ff392c497b43ddedbab5627b53928a654cc5486e",
      "tree": "3ba2bf44750f902b3480233307d6e1c4129b695a",
      "parents": [
        "27e88bf6af7d42adf790f7b2ed7d65475f191cf2"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Mar 03 14:48:36 2009 -0500"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Fri Mar 06 17:34:45 2009 -0600"
      },
      "message": "xfs: prevent kernel crash due to corrupted inode log format\n\nAndras Korn reported an oops on log replay causes by a corrupted\nxfs_inode_log_format_t passing a 0 size to kmem_zalloc.  This patch handles\nto small or too large numbers of log regions gracefully by rejecting the\nlog replay with a useful error message.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReported-by: Andras Korn \u003ckorn-sgi.com@chardonnay.math.bme.hu\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "f4f8056a862a9950320429dfda708c88b4ce6025",
      "tree": "5dc5874e703b35864d328269f12ef9840fb10bb5",
      "parents": [
        "edf2e2811efa9304ebe14f778d33b764cfd58b7a"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Thu Mar 05 00:55:31 2009 +0000"
      },
      "committer": {
        "name": "Phillip Lougher",
        "email": "phillip@lougher.demon.co.uk",
        "time": "Thu Mar 05 00:55:31 2009 +0000"
      },
      "message": "Squashfs: frag_size should be signed, as it can hold an error result\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: Phillip Lougher \u003cphillip@lougher.demon.co.uk\u003e\n"
    },
    {
      "commit": "118e1ef6fabfc023126e6075f6ac0fc729cb5285",
      "tree": "3c497ad9fcc5a459de9d75a688bb78c5220e8dd5",
      "parents": [
        "2450cf51a1bdba7037e91b1bcc494b01c58aaf66"
      ],
      "author": {
        "name": "Phillip Lougher",
        "email": "phillip@lougher.demon.co.uk",
        "time": "Thu Mar 05 00:31:12 2009 +0000"
      },
      "committer": {
        "name": "Phillip Lougher",
        "email": "phillip@lougher.demon.co.uk",
        "time": "Thu Mar 05 00:31:12 2009 +0000"
      },
      "message": "Squashfs: Fix oops when reading fsfuzzer corrupted filesystems\n\nThis fixes a code regression caused by the recent mainlining changes.\nThe recent code changes call zlib_inflate repeatedly, decompressing into\nseparate 4K buffers, this code didn\u0027t check for the possibility that\nzlib_inflate might ask for too many buffers when decompressing corrupted\ndata.\n\nSigned-off-by: Phillip Lougher \u003cphillip@lougher.demon.co.uk\u003e\n"
    },
    {
      "commit": "7ce9d5d1f3c8736511daa413c64985a05b2feee3",
      "tree": "89b30c50d6e09467f43f4f824d04838e9bb33026",
      "parents": [
        "fec6c6fec3e20637bee5d276fb61dd8b49a3f9cc"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Wed Mar 04 18:38:18 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Mar 04 18:38:18 2009 -0500"
      },
      "message": "ext4: fix ext4_free_inode() vs. ext4_claim_inode() race\n\nI was seeing fsck errors on inode bitmaps after a 4 thread\ndbench run on a 4 cpu machine:\n\nInode bitmap differences: -50736 -(50752--50753) etc...\n\nI believe that this is because ext4_free_inode() uses atomic\nbitops, and although ext4_new_inode() *used* to also use atomic \nbitops for synchronization, commit \n393418676a7602e1d7d3f6e560159c65c8cbd50e changed this to use\nthe sb_bgl_lock, so that we could also synchronize against\nread_inode_bitmap and initialization of uninit inode tables.\n\nHowever, that change left ext4_free_inode using atomic bitops,\nwhich I think leaves no synchronization between setting \u0026 \nunsetting bits in the inode table.\n\nThe below patch fixes it for me, although I wonder if we\u0027re \ngetting at all heavy-handed with this spinlock...\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nReviewed-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "36b31106b725ac2ca4941d4ee8dbb67df72ed5dd",
      "tree": "81a38dfa56d58ce3be085ed8b31fac6f41ef0571",
      "parents": [
        "7b88ed671a7157e427811db208bb167c49f33352",
        "8f64b32eb73fbfe9f38c4123121b63ee409278a7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 02 15:42:26 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 02 15:42:26 2009 -0800"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:\n  ext4: don\u0027t call jbd2_journal_force_commit_nested without journal\n  ext4: Reorder fs/Makefile so that ext2 root fs\u0027s are mounted using ext2\n  ext4: Remove duplicate call to ext4_commit_super() in ext4_freeze()\n"
    },
    {
      "commit": "5cf8cf4146de03de67d1a8aefbece66b65f255cc",
      "tree": "ced1ae8ce6217acdc717a394e7ebbdb5dcb1886e",
      "parents": [
        "31d8b5631f095cb7100cfccc95c801a2547ffe2b"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Feb 26 21:32:51 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 27 16:27:45 2009 -0800"
      },
      "message": "Fix FREEZE/THAW compat_ioctl regression\n\nCommit 8e961870bb9804110d5c8211d5d9d500451c4518 removed the FREEZE/THAW\nhandling in xfs_compat_ioctl but never added any compat handler back, so\nnow any freeze/thaw request from a 32-bit binary ond 64-bit userspace\nwill fail.\n\nAs these ioctls are 32/64-bit compatible two simple COMPATIBLE_IOCTL\nentries in fs/compat_ioctl.c will do the job.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "adc487204a9373d2b5a535412466326036147a72",
      "tree": "bae340437d94f25020f2dcdf448eb1110d4621a8",
      "parents": [
        "dca17146f4b72b8966016c406d94ad3e48289b79"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Fri Feb 27 14:02:59 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 27 16:26:20 2009 -0800"
      },
      "message": "EXPORT_SYMBOL(d_obtain_alias) rather than EXPORT_SYMBOL_GPL\n\nCommit 4ea3ada2955e4519befa98ff55dd62d6dfbd1705 declares d_obtain_alias()\nas EXPORT_SYMBOL_GPL where it\u0027s supposed to replace d_alloc_anon which was\npreviously declared as EXPORT_SYMBOL and thus available to any loadable\nmodule.\n\nThis patch reverts that.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nAcked-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "221be177e68e197a946bb991c8b91468e960be4e",
      "tree": "f77313df6358700d58cc7921551400170a8f6700",
      "parents": [
        "d49981150387c481779a544ec641f17882f4bbfb",
        "b50be33e42e2c87812b30aee1a2b2a5ac6cb3ffa"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 26 14:45:57 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 26 14:45:57 2009 -0800"
      },
      "message": "Merge git://git.infradead.org/mtd-2.6\n\n* git://git.infradead.org/mtd-2.6:\n  [MTD] [MAPS] Remove MODULE_DEVICE_TABLE() from ck804rom driver.\n  [JFFS2] fix mount crash caused by removed nodes\n  [JFFS2] force the jffs2 GC daemon to behave a bit better\n  [MTD] [MAPS] blackfin async requires complex mappings\n  [MTD] [MAPS] blackfin: fix memory leak in error path\n  [MTD] [MAPS] physmap: fix wrong free and del_mtd_{partition,device}\n  [MTD] slram: Handle negative devlength correctly\n  [MTD] map_rom has NULL erase pointer\n  [MTD] [LPDDR] qinfo_probe depends on lpddr\n"
    },
    {
      "commit": "28d57d437786eb3e44f1ca3f0f41e7cfe29c6dd4",
      "tree": "f6dfd111dac45ee7e2b366eb47a2598f46460a1e",
      "parents": [
        "4442f518269c6b3686fcbcadad22dc4475309b16"
      ],
      "author": {
        "name": "wengang wang",
        "email": "wen.gang.wang@oracle.com",
        "time": "Fri Feb 13 10:11:47 2009 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Thu Feb 26 11:51:12 2009 -0800"
      },
      "message": "ocfs2: add IO error check in ocfs2_get_sector()\n\nCheck for IO error in ocfs2_get_sector().\n\nSigned-off-by: Wengang Wang \u003cwen.gang.wang@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "4442f518269c6b3686fcbcadad22dc4475309b16",
      "tree": "5d054d3e44dc95d6ce48709894fe5f2449fb6c77",
      "parents": [
        "c8b9cf9a7cd25ba65166116d0a958f0bc709f0a7"
      ],
      "author": {
        "name": "Tiger Yang",
        "email": "tiger.yang@oracle.com",
        "time": "Fri Feb 20 11:11:50 2009 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Thu Feb 26 11:51:11 2009 -0800"
      },
      "message": "ocfs2: set gap to seperate entry and value when xattr in bucket\n\nThis patch set a gap (4 bytes) between xattr entry and\nname/value when xattr in bucket. This gap use to seperate\nentry and name/value when a bucket is full. It had already\nbeen set when xattr in inode/block.\n\nSigned-off-by: Tiger Yang \u003ctiger.yang@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "c8b9cf9a7cd25ba65166116d0a958f0bc709f0a7",
      "tree": "81ab9d6d0be93e57bcb17130abed3516574b3752",
      "parents": [
        "89a907afe073b8971a83d0ad54f391542b64d327"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Tue Feb 24 17:40:26 2009 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Thu Feb 26 11:51:11 2009 -0800"
      },
      "message": "ocfs2: lock the metaecc process for xattr bucket\n\nFor other metadata in ocfs2, metaecc is checked in ocfs2_read_blocks\nwith io_mutex held. While for xattr bucket, it is calculated by\nthe whole buckets. So we have to add a spin_lock to prevent multiple\nprocesses calculating metaecc.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nTested-by: Tristan Ye \u003ctristan.ye@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "89a907afe073b8971a83d0ad54f391542b64d327",
      "tree": "0168dc1ee1a92981c74c73e9a224e9d4fe63b048",
      "parents": [
        "53ecd25e148615e0ed2a72635cc76f4773f97f90"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Tue Feb 17 04:39:28 2009 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Thu Feb 26 11:51:11 2009 -0800"
      },
      "message": "ocfs2: Use the right access_* method in ctime update of xattr.\n\nIn ctime updating of xattr, it use the wrong type of access for\ninode, so use ocfs2_journal_access_di instead.\n\nReported-and-Tested-by: Tristan Ye \u003ctristan.ye@oracle.com\u003e\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nAcked-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "53ecd25e148615e0ed2a72635cc76f4773f97f90",
      "tree": "ad4f26d160889792c72199678634b4132c5ce1d7",
      "parents": [
        "dabc47de7a23f57522dc762d9d2ad875700d3497"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Tue Feb 03 12:37:16 2009 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Thu Feb 26 11:51:11 2009 -0800"
      },
      "message": "ocfs2/dlm: Make dlm_assert_master_handler() kill itself instead of the asserter\n\nIn dlm_assert_master_handler(), if we get an incorrect assert master from a node\nthat, we reply with EINVAL asking the asserter to die. The problem is that an\nassert is sent after so many hoops, it is invariably the node that thinks the\nasserter is wrong, is actually wrong. So instead of killing the asserter, this\npatch kills the assertee.\n\nThis patch papers over a race that is still being addressed.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nAcked-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "dabc47de7a23f57522dc762d9d2ad875700d3497",
      "tree": "02d3bca6eaa20975512693a4fcce988dd7df4855",
      "parents": [
        "c74ff8bb2235d848beb67fcfddae71ecbe3f92b1"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Tue Feb 03 12:37:15 2009 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Thu Feb 26 11:51:09 2009 -0800"
      },
      "message": "ocfs2/dlm: Use ast_lock to protect ast_list\n\nThe code was using dlm-\u003espinlock instead of dlm-\u003east_lock to protect the\nast_list. This patch fixes the issue.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nAcked-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "c74ff8bb2235d848beb67fcfddae71ecbe3f92b1",
      "tree": "516dd4c87a13c5a068fb47660488f52de486ddb2",
      "parents": [
        "7dc102b737e9f49dac426161294cb2d326a97d8e"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Tue Feb 03 12:37:14 2009 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Thu Feb 26 11:51:09 2009 -0800"
      },
      "message": "ocfs2: Cleanup the lockname print in dlmglue.c\n\nThe dentry lock has a different format than other locks. This patch fixes\nocfs2_log_dlm_error() macro to make it print the dentry lock correctly.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nAcked-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "7dc102b737e9f49dac426161294cb2d326a97d8e",
      "tree": "6073525b25fa7ab423099e808866cfdf96f668dd",
      "parents": [
        "47be12e4eec84c1846f29af64fe25a396b57a026"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Tue Feb 03 12:37:13 2009 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Thu Feb 26 11:51:09 2009 -0800"
      },
      "message": "ocfs2/dlm: Retract fix for race between purge and migrate\n\nMainline commit d4f7e650e55af6b235871126f747da88600e8040 attempts to delay\nthe dlm_thread from sending the drop ref message if the lockres is being\nmigrated. The problem is that we make the dlm_thread wait for the migration\nto complete. This causes a deadlock as dlm_thread also participates in the\nlockres migration process.\n\nA better fix for the original oss bugzilla#1012 is in testing.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nAcked-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "47be12e4eec84c1846f29af64fe25a396b57a026",
      "tree": "a16590b4fc4e3753295c230a32f07a6e1bbd3a57",
      "parents": [
        "64e71303e44f3697e4568147caa966de74bdb4fb"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Fri Jan 09 07:32:48 2009 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Thu Feb 26 11:51:09 2009 -0800"
      },
      "message": "ocfs2: Access and dirty the buffer_head in mark_written.\n\nIn __ocfs2_mark_extent_written, when we meet with the situation\nof c_split_covers_rec, the old solution just replace the extent\nrecord and forget to access and dirty the buffer_head. This will\ncause a problem when the unwritten extent is in an extent block.\nSo access and dirty it.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "64e71303e44f3697e4568147caa966de74bdb4fb",
      "tree": "49c93c69aeb56e739658c00981f1410e1e354d38",
      "parents": [
        "babb29b0a33db53704594f63f271ca6c049eddc6",
        "4e06bdd6cbd5105376e7caf4e683ed131e777389"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 26 10:37:00 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 26 10:37:00 2009 -0800"
      },
      "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: try committing transaction before returning ENOSPC\n  Btrfs: add better -ENOSPC handling\n"
    },
    {
      "commit": "b2bf96833c5782befc3e7700f791fde754a47b01",
      "tree": "b38745750c948b519e4c46bb9589d3a61c6359f4",
      "parents": [
        "169d418b127b98a3e464e9c4b807ad083760f98c"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Feb 19 08:50:26 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Feb 26 10:45:48 2009 +0100"
      },
      "message": "block: fix bogus gcc warning for uninitialized var usage\n\nNewer gcc throw this warning:\n\n        fs/bio.c: In function ?bio_alloc_bioset?:\n        fs/bio.c:305: warning: ?p? may be used uninitialized in this function\n\nsince it cannot figure out that \u0027p\u0027 is only ever used if \u0027bs\u0027 is non-NULL.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "8f64b32eb73fbfe9f38c4123121b63ee409278a7",
      "tree": "1c856ed32d7a282dbde0cea2e8839e2c2de51ba9",
      "parents": [
        "d8ae4601a4b7ea1fa17fa395c3468c0e144d1275"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Thu Feb 26 00:57:35 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Feb 26 00:57:35 2009 -0500"
      },
      "message": "ext4: don\u0027t call jbd2_journal_force_commit_nested without journal\n\nRunning without a journal, I oopsed when I ran out of space,\nbecause we called jbd2_journal_force_commit_nested() from\next4_should_retry_alloc() without a journal.\n\nThis should take care of it, I think.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "d8ae4601a4b7ea1fa17fa395c3468c0e144d1275",
      "tree": "ce4a6593aaa883377fdd2754655ff5815d363111",
      "parents": [
        "8b1a8ff8b321a9384304aeea4dbdb9747daf7ee8"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Feb 28 09:50:01 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Feb 28 09:50:01 2009 -0500"
      },
      "message": "ext4: Reorder fs/Makefile so that ext2 root fs\u0027s are mounted using ext2\n\nIn fs/Makefile, ext3 was placed before ext2 so that a root filesystem\nthat possessed a journal, it would be mounted as ext3 instead of ext2.\nThis was necessary because a cleanly unmounted ext3 filesystem was\nfully backwards compatible with ext2, and could be mounted by ext2 ---\nbut it was desirable that it be mounted with ext3 so that the\njournaling would be enabled.\n\nThe ext4 filesystem supports new incompatible features, so there is no\ndanger of an ext4 filesystem being mistaken for an ext2 filesystem.\nAt that point, the relative ordering of ext4 with respect to ext2\ndidn\u0027t matter until ext4 gained the ability to mount filesystems\nwithout a journal starting in 2.6.29-rc1.  Now that this is the case,\ngiven that ext4 is before ext2, it means that root filesystems that\nwere using the plain-jane ext2 format are getting mounted using the\next4 filesystem driver, which is a change in behavior which could be\nsurprising to users.\n\nIt\u0027s doubtful that there are that many ext2-only root filesystem users\nthat would also have ext4 compiled into the kernel, but to adhere to\nthe principle of least surprise, the correct ordering in fs/Makefile\nis ext3, followed by ext2, and finally ext4.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "8b1a8ff8b321a9384304aeea4dbdb9747daf7ee8",
      "tree": "7be11423c5b5a10e085122b5a3e8d004e5fa865a",
      "parents": [
        "ebd3610b110bbb18ea6f9f2aeed1e1068c537227"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Feb 28 00:08:53 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Feb 28 00:08:53 2009 -0500"
      },
      "message": "ext4: Remove duplicate call to ext4_commit_super() in ext4_freeze()\n\nCommit c4be0c1d added error checking to ext4_freeze() when calling\next4_commit_super().  Unfortunately the patch failed to remove the\noriginal call to ext4_commit_super(), with the net result that when\nfreezing the filesystem, the superblock gets written twice, the first\ntime without error checking.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "694593e3374a67d95ece6a275a1f181644c2c4d8",
      "tree": "df083065019ded7607e460a7bea44f53deb505f8",
      "parents": [
        "21209b61b0ca0aafb04b5ab3561e3c8e7c7f776d",
        "e07a4b9217d1e97d2f3a62b6b070efdc61212110"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 24 15:42:08 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 24 15:42:08 2009 -0800"
      },
      "message": "Merge branch \u0027proc-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/adobriyan/proc\n\n* \u0027proc-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/adobriyan/proc:\n  proc: fix PG_locked reporting in /proc/kpageflags\n"
    },
    {
      "commit": "4daa0682af15b24e9d66ccde3a5d502682e572d8",
      "tree": "b675fbb92366514e53c240dfa0115cd4aeef00ba",
      "parents": [
        "f7e603ad8f78cd3b59e33fa72707da0cbabdf699",
        "ebd3610b110bbb18ea6f9f2aeed1e1068c537227"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 24 15:39:34 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 24 15:39:34 2009 -0800"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:\n  ext4: Fix deadlock in ext4_write_begin() and ext4_da_write_begin()\n  ext4: Add fallback for find_group_flex\n"
    },
    {
      "commit": "e07a4b9217d1e97d2f3a62b6b070efdc61212110",
      "tree": "8fb1450f8dd1140693f84092ba25eedf3359ccb9",
      "parents": [
        "f7e603ad8f78cd3b59e33fa72707da0cbabdf699"
      ],
      "author": {
        "name": "Helge Bahmann",
        "email": "helge.bahmann@secunet.com",
        "time": "Fri Feb 20 16:24:12 2009 +0300"
      },
      "committer": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Feb 24 21:17:58 2009 +0300"
      },
      "message": "proc: fix PG_locked reporting in /proc/kpageflags\n\nExpr always evaluates to zero.\n\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\n"
    },
    {
      "commit": "cac711211a039ae2e2dc6322ffb3c2279d093bf1",
      "tree": "a910c047f30616462bb8312b86b0caff8a56fa85",
      "parents": [
        "226485e9a91ee89c941d8cb7714f85644a8071d0"
      ],
      "author": {
        "name": "Krzysztof Sachanowicz",
        "email": "analyzer1@gmail.com",
        "time": "Mon Feb 23 22:21:55 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 23 18:25:32 2009 -0800"
      },
      "message": "proc: proc_get_inode should de_put when inode already initialized\n\nde_get is called before every proc_get_inode, but corresponding de_put is\ncalled only when dropping last reference to an inode. This might cause\nsomething like\nremove_proc_entry: /proc/stats busy, count\u003d14496\nto be printed to the syslog.\n\nThe fix is to call de_put in case of an already initialized inode in\nproc_get_inode.\n\nSigned-off-by: Krzysztof Sachanowicz \u003canalyzer1@gmail.com\u003e\nTested-by: Marcin Pilipczuk \u003cmarcin.pilipczuk@gmail.com\u003e\nAcked-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ebd3610b110bbb18ea6f9f2aeed1e1068c537227",
      "tree": "a7ecd4c6ef1d05619abeefea831e8f73ffadda11",
      "parents": [
        "05bf9e839d9de4e8a094274a0a2fd07beb47eaf1"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Sun Feb 22 21:09:59 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Feb 22 21:09:59 2009 -0500"
      },
      "message": "ext4: Fix deadlock in ext4_write_begin() and ext4_da_write_begin()\n\nFunctions ext4_write_begin() and ext4_da_write_begin() call\ngrab_cache_page_write_begin() without AOP_FLAG_NOFS. Thus it\ncan happen that page reclaim is triggered in that function\nand it recurses back into the filesystem (or some other filesystem).\nBut this can lead to various problems as a transaction is already\nstarted at that point. Add the necessary flag.\n\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d11688\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "05bf9e839d9de4e8a094274a0a2fd07beb47eaf1",
      "tree": "36dba549ded1f7c7b37bd854fb20d55bff89787d",
      "parents": [
        "20f4d6c3a2a23c5d7d9cc7f42fbb943ca7a03d1f"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Feb 21 12:13:24 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Feb 21 12:13:24 2009 -0500"
      },
      "message": "ext4: Add fallback for find_group_flex\n\nThis is a workaround for find_group_flex() which badly needs to be\nreplaced.  One of its problems (besides ignoring the Orlov algorithm)\nis that it is a bit hyperactive about returning failure under\nsuspicious circumstances.  This can lead to spurious ENOSPC failures\neven when there are inodes still available.\n\nWork around this for now by retrying the search using\nfind_group_other() if find_group_flex() returns -1.  If\nfind_group_other() succeeds when find_group_flex() has failed, log a\nwarning message.\n\nA better block/inode allocator that will fix this problem for real has\nbeen queued up for the next merge window.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "710320d57999016729da7c9cfee017b276f553bc",
      "tree": "e881354fc52ef892d564832e7993ec89dad15f7d",
      "parents": [
        "2ec77fc93ca8731368fbe8e71f805c0569d4bcee",
        "eca6acf91552a9b2e997cc76339115c95eac0217"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 21 09:11:28 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 21 09:11:28 2009 -0800"
      },
      "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] Fix multiuser mounts so server does not invalidate earlier security contexts\n  [CIFS] improve posix semantics of file create\n  [CIFS] Fix oops in cifs_strfromUCS_le mounting to servers which do not specify their OS\n  cifs: posix fill in inode needed by posix open\n  cifs: properly handle case where CIFSGetSrvInodeNumber fails\n  cifs: refactor new_inode() calls and inode initialization\n  [CIFS] Prevent OOPs when mounting with remote prefixpath.\n  [CIFS] ipv6_addr_equal for address comparison\n"
    },
    {
      "commit": "4c41bd0ec953954158f92bed5d3062645062b98e",
      "tree": "bd3f4c7fdbcac9bf2cabce557d472d6ed4ae4741",
      "parents": [
        "efab0b5d3eed6aa71f8e3233e4e11774eedc04dc"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 16 21:29:31 2009 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Sat Feb 21 11:09:29 2009 +0100"
      },
      "message": "[JFFS2] fix mount crash caused by removed nodes\n\nAt scan time we observed following scenario:\n\n   node A inserted\n   node B inserted\n   node C inserted -\u003e sets overlapped flag on node B\n\n   node A is removed due to CRC failure -\u003e overlapped flag on node B remains\n\n   while (tn-\u003eoverlapped)\n   \t tn \u003d tn_prev(tn);\n\n   \u003d\u003d\u003e crash, when tn_prev(B) is referenced.\n\nWhen the ultimate node is removed at scan time and the overlapped flag\nis set on the penultimate node, then nothing updates the overlapped\nflag of that node. The overlapped iterators blindly expect that the\nultimate node does not have the overlapped flag set, which causes the\nscan code to crash.\n\nIt would be a huge overhead to go through the node chain on node\nremoval and fix up the overlapped flags, so detecting such a case on\nthe fly in the overlapped iterators is a simpler and reliable\nsolution.\n\nCc: stable@kernel.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "eca6acf91552a9b2e997cc76339115c95eac0217",
      "tree": "2c3c3ef60900d6ee0cb8952f2bd4195abfb92663",
      "parents": [
        "c3b2a0c640bff7df85d79fb4f89674949a267ec2"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Feb 20 05:43:09 2009 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sat Feb 21 03:37:10 2009 +0000"
      },
      "message": "[CIFS] Fix multiuser mounts so server does not invalidate earlier security contexts\n\nWhen two different users mount the same Windows 2003 Server share using CIFS,\nthe first session mounted can be invalidated.  Some servers invalidate the first\nsmb session when a second similar user (e.g. two users who get mapped by server to \"guest\")\nauthenticates an smb session from the same client.\n\nBy making sure that we set the 2nd and subsequent vc numbers to nonzero values,\nthis ensures that we will not have this problem.\n\nFixes Samba bug 6004, problem description follows:\nHow to reproduce:\n\n- configure an \"open share\" (full permissions to Guest user) on Windows 2003\nServer (I couldn\u0027t reproduce the problem with Samba server or Windows older\nthan 2003)\n- mount the share twice with different users who will be authenticated as guest.\n\n noacl,noperm,user\u003djohn,dir_mode\u003d0700,domain\u003dDOMAIN,rw\n noacl,noperm,user\u003djeff,dir_mode\u003d0700,domain\u003dDOMAIN,rw\n\nResult:\n\n- just the mount point mounted last is accessible:\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "c3b2a0c640bff7df85d79fb4f89674949a267ec2",
      "tree": "ed36e11454123d276929b1c470a27409ccf957bb",
      "parents": [
        "69765529d701c838df19ea1f5ad2f33a528261ae"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Feb 20 04:32:45 2009 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sat Feb 21 03:37:09 2009 +0000"
      },
      "message": "[CIFS] improve posix semantics of file create\n\nSamba server added support for a new posix open/create/mkdir operation\na year or so ago, and we added support to cifs for mkdir to use it,\nbut had not added the corresponding code to file create.\n\nThe following patch helps improve the performance of the cifs create\npath (to Samba and servers which support the cifs posix protocol\nextensions).  Using Connectathon basic test1, with 2000 files, the\nperformance improved about 15%, and also helped reduce network traffic\n(17% fewer SMBs sent over the wire) due to saving a network round trip\nfor the SetPathInfo on every file create.\n\nIt should also help the semantics (and probably the performance) of\nwrite (e.g. when posix byte range locks are on the file) on file\nhandles opened with posix create, and adds support for a few flags\nwhich would have to be ignored otherwise.\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "69765529d701c838df19ea1f5ad2f33a528261ae",
      "tree": "229ce1fda799ac8f6553a87ed05516dd675b3eec",
      "parents": [
        "44f68fadd865bb288ebdcea2b602f0b1cab27a0c"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Feb 17 01:29:40 2009 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sat Feb 21 03:37:09 2009 +0000"
      },
      "message": "[CIFS] Fix oops in cifs_strfromUCS_le mounting to servers which do not specify their OS\n\nFixes kernel bug #10451 http://bugzilla.kernel.org/show_bug.cgi?id\u003d10451\n\nCertain NAS appliances do not set the operating system or network operating system\nfields in the session setup response on the wire.  cifs was oopsing on the unexpected\nzero length response fields (when trying to null terminate a zero length field).\n\nThis fixes the oops.\n\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nCC: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "44f68fadd865bb288ebdcea2b602f0b1cab27a0c",
      "tree": "5b8a7bc718bf9cbb0ae53dd48c95ceaaa98873ce",
      "parents": [
        "950ec52880fab89b957c7dc45e8b8476dd63741f"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Feb 11 08:08:28 2009 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sat Feb 21 03:37:08 2009 +0000"
      },
      "message": "cifs: posix fill in inode needed by posix open\n\nfunction needed to prepare for posix open\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "950ec52880fab89b957c7dc45e8b8476dd63741f",
      "tree": "dfb8bd4bdf0e455fefd453c4e899276641a60394",
      "parents": [
        "132ac7b77cc95a22d6118d327c96586759fbf006"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Feb 11 08:08:26 2009 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sat Feb 21 03:37:08 2009 +0000"
      },
      "message": "cifs: properly handle case where CIFSGetSrvInodeNumber fails\n\n...if it does then we pass a pointer to an unintialized variable for\nthe inode number to cifs_new_inode. Have it pass a NULL pointer instead.\n\nAlso tweak the function prototypes to reduce the amount of casting.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "132ac7b77cc95a22d6118d327c96586759fbf006",
      "tree": "37e1211723408f2aef2b71bfdaf34a596e675d8d",
      "parents": [
        "e4cce94c9c8797b08faf6a79396df4d175e377fa"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Feb 10 07:33:57 2009 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sat Feb 21 03:37:07 2009 +0000"
      },
      "message": "cifs: refactor new_inode() calls and inode initialization\n\nMove new inode creation into a separate routine and refactor the\ncallers to take advantage of it.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "e4cce94c9c8797b08faf6a79396df4d175e377fa",
      "tree": "6eb306603652bf08ca10fef4f899332f30d71e09",
      "parents": [
        "e1f81c8a417be466e85a38b61679aa6860ec7331"
      ],
      "author": {
        "name": "Igor Mammedov",
        "email": "niallain@gmail.com",
        "time": "Tue Feb 10 14:10:26 2009 +0300"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sat Feb 21 03:36:21 2009 +0000"
      },
      "message": "[CIFS] Prevent OOPs when mounting with remote prefixpath.\n\nFixes OOPs with message \u0027kernel BUG at fs/cifs/cifs_dfs_ref.c:274!\u0027.\nChecks if the prefixpath in an accesible while we are still in cifs_mount\nand fails with reporting a error if we can\u0027t access the prefixpath\n\nShould fix Samba bugs 6086 and 5861 and kernel bug 12192\n\nSigned-off-by: Igor Mammedov \u003cniallain@gmail.com\u003e\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "264b29900657f53fb4ddc8bf08f447c4c227b2cf",
      "tree": "b45d7a4f57b578cc331dc391b1a4225013136c92",
      "parents": [
        "b6adea334c6c89d5e6c94f9196bbf3a279cb53bd",
        "2cfbd50b536c878e58ab3681c4e944fa3d99b415"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 20 17:59:14 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 20 17:59:14 2009 -0800"
      },
      "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: check file pointer in btrfs_sync_file\n"
    },
    {
      "commit": "4e06bdd6cbd5105376e7caf4e683ed131e777389",
      "tree": "20a7b891f7f8f518eb2cd81234e0c9ab5902c6c3",
      "parents": [
        "6a63209fc02d5483371f07e4913ee8abad608051"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "jbacik@redhat.com",
        "time": "Fri Feb 20 10:59:53 2009 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Feb 20 10:59:53 2009 -0500"
      },
      "message": "Btrfs: try committing transaction before returning ENOSPC\n\nThis fixes a problem where we could return -ENOSPC when we may actually have\nplenty of space, the space is just pinned.  Instead of returning -ENOSPC\nimmediately, commit the transaction first and then try and do the allocation\nagain.\n\nThis patch also does chunk allocation for metadata if we pass the 80%\nthreshold for metadata space.  This will help with stack usage since the chunk\nallocation will happen early on, instead of when the allocation is happening.\n\nSigned-off-by: Josef Bacik \u003cjbacik@redhat.com\u003e\n\n\n"
    },
    {
      "commit": "6a63209fc02d5483371f07e4913ee8abad608051",
      "tree": "7595e0df452928b677b66a64baf0cb3b7ec53dfc",
      "parents": [
        "2cfbd50b536c878e58ab3681c4e944fa3d99b415"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "jbacik@redhat.com",
        "time": "Fri Feb 20 11:00:09 2009 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Feb 20 11:00:09 2009 -0500"
      },
      "message": "Btrfs: add better -ENOSPC handling\n\nThis is a step in the direction of better -ENOSPC handling.  Instead of\nchecking the global bytes counter we check the space_info bytes counters to\nmake sure we have enough space.\n\nIf we don\u0027t we go ahead and try to allocate a new chunk, and then if that fails\nwe return -ENOSPC.  This patch adds two counters to btrfs_space_info,\nbytes_delalloc and bytes_may_use.\n\nbytes_delalloc account for extents we\u0027ve actually setup for delalloc and will\nbe allocated at some point down the line. \n\nbytes_may_use is to keep track of how many bytes we may use for delalloc at\nsome point.  When we actually set the extent_bit for the delalloc bytes we\nsubtract the reserved bytes from the bytes_may_use counter.  This keeps us from\nnot actually being able to allocate space for any delalloc bytes.\n\nSigned-off-by: Josef Bacik \u003cjbacik@redhat.com\u003e\n\n\n\n\n"
    },
    {
      "commit": "2cfbd50b536c878e58ab3681c4e944fa3d99b415",
      "tree": "af29d7c8a094b0560c3ed04aebacdea23ae1177f",
      "parents": [
        "2456242530a21cfee82646ebeeda65d3f74faa4c"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Feb 20 10:55:10 2009 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Feb 20 10:55:10 2009 -0500"
      },
      "message": "Btrfs: check file pointer in btrfs_sync_file\n\nfsync can be called by NFS with a null file pointer, and btrfs was\noopsing in this case.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "620565ef5f35f4196e5081417db381c16b0ae791",
      "tree": "6bfbcd9c26de367a64177392e9eb0dc553094f36",
      "parents": [
        "a5e753638874b9caabde01c8774e1a39e31cb614",
        "27e88bf6af7d42adf790f7b2ed7d65475f191cf2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 19 13:09:32 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 19 13:09:32 2009 -0800"
      },
      "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  Revert \"[XFS] remove old vmap cache\"\n  Revert \"[XFS] use scalable vmap API\"\n"
    },
    {
      "commit": "27e88bf6af7d42adf790f7b2ed7d65475f191cf2",
      "tree": "ce135c2daae945a11b7ae0c5869660b7972aa88f",
      "parents": [
        "7fdf582447aa01658b624adc0a51a31e4278b68c"
      ],
      "author": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Wed Feb 18 15:56:51 2009 -0600"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Thu Feb 19 13:15:55 2009 -0600"
      },
      "message": "Revert \"[XFS] remove old vmap cache\"\n\nThis reverts commit d2859751cd0bf586941ffa7308635a293f943c17.\n\nThis commit caused regression. We\u0027ll try to fix use of new\nvmap API for next release.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "7fdf582447aa01658b624adc0a51a31e4278b68c",
      "tree": "dcb0df49afe80e241f470d3850a6bea6c2c0c596",
      "parents": [
        "43f3f057c56d030546145696627f13f95735be95"
      ],
      "author": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Wed Feb 18 15:41:28 2009 -0600"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Thu Feb 19 13:15:44 2009 -0600"
      },
      "message": "Revert \"[XFS] use scalable vmap API\"\n\nThis reverts commit 95f8e302c04c0b0c6de35ab399a5551605eeb006.\n\nThis commit caused regression. We\u0027ll try to fix use of new\nvmap API for next release.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "ba95fd47d177d46743ad94055908d22840370e06",
      "tree": "f29e6921fefba2728c3b7f6854ac7f7729f602b2",
      "parents": [
        "59af0a0b5848caf38f1bf7013905c3e9cdba4d1d",
        "be987fdb55a4726e2fcbab7501f89276bdb57288"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 18:33:04 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 18:33:04 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  block: fix deadlock in blk_abort_queue() for drivers that readd to timeout list\n  block: fix booting from partitioned md array\n  block: revert part of 18ce3751ccd488c78d3827e9f6bf54e6322676fb\n  cciss: PCI power management reset for kexec\n  paride/pg.c: xs(): \u0026\u0026/|| confusion\n  fs/bio: bio_alloc_bioset: pass right object ptr to mempool_free\n  block: fix bad definition of BIO_RW_SYNC\n  bsg: Fix sense buffer bug in SG_IO\n"
    },
    {
      "commit": "f04b30de3c82528f1ab4c58b3dd4c975f5341901",
      "tree": "1d3410190d93a72c0a98961704086ba17c21d326",
      "parents": [
        "be50344e604f956891fc0013f1ba78823a758124"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 18 14:48:43 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 15:37:56 2009 -0800"
      },
      "message": "inotify: fix GFP_KERNEL related deadlock\n\nEnhanced lockdep coverage of __GFP_NOFS turned up this new lockdep\nassert:\n\n[ 1093.677775]\n[ 1093.677781] \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ 1093.680031] [ INFO: inconsistent lock state ]\n[ 1093.680031] 2.6.29-rc5-tip-01504-gb49eca1-dirty #1\n[ 1093.680031] ---------------------------------\n[ 1093.680031] inconsistent {RECLAIM_FS-ON-W} -\u003e {IN-RECLAIM_FS-W} usage.\n[ 1093.680031] kswapd0/308 [HC0[0]:SC0[0]:HE1:SE1] takes:\n[ 1093.680031]  (\u0026inode-\u003einotify_mutex){+.+.?.}, at: [\u003cc0205942\u003e] inotify_inode_is_dead+0x20/0x80\n[ 1093.680031] {RECLAIM_FS-ON-W} state was registered at:\n[ 1093.680031]   [\u003cc01696b9\u003e] mark_held_locks+0x43/0x5b\n[ 1093.680031]   [\u003cc016baa4\u003e] lockdep_trace_alloc+0x6c/0x6e\n[ 1093.680031]   [\u003cc01cf8b0\u003e] kmem_cache_alloc+0x20/0x150\n[ 1093.680031]   [\u003cc040d0ec\u003e] idr_pre_get+0x27/0x6c\n[ 1093.680031]   [\u003cc02056e3\u003e] inotify_handle_get_wd+0x25/0xad\n[ 1093.680031]   [\u003cc0205f43\u003e] inotify_add_watch+0x7a/0x129\n[ 1093.680031]   [\u003cc020679e\u003e] sys_inotify_add_watch+0x20f/0x250\n[ 1093.680031]   [\u003cc010389e\u003e] sysenter_do_call+0x12/0x35\n[ 1093.680031]   [\u003cffffffff\u003e] 0xffffffff\n[ 1093.680031] irq event stamp: 60417\n[ 1093.680031] hardirqs last  enabled at (60417): [\u003cc018d5f5\u003e] call_rcu+0x53/0x59\n[ 1093.680031] hardirqs last disabled at (60416): [\u003cc018d5b9\u003e] call_rcu+0x17/0x59\n[ 1093.680031] softirqs last  enabled at (59656): [\u003cc0146229\u003e] __do_softirq+0x157/0x16b\n[ 1093.680031] softirqs last disabled at (59651): [\u003cc0106293\u003e] do_softirq+0x74/0x15d\n[ 1093.680031]\n[ 1093.680031] other info that might help us debug this:\n[ 1093.680031] 2 locks held by kswapd0/308:\n[ 1093.680031]  #0:  (shrinker_rwsem){++++..}, at: [\u003cc01b0502\u003e] shrink_slab+0x36/0x189\n[ 1093.680031]  #1:  (\u0026type-\u003es_umount_key#4){+++++.}, at: [\u003cc01e6d77\u003e] shrink_dcache_memory+0x110/0x1fb\n[ 1093.680031]\n[ 1093.680031] stack backtrace:\n[ 1093.680031] Pid: 308, comm: kswapd0 Not tainted 2.6.29-rc5-tip-01504-gb49eca1-dirty #1\n[ 1093.680031] Call Trace:\n[ 1093.680031]  [\u003cc016947a\u003e] valid_state+0x12a/0x13d\n[ 1093.680031]  [\u003cc016954e\u003e] mark_lock+0xc1/0x1e9\n[ 1093.680031]  [\u003cc016a5b4\u003e] ? check_usage_forwards+0x0/0x3f\n[ 1093.680031]  [\u003cc016ab74\u003e] __lock_acquire+0x2c6/0xac8\n[ 1093.680031]  [\u003cc01688d9\u003e] ? register_lock_class+0x17/0x228\n[ 1093.680031]  [\u003cc016b3d3\u003e] lock_acquire+0x5d/0x7a\n[ 1093.680031]  [\u003cc0205942\u003e] ? inotify_inode_is_dead+0x20/0x80\n[ 1093.680031]  [\u003cc08824c4\u003e] __mutex_lock_common+0x3a/0x4cb\n[ 1093.680031]  [\u003cc0205942\u003e] ? inotify_inode_is_dead+0x20/0x80\n[ 1093.680031]  [\u003cc08829ed\u003e] mutex_lock_nested+0x2e/0x36\n[ 1093.680031]  [\u003cc0205942\u003e] ? inotify_inode_is_dead+0x20/0x80\n[ 1093.680031]  [\u003cc0205942\u003e] inotify_inode_is_dead+0x20/0x80\n[ 1093.680031]  [\u003cc01e6672\u003e] dentry_iput+0x90/0xc2\n[ 1093.680031]  [\u003cc01e67a3\u003e] d_kill+0x21/0x45\n[ 1093.680031]  [\u003cc01e6a46\u003e] __shrink_dcache_sb+0x27f/0x355\n[ 1093.680031]  [\u003cc01e6dc5\u003e] shrink_dcache_memory+0x15e/0x1fb\n[ 1093.680031]  [\u003cc01b05ed\u003e] shrink_slab+0x121/0x189\n[ 1093.680031]  [\u003cc01b0d12\u003e] kswapd+0x39f/0x561\n[ 1093.680031]  [\u003cc01ae499\u003e] ? isolate_pages_global+0x0/0x233\n[ 1093.680031]  [\u003cc0157eae\u003e] ? autoremove_wake_function+0x0/0x43\n[ 1093.680031]  [\u003cc01b0973\u003e] ? kswapd+0x0/0x561\n[ 1093.680031]  [\u003cc0157daf\u003e] kthread+0x41/0x82\n[ 1093.680031]  [\u003cc0157d6e\u003e] ? kthread+0x0/0x82\n[ 1093.680031]  [\u003cc01043ab\u003e] kernel_thread_helper+0x7/0x10\n\ninotify_handle_get_wd() does idr_pre_get() which does a\nkmem_cache_alloc() without __GFP_FS - and is hence deadlockable under\nextreme MM pressure.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: MinChan Kim \u003cminchan.kim@gmail.com\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": "2db69a9340da12a4db44edb7506dd68799aeff55",
      "tree": "1d644a26f4ebafeaaa0b8124b60c2875453f775a",
      "parents": [
        "a1a5c3b9237662f326cc730e167e7524b5d05a36"
      ],
      "author": {
        "name": "Bill Nottingham",
        "email": "notting@redhat.com",
        "time": "Wed Feb 18 14:48:39 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 15:37:56 2009 -0800"
      },
      "message": "vt: Declare PIO_CMAP/GIO_CMAP as compatbile ioctls.\n\nOtherwise, these don\u0027t work when called from 32-bit userspace on 64-bit\nkernels.\n\nCc: Jiri Kosina \u003cjkosina@suse.cz\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.25.x, 2.6.26.x, 2.6.27.x, 2.6.28.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ada723dcd681e2dffd7d73345cc8fda0eb0df9bd",
      "tree": "5f1b114d225721ae7a65fca08a6d053f89f36c43",
      "parents": [
        "27c0c8e511fa9e2389503926840fac606d90a049"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Wed Feb 18 14:48:30 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 15:37:55 2009 -0800"
      },
      "message": "fs/super.c: add lockdep annotation to s_umount\n\nLi Zefan said:\n\nThread 1:\n  for ((; ;))\n  {\n      mount -t cpuset xxx /mnt \u003e /dev/null 2\u003e\u00261\n      cat /mnt/cpus \u003e /dev/null 2\u003e\u00261\n      umount /mnt \u003e /dev/null 2\u003e\u00261\n  }\n\nThread 2:\n  for ((; ;))\n  {\n      mount -t cpuset xxx /mnt \u003e /dev/null 2\u003e\u00261\n      umount /mnt \u003e /dev/null 2\u003e\u00261\n  }\n\n(Note: It is irrelevant which cgroup subsys is used.)\n\nAfter a while a lockdep warning showed up:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ INFO: possible recursive locking detected ]\n2.6.28 #479\n---------------------------------------------\nmount/13554 is trying to acquire lock:\n (\u0026type-\u003es_umount_key#19){--..}, at: [\u003cc049d888\u003e] sget+0x5e/0x321\n\nbut task is already holding lock:\n (\u0026type-\u003es_umount_key#19){--..}, at: [\u003cc049da0c\u003e] sget+0x1e2/0x321\n\nother info that might help us debug this:\n1 lock held by mount/13554:\n #0:  (\u0026type-\u003es_umount_key#19){--..}, at: [\u003cc049da0c\u003e] sget+0x1e2/0x321\n\nstack backtrace:\nPid: 13554, comm: mount Not tainted 2.6.28-mc #479\nCall Trace:\n [\u003cc044ad2e\u003e] validate_chain+0x4c6/0xbbd\n [\u003cc044ba9b\u003e] __lock_acquire+0x676/0x700\n [\u003cc044bb82\u003e] lock_acquire+0x5d/0x7a\n [\u003cc049d888\u003e] ? sget+0x5e/0x321\n [\u003cc061b9b8\u003e] down_write+0x34/0x50\n [\u003cc049d888\u003e] ? sget+0x5e/0x321\n [\u003cc049d888\u003e] sget+0x5e/0x321\n [\u003cc045a2e7\u003e] ? cgroup_set_super+0x0/0x3e\n [\u003cc045959f\u003e] ? cgroup_test_super+0x0/0x2f\n [\u003cc045bcea\u003e] cgroup_get_sb+0x98/0x2e7\n [\u003cc045cfb6\u003e] cpuset_get_sb+0x4a/0x5f\n [\u003cc049dfa4\u003e] vfs_kern_mount+0x40/0x7b\n [\u003cc049e02d\u003e] do_kern_mount+0x37/0xbf\n [\u003cc04af4a0\u003e] do_mount+0x5c3/0x61a\n [\u003cc04addd2\u003e] ? copy_mount_options+0x2c/0x111\n [\u003cc04af560\u003e] sys_mount+0x69/0xa0\n [\u003cc0403251\u003e] sysenter_do_call+0x12/0x31\n\nThe cause is after alloc_super() and then retry, an old entry in list\nfs_supers is found, so grab_super(old) is called, but both functions hold\ns_umount lock:\n\nstruct super_block *sget(...)\n{\n\t...\nretry:\n\tspin_lock(\u0026sb_lock);\n\tif (test) {\n\t\tlist_for_each_entry(old, \u0026type-\u003efs_supers, s_instances) {\n\t\t\tif (!test(old, data))\n\t\t\t\tcontinue;\n\t\t\tif (!grab_super(old))  \u003c--- 2nd: down_write(\u0026old-\u003es_umount);\n\t\t\t\tgoto retry;\n\t\t\tif (s)\n\t\t\t\tdestroy_super(s);\n\t\t\treturn old;\n\t\t}\n\t}\n\tif (!s) {\n\t\tspin_unlock(\u0026sb_lock);\n\t\ts \u003d alloc_super(type);   \u003c--- 1th: down_write(\u0026s-\u003es_umount)\n\t\tif (!s)\n\t\t\treturn ERR_PTR(-ENOMEM);\n\t\tgoto retry;\n\t}\n\t...\n}\n\nIt seems like a false positive, and seems like VFS but not cgroup needs to\nbe fixed.\n\nPeter said:\n\nWe can simply put the new s_umount instance in a but lockdep doesn\u0027t\nparticularly cares about subclass order.\n\nIf there\u0027s any issue with the callers of sget() assuming the s_umount lock\nbeing of sublcass 0, then there is another annotation we can use to fix\nthat, but lets not bother with that if this is sufficient.\n\nAddresses http://bugzilla.kernel.org/show_bug.cgi?id\u003d12673\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nTested-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nReported-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "1cf6e7d83bf334cc5916137862c920a97aabc018"
}
