)]}'
{
  "log": [
    {
      "commit": "424b00e2c0f0c38f2cf5331391742ec998f6d89f",
      "tree": "78bc6e4e18ee2ac499bdf56e6024c9a042c34766",
      "parents": [
        "b87e81e5c6e64ae0eae3b4f61bf07bfeec856184"
      ],
      "author": {
        "name": "Paul Bolle",
        "email": "pebolle@tiscali.nl",
        "time": "Wed Apr 16 11:08:22 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 16 07:43:48 2008 -0700"
      },
      "message": "AFS: Do not describe debug parameters with their value\n\nDescribe debug parameters with their names (and not their values).\n\nSigned-off-by: Paul Bolle \u003cpebolle@tiscali.nl\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "335e92e8a515420bd47a6b0f01cb9a206c0ed6e4",
      "tree": "1518f9afa7ac7047be2c86481b3dbc12f8cc9282",
      "parents": [
        "423bec43079a2942a3004034df7aad76469758d8"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Apr 15 14:34:43 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 15 19:35:41 2008 -0700"
      },
      "message": "vfs: fix possible deadlock in ext2, ext3, ext4 when using xattrs\n\nmb_cache_entry_alloc() was allocating cache entries with GFP_KERNEL.  But\nfilesystems are calling this function while holding xattr_sem so possible\nrecursion into the fs violates locking ordering of xattr_sem and transaction\nstart / i_mutex for ext2-4.  Change mb_cache_entry_alloc() so that filesystems\ncan specify desired gfp mask and use GFP_NOFS from all of them.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nReported-by: Dave Jones \u003cdavej@redhat.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "abe2f41430770270a1512bf78f489284bfbdbd04",
      "tree": "d40b557f0ce346a56de428dc520816b19e74d4df",
      "parents": [
        "19e729a928172103e101ffd0829fd13e68c13f78"
      ],
      "author": {
        "name": "Alexey Korolev",
        "email": "akorolev@infradead.org",
        "time": "Mon Apr 14 20:45:06 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 14 15:43:14 2008 -0700"
      },
      "message": "JFFS2 Fix of panics caused by wrong condition for hole frag creation in write_begin\n\nThis fixes a regression introduced in commit\n205c109a7a96d9a3d8ffe64c4068b70811fef5e8 when switching to\nwrite_begin/write_end operations in JFFS2.\n\nThe page offset is miscalculated, leading to corruption of the fragment\nlists and subsequently to memory corruption and panics.\n\n[ Side note: the bug is a fairly direct result of the naming.  Nick was\n  likely misled by the use of \"offs\", since we tend to use the notion of\n  \"offset\" not as an absolute position, but as an offset _within_ a page\n  or allocation.\n\n  Alternatively, a \"pgoff_t\" is a page index, but not a byte offset -\n  our VM naming can be a bit confusing.\n\n  So in this case, a VM person would likely have called this a \"pos\",\n  not an \"offs\", or perhaps talked about byte offsets rather than page\n  offsets (since it\u0027s counted in bytes, not pages).    - Linus ]\n\nSigned-off-by: Alexey Korolev \u003cakorolev@infradead.org\u003e\nSigned-off-by: Vasiliy Leonenko \u003cvasiliy.leonenko@mail.ru\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "19e729a928172103e101ffd0829fd13e68c13f78",
      "tree": "5d3492a6dd2191abebe27a8d59e181398375e9c8",
      "parents": [
        "a985aabe4d7a720b109c2b63549f8641676a9c88"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Apr 14 15:03:02 2008 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 14 12:22:14 2008 -0700"
      },
      "message": "locks: fix possible infinite loop in fcntl(F_SETLKW) over nfs\n\nMiklos Szeredi found the bug:\n\n\t\"Basically what happens is that on the server nlm_fopen() calls\n\tnfsd_open() which returns -EACCES, to which nlm_fopen() returns\n\tNLM_LCK_DENIED.\n\n\t\"On the client this will turn into a -EAGAIN (nlm_stat_to_errno()),\n\twhich in will cause fcntl_setlk() to retry forever.\"\n\nSo, for example, opening a file on an nfs filesystem, changing\npermissions to forbid further access, then trying to lock the file,\ncould result in an infinite loop.\n\nAnd Trond Myklebust identified the culprit, from Marc Eshel and I:\n\n\t7723ec9777d9832849b76475b1a21a2872a40d20 \"locks: factor out\n\tgeneric/filesystem switch from setlock code\"\n\nThat commit claimed to just be reshuffling code, but actually introduced\na behavioral change by calling the lock method repeatedly as long as it\nreturned -EAGAIN.\n\nWe assumed this would be safe, since we assumed a lock of type SETLKW\nwould only return with either success or an error other than -EAGAIN.\nHowever, nfs does can in fact return -EAGAIN in this situation, and\nindependently of whether that behavior is correct or not, we don\u0027t\nactually need this change, and it seems far safer not to depend on such\nassumptions about the filesystem\u0027s -\u003elock method.\n\nTherefore, revert the problematic part of the original commit.  This\nleaves vfs_lock_file() and its other callers unchanged, while returning\nfcntl_setlk and fcntl_setlk64 to their former behavior.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nTested-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Marc Eshel \u003ceshel@almaden.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "14897e35fdc045fff9baabf0354570da22386706",
      "tree": "32cf1fcd7696e2018a05f2e4f8d5d20166af21ab",
      "parents": [
        "b0fac02370cffad956ff3de5e8ed4df7e7b875d7",
        "14dadf1d5eb5bea2dd115852cfee880505c1c169"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 11 13:24:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 11 13:24:16 2008 -0700"
      },
      "message": "Merge branch \u0027docs\u0027 of git://git.lwn.net/linux-2.6\n\n* \u0027docs\u0027 of git://git.lwn.net/linux-2.6:\n  Add additional examples in Documentation/spinlocks.txt\n  Move sched-rt-group.txt to scheduler/\n  Documentation: move rpc-cache.txt to filesystems/\n  Documentation: move nfsroot.txt to filesystems/\n  Spell out behavior of atomic_dec_and_lock() in kerneldoc\n  Fix a typo in highres.txt\n  Fixes to the seq_file document\n  Fill out information on patch tags in SubmittingPatches\n  Add the seq_file documentation\n"
    },
    {
      "commit": "6ded55da6be9f186ae1022724a5881b43846c164",
      "tree": "1d7adf36afefb163b9882e694aee1bfaad4732f6",
      "parents": [
        "dc07e721a26ec7e0adb66340f1763d220cfbbd0c"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Apr 07 15:59:03 2008 -0400"
      },
      "committer": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Fri Apr 11 13:18:01 2008 -0600"
      },
      "message": "Documentation: move nfsroot.txt to filesystems/\n\nDocumentation/ is a little large, and filesystems/ seems an obvious\nplace for this file.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Jonathan Corbet \u003ccorbet@lwn.net\u003e\n"
    },
    {
      "commit": "0859ab59a8a48d2a96b9d2b7100889bcb6bb5818",
      "tree": "afaa1f394cdd14c5ac3d3c4b956a6ac440c2c479",
      "parents": [
        "544451a1a36b06f43fc67112ede3b92e6203eb9d"
      ],
      "author": {
        "name": "Davide Libenzi",
        "email": "davidel@xmailserver.org",
        "time": "Thu Apr 10 21:29:29 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 11 08:06:44 2008 -0700"
      },
      "message": "signalfd: fix for incorrect SI_QUEUE user data reporting\n\nMichael Kerrisk found out that signalfd was not reporting back user data\npushed using sigqueue:\n\n  http://groups.google.com/group/linux.kernel/msg/9397cab8551e3123\n\nThe following patch makes signalfd report back the ssi_ptr and ssi_int members\nof the signalfd_siginfo structure.\n\nSigned-off-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nAcked-by: Michael Kerrisk \u003cmtk.manpages@googlemail.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": "8d1c98b0b5c0148b519c6416e689ef6a89ffcea3",
      "tree": "904c70d4ed15dd79a003c34bad2e25cff9522420",
      "parents": [
        "d479540dbaba6f7acdb48e0242fee868c7a68116"
      ],
      "author": {
        "name": "Davide Libenzi",
        "email": "davidel@xmailserver.org",
        "time": "Thu Apr 10 21:29:19 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 11 08:06:43 2008 -0700"
      },
      "message": "eventfd/kaio integration fix\n\nJeff Roberson discovered a race when using kaio eventfd based notifications.\nWhen it occurs it can lead tomissed wakeups and hung userspace.\n\nThis patch fixes the race by moving the notification inside the spinlocked\nsection of kaio.  The operation is safe since eventfd spinlock and kaio one\nare unrelated.\n\nSigned-off-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Zach Brown \u003czach.brown@oracle.com\u003e\nCc: Jeff Roberson \u003cjroberson@chesapeake.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "598af051a79d05b751fe793f1fe09fcf74763e02",
      "tree": "c9adafd96ee316c3d05f2978697d3624547f9e84",
      "parents": [
        "54a015104136974262afa4b8ddd943ea70dec8a2"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Thu Apr 10 15:38:45 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 10 17:28:26 2008 -0700"
      },
      "message": "asmlinkage_protect sys_io_getevents\n\nUse asmlinkage_protect in sys_io_getevents, because GCC for i386 with\nCONFIG_FRAME_POINTER\u003dn can decide to clobber an argument word on the\nstack, i.e. the user struct pt_regs.  Here the problem is not a tail\ncall, but just the compiler\u0027s use of the stack when it inlines and\noptimizes the body of the called function.  This seems to avoid it.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "54a015104136974262afa4b8ddd943ea70dec8a2",
      "tree": "713f0c1f4d0afe62e5c568a424e309f70388cf7f",
      "parents": [
        "783e391b7b5b273cd20856d8f6f4878da8ec31b3"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Thu Apr 10 15:37:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 10 17:28:26 2008 -0700"
      },
      "message": "asmlinkage_protect replaces prevent_tail_call\n\nThe prevent_tail_call() macro works around the problem of the compiler\nclobbering argument words on the stack, which for asmlinkage functions\nis the caller\u0027s (user\u0027s) struct pt_regs.  The tail/sibling-call\noptimization is not the only way that the compiler can decide to use\nstack argument words as scratch space, which we have to prevent.\nOther optimizations can do it too.\n\nUntil we have new compiler support to make \"asmlinkage\" binding on the\ncompiler\u0027s own use of the stack argument frame, we have work around all\nthe manifestations of this issue that crop up.\n\nMore cases seem to be prevented by also keeping the incoming argument\nvariables live at the end of the function.  This makes their original\nstack slots attractive places to leave those variables, so the compiler\ntends not clobber them for something else.  It\u0027s still no guarantee, but\nit handles some observed cases that prevent_tail_call() did not.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5d69a029ab13ddef5bdad69174fabafada4a87fd",
      "tree": "1123225102bc850b09cfb5ba1ccff47f4ef3e044",
      "parents": [
        "999646e3f953c734f8eced551fc1ea28719ba7a7",
        "e6957ea48429aeda4f5d51af4238231d44b0dc4a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 10 13:39:29 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 10 13:39:29 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com:8090/xfs/xfs-2.6\n\n* \u0027for-linus\u0027 of git://oss.sgi.com:8090/xfs/xfs-2.6:\n  [XFS] Ensure \"both\" features2 slots are consistent\n  [XFS] Fix superblock features2 field alignment problem\n  [XFS] remove shouting-indirection macros from xfs_sb.h\n"
    },
    {
      "commit": "999646e3f953c734f8eced551fc1ea28719ba7a7",
      "tree": "303e37c8a848534331640d7a5c7fd177537534b1",
      "parents": [
        "76b0c26af2736b7e5b87e6ed7ab63901483d5736",
        "4faa3c8150c1d4f7b38d962eda7851083e218e3f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 10 13:39:07 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 10 13:39:07 2008 -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  cfq-iosched: do not leak ioc_data across iosched switches\n  splice: fix infinite loop in generic_file_splice_read()\n"
    },
    {
      "commit": "76b0c26af2736b7e5b87e6ed7ab63901483d5736",
      "tree": "5d5178cdbf82bcc2ab581826bef033377fa1e210",
      "parents": [
        "f4be31ec9690cfe6e94fcbed6ae60a6a38b3c3ed"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Wed Apr 09 17:44:07 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 10 13:37:51 2008 -0700"
      },
      "message": "HFS+: fix unlink of links\n\nSome time ago while attempting to handle invalid link counts, I botched\nthe unlink of links itself, so this patch fixes this now correctly, so\nthat only the link count of nodes that don\u0027t point to links is ignored.\nThanks to Vlado Plaga \u003crechner@vlado-do.de\u003e to notify me of this\nproblem.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e6957ea48429aeda4f5d51af4238231d44b0dc4a",
      "tree": "860c95c0e9446191262bb44ad436d38afb8cb7d6",
      "parents": [
        "ee1c090825bf2f1cb9712489c234eabf69a9a78f"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Thu Apr 10 12:19:34 2008 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Apr 10 16:25:26 2008 +1000"
      },
      "message": "[XFS] Ensure \"both\" features2 slots are consistent\n\nSince older kernels may look in the sb_bad_features2 slot for flags,\nrather than zeroing it out on fixup, we should make it equal to the\nsb_features2 value.\n\nAlso, if the ATTR2 flag was not found prior to features2 fixup, it was not\nset in the mount flags, so re-check after the fixup so that the current\nsession will use the feature.\n\nAlso fix up the comments to reflect these changes.\n\nSGI-PV: 980085\nSGI-Modid: xfs-linux-melb:xfs-kern:30778a\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "ee1c090825bf2f1cb9712489c234eabf69a9a78f",
      "tree": "c261cbeeda46937e6c65994b4348227505665f66",
      "parents": [
        "6211870992502efdccf9cd6bae155c83277835fa"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Thu Mar 06 13:45:50 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Apr 10 16:25:15 2008 +1000"
      },
      "message": "[XFS] Fix superblock features2 field alignment problem\n\nDue to the xfs_dsb_t structure not being 64 bit aligned, the last field of\nthe on-disk superblock can vary in location This causes problems when the\nfilesystem gets moved to a different platform, or there is a 32 bit\nuserspace and 64 bit kernel.\n\nThis patch detects the defect at mount time, logs a warning such as:\n\nXFS: correcting sb_features alignment problem\n\nin dmesg and corrects the problem so that everything is OK. it also\nblacklists the bad field in the superblock so it does not get used for\nsomething else later on.\n\nSGI-PV: 977636\nSGI-Modid: xfs-linux-melb:xfs-kern:30539a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "6211870992502efdccf9cd6bae155c83277835fa",
      "tree": "1e8a5606550a4cccc7d8e82dd23e681077f223a6",
      "parents": [
        "7180c4c9e09888db0a188f729c96c6d7bd61fa83"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Thu Mar 06 13:44:28 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Apr 10 16:24:45 2008 +1000"
      },
      "message": "[XFS] remove shouting-indirection macros from xfs_sb.h\n\nRemove macro-to-small-function indirection from xfs_sb.h, and remove some\nwhich are completely unused.\n\nSGI-PV: 976035\nSGI-Modid: xfs-linux-melb:xfs-kern:30528a\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: Donald Douwsma \u003cdonaldd@sgi.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "8191ecd1d14c6914c660dfa007154860a7908857",
      "tree": "7a2c76742945e9659db502c16ed17d33a0644bfd",
      "parents": [
        "f4be31ec9690cfe6e94fcbed6ae60a6a38b3c3ed"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Apr 10 08:24:25 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Apr 10 08:24:25 2008 +0200"
      },
      "message": "splice: fix infinite loop in generic_file_splice_read()\n\nThere\u0027s a quirky loop in generic_file_splice_read() that could go\non indefinitely, if the file splice returns 0 permanently (and not\njust as a temporary condition). Get rid of the loop and pass\nback -EAGAIN correctly from __generic_file_splice_read(), so we\nhandle that condition properly as well.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "240ee831187e000704cba3208ef6b0a8ad49bd64",
      "tree": "185d0a366d121ca0dd58cd382696b4bc01452165",
      "parents": [
        "66d3aac04175c35564cc5982934b68bc4f89a76d"
      ],
      "author": {
        "name": "Bryan Wu",
        "email": "cooloney@kernel.org",
        "time": "Tue Apr 01 20:23:39 2008 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Apr 08 21:06:56 2008 -0400"
      },
      "message": "fix bug - executing FDPIC ELF on NFS mount triggers BUG() at mm/nommu.c:862:/do_mmap_private()\n\nNFS needs a NOMMU version mmap function to support uClinux on NOMMU machine\nhttp://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action\u003dTrackerItemEdit\u0026tracker_id\u003d141\u0026tracker_item_id\u003d3992\n\nSigned-off-by: Bryan Wu \u003ccooloney@kernel.org\u003e\nCc: Mike Frysinger \u003cvapier.adi@gmail.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "66d3aac04175c35564cc5982934b68bc4f89a76d",
      "tree": "0b71ad81894f9d0beb0384691d50db71788f5504",
      "parents": [
        "daeba89d43af0fa469d38a4ccdc32fff8ca17c2e"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Mar 31 15:01:58 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Apr 08 21:06:53 2008 -0400"
      },
      "message": "NFS: initialize flags field in nfs_open_context\n\nThe nfs_open_context struct had a \"flags\" field added recently, but the\nallocator isn\u0027t initializing it. It also looks like the allocator isn\u0027t\ninitializing the mode or list either, but they seem to be overwritten\nby the caller, so that\u0027s less of an issue.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1be62dc190ebaca331038962c873e7967de6cc4b",
      "tree": "a8eb0a106bf362819d2bb0fc602b0e52df6a4198",
      "parents": [
        "4ed919014eb2b591eb8fdd4dd00226a65faddef4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 04 14:38:17 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 04 14:38:17 2008 -0700"
      },
      "message": "Be more careful about marking buffers dirty\n\nMikulas Patocka noted that the optimization where we check if a buffer\nwas already dirty (and we avoid re-dirtying it) was not really SMP-safe.\n\nSince the read of the old status was not synchronized with anything, an\naggressive CPU re-ordering of memory accesses might have moved that read\nup to before the data was even written to the buffer, and another CPU\nthat cleaned it again, causing the newly dirty state to never actually\nhit the disk.\n\nAdmittedly this would probably never trigger in practice, but it\u0027s still\nwrong.\n\nMikulas sent a patch that fixed the problem, but I dislike the subtlety\nof the whole optimization, so this is an alternate fix that is more\nexplicit about the particular SMP ordering for the optimization, and\nseparates out the speculative reads of the buffer state into its own\nconditional (and makes the memory barrier only happen if we are likely\nto actually hit the optimized case in the first place).\n\nI considered removing the optimization entirely, but Andrew argued for\nit\u0027s continued existence. I\u0027m a push-over.\n\nCc: Mikulas Patocka \u003cmikulas@artax.karlin.mff.cuni.cz\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ad16df848d7f84a1b7cea92edd515815ea4ccf0f",
      "tree": "b7a3c62b409d001711151356c06dcb3360501fe2",
      "parents": [
        "4cd13504652d28e16bf186c6bb2bbb3725369383"
      ],
      "author": {
        "name": "Sven Schnelle",
        "email": "svens@stackframe.org",
        "time": "Thu Apr 03 10:44:01 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 03 15:40:53 2008 -0700"
      },
      "message": "afs: remove smp_prcessor_id() from debug macro\n\nSigned-off-by: Sven Schnelle \u003csvens@stackframe.org\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4cd13504652d28e16bf186c6bb2bbb3725369383",
      "tree": "2bc557b5a3c92954fabea3cb6217d1373bbedaa4",
      "parents": [
        "9597362d354f8655ece324b01d0c640a0e99c077"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Thu Apr 03 23:35:22 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 03 15:39:49 2008 -0700"
      },
      "message": "splice: use mapping_gfp_mask\n\nThe loop block driver is careful to mask __GFP_IO|__GFP_FS out of its\nmapping_gfp_mask, to avoid hangs under memory pressure.  But nowadays\nit uses splice, usually going through __generic_file_splice_read.  That\nmust use mapping_gfp_mask instead of GFP_KERNEL to avoid those hangs.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "865965a66ea616a413012edcd3a10ef39c06d672",
      "tree": "4128974d320d02fb09d3da6748215318f72696e8",
      "parents": [
        "212e7bb6cda5dd3c4ad97a7aedef705028ced4ad"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Wed Apr 02 13:04:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 02 15:28:19 2008 -0700"
      },
      "message": "efs: update error msg to not refer to deleted read_inode()\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a5f37c3252b174efdcdd808797a7c529064c95c0",
      "tree": "8932c50a54cdbeb1fadda70f388bbc53d6407d9c",
      "parents": [
        "0e81a8ae37687845f7cdfa2adce14ea6a5f1dd34"
      ],
      "author": {
        "name": "Sven Schnelle",
        "email": "svens@stackframe.org",
        "time": "Wed Apr 02 13:17:18 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 02 07:40:54 2008 -0700"
      },
      "message": "afs: add missing up_write() on return\n\nIf afs_cell_alloc() fails, afs_cells_sem doesn\u0027t get unlocked, which\nleads to a deadlock.  Unlock it before returning.\n\nSigned-off-by: Sven Schnelle \u003csvens@stackframe.org\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2b210adcb08c7966feeb8574cd90514f1e797ae9",
      "tree": "4dbb0db6c371a7ff58c29cd8b75606ef7187f02d",
      "parents": [
        "7d61c4596d11d624efb4bbcbad01f9cf2b321162"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Sat Mar 29 03:09:18 2008 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 30 14:20:23 2008 -0700"
      },
      "message": "cifs: fix misannotations\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9dce07f1a441b77a15631cf0ed0238e0baa7ed64",
      "tree": "2131d670d31ae4727b4234e3e0ad176ae103d571",
      "parents": [
        "1076d17ac70d1bb28fadc6f4bd96977b56897025"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Sat Mar 29 03:07:28 2008 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 30 14:18:41 2008 -0700"
      },
      "message": "NULL noise: fs/*, mm/*, kernel/*\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1076d17ac70d1bb28fadc6f4bd96977b56897025",
      "tree": "17327e19c0bf6280d5c50996f96d14f38b55841a",
      "parents": [
        "af8be4e4b316df36a00c1e52a9970c253783b57e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Sat Mar 29 03:07:18 2008 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 30 14:18:41 2008 -0700"
      },
      "message": "jbd/jbd2 NULL noise\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "af8be4e4b316df36a00c1e52a9970c253783b57e",
      "tree": "6d56665916e601ed6a933d6f85c22ee8512c6531",
      "parents": [
        "d478376cb0dc9ab16a2b6e02fd8cd1174e724c64",
        "6758f953d05378d907a164c67934cd86183d9c88"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 28 15:23:01 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 28 15:23:01 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  [PATCH] mnt_expire is protected by namespace_sem, no need for vfsmount_lock\n  [PATCH] do shrink_submounts() for all fs types\n  [PATCH] sanitize locking in mark_mounts_for_expiry() and shrink_submounts()\n  [PATCH] count ghost references to vfsmounts\n  [PATCH] reduce stack footprint in namespace.c\n"
    },
    {
      "commit": "5214b729e1c2dc3af8f55e6c4c548844c3bea0f5",
      "tree": "8838edf8e3d4068c41816d7b17c63849318ceb93",
      "parents": [
        "fac533c2505b39faf30492cd3f0844c0da51c75c"
      ],
      "author": {
        "name": "Sven Schnelle",
        "email": "svens@stackframe.org",
        "time": "Fri Mar 28 14:15:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 28 14:45:21 2008 -0700"
      },
      "message": "afs: prevent double cell registration\n\nkafs doesn\u0027t check if the cell already exists - so if you do an echo \"add\nnewcell.org 1.2.3.4\" \u003e/proc/fs/afs/cells it will try to create this cell\nagain.  kobject will also complain about a double registration.  To prevent\nsuch problems, return -EEXIST in that case.\n\nSigned-off-by: Sven Schnelle \u003csvens@stackframe.org\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5b41e74ad1b0bf7bc51765ae74e5dc564afc3e48",
      "tree": "e0edafb1d44154b258e013f745d123326183acbd",
      "parents": [
        "1d4a788f15302877ff2cb08f22009e290a36a209"
      ],
      "author": {
        "name": "Dmitri Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Fri Mar 28 14:15:52 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 28 14:45:21 2008 -0700"
      },
      "message": "vfs: fix data leak in nobh_write_end()\n\nCurrent nobh_write_end() implementation ignore partial writes(copied \u003c len)\ncase if page was fully mapped and simply mark page as Uptodate, which is\ntotally wrong because area [pos+copied, pos+len) wasn\u0027t updated explicitly in\nprevious write_begin call.  It simply contains garbage from pagecache and\nresult in data leakage.\n\n#TEST_CASE_BEGIN:\n~~~~~~~~~~~~~~~~\nIn fact issue triggered by classical testcase\n\topen(\"/mnt/test\", O_RDWR|O_CREAT|O_TRUNC, 0666) \u003d 3\n\tftruncate(3, 409600)                    \u003d 0\n\twritev(3, [{\"a\", 1}, {NULL, 4095}], 2)  \u003d 1\n##TESTCASE_SOURCE:\n~~~~~~~~~~~~~~~~~\n#include \u003cstdio.h\u003e\n#include \u003cstdlib.h\u003e\n#include \u003cfcntl.h\u003e\n#include \u003csys/uio.h\u003e\n#include \u003csys/mman.h\u003e\n#include \u003cerrno.h\u003e\nint main(int argc, char **argv)\n{\n\tint fd,  ret;\n\tvoid* p;\n\tstruct iovec iov[2];\n\tfd \u003d open(argv[1], O_RDWR|O_CREAT|O_TRUNC, 0666);\n\tftruncate(fd, 409600);\n\tiov[0].iov_base\u003d\"a\";\n\tiov[0].iov_len\u003d1;\n\tiov[1].iov_base\u003dNULL;\n\tiov[1].iov_len\u003d4096;\n\tret \u003d writev(fd, iov, sizeof(iov)/sizeof(struct iovec));\n\tprintf(\"writev  \u003d %d, err \u003d %d\\n\", ret, errno);\n\treturn 0;\n}\n##TESTCASE RESULT:\n~~~~~~~~~~~~~~~~~~\n[root@ts63 ~]# mount | grep mnt2\n/dev/mapper/test on /mnt2 type ext2 (rw,nobh)\n[root@ts63 ~]#  /tmp/writev /mnt2/test\nwritev  \u003d 1, err \u003d 0\n[root@ts63 ~]# hexdump -C /mnt2/test\n\n00000000  61 65 62 6f 6f 74 00 00  f0 b9 b4 59 3a 00 00 00  |aeboot.....Y:...|\n00000010  20 00 00 00 00 00 00 00  21 00 00 00 00 00 00 00  | .......!.......|\n00000020  df df df df df df df df  df df df df df df df df  |................|\n00000030  3a 00 00 00 2a 00 00 00  21 00 00 00 00 00 00 00  |:...*...!.......|\n00000040  60 c0 8c 00 00 00 00 00  40 4a 8d 00 00 00 00 00  |`.......@J......|\n00000050  00 00 00 00 00 00 00 00  41 00 00 00 00 00 00 00  |........A.......|\n00000060  74 69 6d 65 20 64 64 20  69 66 3d 2f 64 65 76 2f  |time dd if\u003d/dev/|\n00000070  6c 6f 6f 70 30 20 20 6f  66 3d 2f 64 65 76 2f 6e  |loop0  of\u003d/dev/n|\nskip..\n00000f50  00 00 00 00 00 00 00 00  31 00 00 00 00 00 00 00  |........1.......|\n00000f60  6d 6b 66 73 2e 65 78 74  33 20 2f 64 65 76 2f 76  |mkfs.ext3 /dev/v|\n00000f70  7a 76 67 2f 74 65 73 74  20 2d 62 34 30 39 36 00  |zvg/test -b4096.|\n00000f80  a0 fe 8c 00 00 00 00 00  21 00 00 00 00 00 00 00  |........!.......|\n00000f90  23 31 32 30 35 39 35 30  34 30 34 00 3a 00 00 00  |#1205950404.:...|\n00000fa0  20 00 8d 00 00 00 00 00  21 00 00 00 00 00 00 00  | .......!.......|\n00000fb0  d0 cf 8c 00 00 00 00 00  10 d0 8c 00 00 00 00 00  |................|\n00000fc0  00 00 00 00 00 00 00 00  41 00 00 00 00 00 00 00  |........A.......|\n00000fd0  6d 6f 75 6e 74 20 2f 64  65 76 2f 76 7a 76 67 2f  |mount /dev/vzvg/|\n00000fe0  74 65 73 74 20 20 2f 76  7a 20 2d 6f 20 64 61 74  |test  /vz -o dat|\n00000ff0  61 3d 77 72 69 74 65 62  61 63 6b 00 00 00 00 00  |a\u003dwriteback.....|\n00001000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|\n\nAs you can see file\u0027s page contains garbage from pagecache instead of zeros.\n#TEST_CASE_END\n\nAttached patch:\n- Add sanity check BUG_ON in order to prevent incorrect usage by caller,\n  This is function invariant because page can has buffers and in no zero\n  *fadata pointer at the same time.\n- Always attach buffers to page is it is partial write case.\n- Always switch back to generic_write_end if page has buffers.\n  This is reasonable because if page already has buffer then generic_write_begin\n  was called previously.\n\nSigned-off-by: Dmitri Monakhov \u003cdmonakhov@openvz.org\u003e\nReviewed-by: Nick Piggin \u003cnpiggin@suse.de\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": "6758f953d05378d907a164c67934cd86183d9c88",
      "tree": "8697e51c495610804b3a5aad191434629d5fd09d",
      "parents": [
        "c35038becad0adb0e25261fff66d85b1a6ddd0c2"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 22 16:14:30 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Mar 27 20:48:04 2008 -0400"
      },
      "message": "[PATCH] mnt_expire is protected by namespace_sem, no need for vfsmount_lock\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c35038becad0adb0e25261fff66d85b1a6ddd0c2",
      "tree": "1d375d74ef5b4c3641768697b2ff8f4992916dc5",
      "parents": [
        "bcc5c7d2b692e5319db00b0dd020ce98723103b1"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 22 00:46:23 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Mar 27 20:47:58 2008 -0400"
      },
      "message": "[PATCH] do shrink_submounts() for all fs types\n\n... and take it out of -\u003eumount_begin() instances.  Call with all locks\nalready taken (by do_umount()) and leave calling release_mounts() to\ncaller (it will do release_mounts() anyway, so we can just put into\nthe same list).\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "bcc5c7d2b692e5319db00b0dd020ce98723103b1",
      "tree": "e485f36b5e6d8744ea5035b95b497b9dc3ba30db",
      "parents": [
        "7c4b93d8269b9d35971a8239426b1f6ddc3d5ef7"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 22 00:21:53 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Mar 27 20:47:52 2008 -0400"
      },
      "message": "[PATCH] sanitize locking in mark_mounts_for_expiry() and shrink_submounts()\n\n... and fix a race on access of -\u003emnt_share et.al. without namespace_sem\nin the latter.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7c4b93d8269b9d35971a8239426b1f6ddc3d5ef7",
      "tree": "a3309f9237f9d67af000e484bef9c19a7951750a",
      "parents": [
        "1a39068954e33f4bf3e09375a8112dcc801c4688"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 21 23:59:49 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Mar 27 20:47:46 2008 -0400"
      },
      "message": "[PATCH] count ghost references to vfsmounts\n\nmake propagate_mount_busy() exclude references from the vfsmounts\nthat had been isolated by umount_tree() and are just waiting for\nrelease_mounts() to dispose of their -\u003emnt_parent/-\u003emnt_mountpoint.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1a39068954e33f4bf3e09375a8112dcc801c4688",
      "tree": "ac4a07f63ef69a46242df2776f6196f9e2069bba",
      "parents": [
        "3085354de635179d70c240e6d942bcbd1d93056c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 21 20:48:19 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Mar 27 20:47:40 2008 -0400"
      },
      "message": "[PATCH] reduce stack footprint in namespace.c\n\nA lot of places misuse struct nameidata when they need struct path.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7ed7fe5e82c9fc8473974fbd7389d169b8f17c77",
      "tree": "ff6ff57c88c887133f1585473e7d74981d0dc88c",
      "parents": [
        "a4083c9271e0a697278e089f2c0b9a95363ada0a",
        "a02f76c34d7d6d30b63ac64a8b34dea68593e8da"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 25 08:57:47 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 25 08:57:47 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  [PATCH] get stack footprint of pathname resolution back to relative sanity\n  [PATCH] double iput() on failure exit in hugetlb\n  [PATCH] double dput() on failure exit in tiny-shmem\n  [PATCH] fix up new filp allocators\n  [PATCH] check for null vfsmount in dentry_open()\n  [PATCH] reiserfs: eliminate private use of struct file in xattr\n  [PATCH] sanitize hppfs\n  hppfs pass vfsmount to dentry_open()\n  [PATCH] restore export of do_kern_mount()\n"
    },
    {
      "commit": "815d2d50da41f28aae58f5e9b3c61c3094422749",
      "tree": "f5c3a8f1cd676ef7ed76ea6cc96ccf399310f7fb",
      "parents": [
        "c9698d6b1a90929e427a165bd8283f803f57d9bd"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Mar 04 15:09:07 2008 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Mar 24 22:33:49 2008 -0700"
      },
      "message": "driver core: debug for bad dev_attr_show() return value.\n\nTry to find the culprit who caused\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d10150\n\nCc: \u003cbalajirrao@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "0d995b2b446c2304c04058bedba49460823adbf7",
      "tree": "cc6c66b7344f6a4b77aab0d533046c439cad0bf7",
      "parents": [
        "130eb4653550ff9c73e09858464446cc9d59ff7b",
        "04b6e6ec1a9340ab77637cae9b51b984d9d706d8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 22 17:05:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 22 17:05:31 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:\n  [CIFS] Fix mem leak on dfs referral\n  [CIFS] file create with acl support enabled is slow\n  [CIFS] Fix mtime on cp -p when file data cached but written out too late\n  [CIFS] Fix build problem\n  [CIFS] cifs: replace remaining __FUNCTION__ occurrences\n  [CIFS]  DFS patch that connects inode with dfs handling ops\n"
    },
    {
      "commit": "f16278c679aa72e28288435b313ba2d4494d6be5",
      "tree": "00bf8421f056748a5725f2aa165614f69672cc4e",
      "parents": [
        "51ec92e295d563dd5712d198a7e46c2ae5ccccb2"
      ],
      "author": {
        "name": "Hans Rosenfeld",
        "email": "hans.rosenfeld@amd.com",
        "time": "Fri Mar 21 18:46:59 2008 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 22 17:03:10 2008 -0700"
      },
      "message": "Change pagemap output format to allow for future reporting of huge pages\n\nChange pagemap output format to allow for future reporting of huge pages.\n\n(Format comment and minor cleanups: mpm@selenic.com)\n\nSigned-off-by: Hans Rosenfeld \u003chans.rosenfeld@amd.com\u003e\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "04b6e6ec1a9340ab77637cae9b51b984d9d706d8",
      "tree": "50d555030ba63ca2ca2b6a889a412b0b9a5943ef",
      "parents": [
        "8b1327f6ed957030a64ccdb17131955bfea2d3fe"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sat Mar 22 22:57:44 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sat Mar 22 22:57:44 2008 +0000"
      },
      "message": "[CIFS] Fix mem leak on dfs referral\n\nSigned-off-by: Igor Mammedov \u003cniallain@gmail.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "7d3628b230ecbdc29566c18bc7800ff8ed66a71f",
      "tree": "eac1bff40bdb655fdfdeaf1e22ce12a81296f1fb",
      "parents": [
        "2c7871982cf27caaddbaeb7e2121ce1374b520ff",
        "94833dfb8c98ed4ca1944dd2c1339d88a2d1c758"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 21 07:57:45 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 21 07:57:45 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (46 commits)\n  [NET] ifb: set separate lockdep classes for queue locks\n  [IPV6] KCONFIG: Fix description about IPV6_TUNNEL.\n  [TCP]: Fix shrinking windows with window scaling\n  netpoll: zap_completion_queue: adjust skb-\u003eusers counter\n  bridge: use time_before() in br_fdb_cleanup()\n  [TG3]: Fix build warning on sparc32.\n  MAINTAINERS: bluez-devel is subscribers-only\n  audit: netlink socket can be auto-bound to pid other than current-\u003epid (v2)\n  [NET]: Fix permissions of /proc/net\n  [SCTP]: Fix a race between module load and protosw access\n  [NETFILTER]: ipt_recent: sanity check hit count\n  [NETFILTER]: nf_conntrack_h323: logical-bitwise \u0026 confusion in process_setup()\n  [RT2X00] drivers/net/wireless/rt2x00/rt2x00dev.c: remove dead code, fix warning\n  [IPV4]: esp_output() misannotations\n  [8021Q]: vlan_dev misannotations\n  xfrm: -\u003eeth_proto is __be16\n  [IPV4]: ipv4_is_lbcast() misannotations\n  [SUNRPC]: net/* NULL noise\n  [SCTP]: fix misannotated __sctp_rcv_asconf_lookup()\n  [PKT_SCHED]: annotate cls_u32\n  ...\n"
    },
    {
      "commit": "4f42c288e66a3395e94158badbd182b2dae8eccb",
      "tree": "647a3d4fdeabdd36b29de8b4e8197123ee133fe6",
      "parents": [
        "270637abff0cdf848b910b9f96ad342e1da61c66"
      ],
      "author": {
        "name": "Andre Noll",
        "email": "maan@systemlinux.org",
        "time": "Thu Mar 20 15:27:28 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 20 15:27:28 2008 -0700"
      },
      "message": "[NET]: Fix permissions of /proc/net\n\ncommit e9720ac ([NET]: Make /proc/net a symlink on /proc/self/net (v3))\nbroke ganglia and probably other applications that read /proc/net/dev.\n\nThis is due to the change of permissions of /proc/net that was\nintroduced in that commit.\n\nBefore: dr-xr-xr-x 5 root root 0 Mar 19 11:30 /proc/net\nAfter: dr-xr--r-- 5 root root 0 Mar 19 11:29 /proc/self/net\n\nThis patch restores the permissions to the old value which makes\nganglia happy again.\n\nPavel Emelyanov says:\n\n\tThis also broke the postfix, as it was reported in bug #10286\n\tand described in detail by Benjamin.\n\nSigned-off-by: Andre Noll \u003cmaan@systemlinux.org\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "49ccf74aaf6b53751dc0ae06ded9bb39343da822",
      "tree": "1c1c362bc870ea74c3aa6db9bd85b14f1bd68c9d",
      "parents": [
        "45ddfbf9594a344dfecbb320d74636023d813539",
        "f8512ad0da16cbe156f3a7627971cdf0b39c4138"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 20 11:59:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 20 11:59:34 2008 -0700"
      },
      "message": "Merge branch \u0027hotfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027hotfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:\n  nfs: don\u0027t ignore return value from nfs_pageio_add_request\n"
    },
    {
      "commit": "9df130392fb642ecd5564163b574ce69ffda1afa",
      "tree": "26b81bd5e7c0250e24f155bb0c347bafd669ce3c",
      "parents": [
        "9ea85ebae1e05100cdb4807db4f265b0ede7aad8"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed Mar 19 17:01:05 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 19 18:53:37 2008 -0700"
      },
      "message": "fs/ufs/balloc.c: fix sparc64 printk warning\n\nfs/ufs/balloc.c: In function `ufs_change_blocknr\u0027:\nfs/ufs/balloc.c:317: warning: long long unsigned int format, long unsigned int arg (arg 2)\nfs/ufs/balloc.c:317: warning: long long unsigned int format, long unsigned int arg (arg 3)\n\nsector_t is u64 and we don\u0027t know what type the architecture uses to implement\nu64.\n\nCc: Evgeniy Dushistov \u003cdushistov@mail.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "08ca0db8aa2db4ddcf487d46d85dc8ffb22162cc",
      "tree": "3cb882dd0bc473bcb397752c9894d35ec0a918d7",
      "parents": [
        "a6b91919e0881a0d0a4ae5211d5c879a8c7ca92b"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Wed Mar 19 17:01:01 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 19 18:53:36 2008 -0700"
      },
      "message": "zisofs: fix readpage() outside i_size\n\nA read request outside i_size will be handled in do_generic_file_read().  So\nwe just return 0 to avoid getting -EIO as normal reading, let\ndo_generic_file_read do the rest.\n\nAt the same time we need unlock the page to avoid system stuck.\n\nFixes http://bugzilla.kernel.org/show_bug.cgi?id\u003d10227\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nReport-by: Christian Perle \u003cchris@linuxinfotag.de\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": "a6b91919e0881a0d0a4ae5211d5c879a8c7ca92b",
      "tree": "148aabc0a92a297f9220174435e822f30c951215",
      "parents": [
        "5366dc9fd1cb74023790a8edf29e4fe42c886dcf"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Wed Mar 19 17:01:00 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 19 18:53:36 2008 -0700"
      },
      "message": "fs: fix kernel-doc notation warnings\n\nFix kernel-doc notation warnings in fs/.\n\nWarning(mmotm-2008-0314-1449//fs/super.c:560): missing initial short description on line:\n *\tmark_files_ro\nWarning(mmotm-2008-0314-1449//fs/locks.c:1277): missing initial short description on line:\n *\tlease_get_mtime\nWarning(mmotm-2008-0314-1449//fs/locks.c:1277): missing initial short description on line:\n *\tlease_get_mtime\nWarning(mmotm-2008-0314-1449//fs/namei.c:1368): missing initial short description on line:\n * lookup_one_len:  filesystem helper to lookup single pathname component\nWarning(mmotm-2008-0314-1449//fs/buffer.c:3221): missing initial short description on line:\n * bh_uptodate_or_lock: Test whether the buffer is uptodate\nWarning(mmotm-2008-0314-1449//fs/buffer.c:3240): missing initial short description on line:\n * bh_submit_read: Submit a locked buffer for reading\nWarning(mmotm-2008-0314-1449//fs/fs-writeback.c:30): missing initial short description on line:\n * writeback_acquire: attempt to get exclusive writeback access to a device\nWarning(mmotm-2008-0314-1449//fs/fs-writeback.c:47): missing initial short description on line:\n * writeback_in_progress: determine whether there is writeback in progress\nWarning(mmotm-2008-0314-1449//fs/fs-writeback.c:58): missing initial short description on line:\n * writeback_release: relinquish exclusive writeback access against a device.\nWarning(mmotm-2008-0314-1449//include/linux/jbd.h:351): contents before sections\nWarning(mmotm-2008-0314-1449//include/linux/jbd.h:561): contents before sections\nWarning(mmotm-2008-0314-1449//fs/jbd/transaction.c:1935): missing initial short description on line:\n * void journal_invalidatepage()\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5366dc9fd1cb74023790a8edf29e4fe42c886dcf",
      "tree": "f8efcd857540859b2dfe831c5fad063de13936bc",
      "parents": [
        "ae66be9b71b12f16b84129860d06bbfe37fbec51"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Wed Mar 19 17:00:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 19 18:53:36 2008 -0700"
      },
      "message": "eCryptfs: Swap dput() and mntput()\n\necryptfs_d_release() is doing a mntput before doing the dput.  This patch\nmoves the dput before the mntput.\n\nThanks to Rajouri Jammu for reporting this.\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Rajouri Jammu \u003crajouri.jammu@gmail.com\u003e\nCc: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d00256766a0b4f1441931a7f569a13edf6c68200",
      "tree": "114914bc2d531cad2c391d0f133494b7c7f3b811",
      "parents": [
        "439aeec639d7c57f3561054a6d315c40fd24bb74"
      ],
      "author": {
        "name": "Duane Griffin",
        "email": "duaneg@dghda.com",
        "time": "Wed Mar 19 17:00:54 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 19 18:53:36 2008 -0700"
      },
      "message": "jbd2: correctly unescape journal data blocks\n\nFix a long-standing typo (predating git) that will cause data corruption if a\njournal data block needs unescaping.  At the moment the wrong buffer head\u0027s\ndata is being unescaped.\n\nTo test this case mount a filesystem with data\u003djournal, start creating and\ndeleting a bunch of files containing only JBD2_MAGIC_NUMBER (0xc03b3998), then\npull the plug on the device.  Without this patch the files will contain zeros\ninstead of the correct data after recovery.\n\nSigned-off-by: Duane Griffin \u003cduaneg@dghda.com\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: \u003clinux-ext4@vger.kernel.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": "439aeec639d7c57f3561054a6d315c40fd24bb74",
      "tree": "92ccf27e7fe0ae99dfc8e3bcd0ef4fe7d1e0795a",
      "parents": [
        "44e0451db0a9c0bceabaa9cc77cbcc717a094fcc"
      ],
      "author": {
        "name": "Duane Griffin",
        "email": "duaneg@dghda.com",
        "time": "Wed Mar 19 17:00:53 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 19 18:53:36 2008 -0700"
      },
      "message": "jbd: correctly unescape journal data blocks\n\nFix a long-standing typo (predating git) that will cause data corruption if a\njournal data block needs unescaping.  At the moment the wrong buffer head\u0027s\ndata is being unescaped.\n\nTo test this case mount a filesystem with data\u003djournal, start creating and\ndeleting a bunch of files containing only JFS_MAGIC_NUMBER (0xc03b3998), then\npull the plug on the device.  Without this patch the files will contain zeros\ninstead of the correct data after recovery.\n\nSigned-off-by: Duane Griffin \u003cduaneg@dghda.com\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: \u003clinux-ext4@vger.kernel.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": "4ebf89845bea44a164d1fbb8fa319379ec7132de",
      "tree": "f5b87ddbf858ee0a1d9f0177a0c058b81f352c45",
      "parents": [
        "c587f0c0a69227587baaa12e75815b6644457c0a"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 19 17:00:50 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 19 18:53:36 2008 -0700"
      },
      "message": "ROMFS: Fix up an error in iget removal\n\nFix up an error in iget removal in which romfs_lookup() making a successful\ncall to romfs_iget() continues through the negative/error handling (previously\nthe successful case jumped around the negative/error handling case):\n\n (1) inode is initialised to NULL at the top of the function, eliminating the\n     need for specific negative-inode handling.  This means the positive\n     success handling now flows straight through.\n\n (2) Rename the labels to be clearer about what they mean.\n\nAlso make romfs_lookup()\u0027s result variable of type long so as to avoid\n32-bit/64-bit conversions with PTR_ERR() and friends.\n\nBased upon a report and patch from Adam Richter.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: \"Adam J. Richter\" \u003cadam@yggdrasil.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c587f0c0a69227587baaa12e75815b6644457c0a",
      "tree": "5ef93bd6d73fdab6084de20988b8934dbc10ae08",
      "parents": [
        "ffda6857c87fbe3ab144ff3f34b89421eed048cf"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "jbacik@redhat.com",
        "time": "Wed Mar 19 17:00:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 19 18:53:36 2008 -0700"
      },
      "message": "ext3: fix wrong gfp type under transaction\n\nThere are several places where we make allocations with GFP_KERNEL while under\na transaction, which could lead to an assertion panic or lockup if under\nmemory pressure.  This patch switches these problem areas to use GFP_NOFS to\nkeep these problems from happening.\n\nSigned-off-by: Josef Bacik \u003cjbacik@redhat.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "87cb055bc10571522f953925c25bb1a0d1b17605",
      "tree": "72c097d68ee8222236a7630265fade4321800f98",
      "parents": [
        "52ea27eb4cd5f250f33638029a134ff03c5e6bbb"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Mar 19 17:00:46 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 19 18:53:35 2008 -0700"
      },
      "message": "quota: add possibly missing iput() when quotaon and quotaoff races\n\nWe should always put inode we have reference to, even if quota was reenabled\nin the mean time.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0cf01f6685bef41dea37bbec606f375b7a98fd98",
      "tree": "554cd3af3f58b107c543b5eaae9b8be6db6ec794",
      "parents": [
        "0e82989d95cc46cc58622381eafa54f7428ee679"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Wed Mar 19 17:00:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 19 18:53:35 2008 -0700"
      },
      "message": "jbd: fix jbd kernel-doc notation\n\nFix kernel-doc notation in jbd.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6cb2a21049b8990df4576c5fce4d48d0206c22d5",
      "tree": "4303438449e0c0d4859e1818115e09d2fd8340ca",
      "parents": [
        "264e3e889d86e552b4191d69bb60f4f3b383135a"
      ],
      "author": {
        "name": "Quentin Barnes",
        "email": "qbarnes+linux@yahoo-inc.com",
        "time": "Wed Mar 19 17:00:39 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 19 18:53:35 2008 -0700"
      },
      "message": "aio: bad AIO race in aio_complete() leads to process hang\n\nMy group ran into a AIO process hang on a 2.6.24 kernel with the process\nsleeping indefinitely in io_getevents(2) waiting for the last wakeup to come\nand it never would.\n\nWe ran the tests on x86_64 SMP.  The hang only occurred on a Xeon box\n(\"Clovertown\") but not a Core2Duo (\"Conroe\").  On the Xeon, the L2 cache isn\u0027t\nshared between all eight processors, but is L2 is shared between between all\ntwo processors on the Core2Duo we use.\n\nMy analysis of the hang is if you go down to the second while-loop\nin read_events(), what happens on processor #1:\n\t1) add_wait_queue_exclusive() adds thread to ctx-\u003ewait\n\t2) aio_read_evt() to check tail\n\t3) if aio_read_evt() returned 0, call [io_]schedule() and sleep\n\nIn aio_complete() with processor #2:\n\tA) info-\u003etail \u003d tail;\n\tB) waitqueue_active(\u0026ctx-\u003ewait)\n\tC) if waitqueue_active() returned non-0, call wake_up()\n\nThe way the code is written, step 1 must be seen by all other processors\nbefore processor 1 checks for pending events in step 2 (that were recorded by\nstep A) and step A by processor 2 must be seen by all other processors\n(checked in step 2) before step B is done.\n\nThe race I believed I was seeing is that steps 1 and 2 were\neffectively swapped due to the __list_add() being delayed by the L2\ncache not shared by some of the other processors.  Imagine:\nproc 2: just before step A\nproc 1, step 1: adds to ctx-\u003ewait, but is not visible by other processors yet\nproc 1, step 2: checks tail and sees no pending events\nproc 2, step A: updates tail\nproc 1, step 3: calls [io_]schedule() and sleeps\nproc 2, step B: checks ctx-\u003ewait, but sees no one waiting, skips wakeup\n                so proc 1 sleeps indefinitely\n\nMy patch adds a memory barrier between steps A and B.  It ensures that the\nupdate in step 1 gets seen on processor 2 before continuing.  If processor 1\nwas just before step 1, the memory barrier makes sure that step A (update\ntail) gets seen by the time processor 1 makes it to step 2 (check tail).\n\nBefore the patch our AIO process would hang virtually 100% of the time.  After\nthe patch, we have yet to see the process ever hang.\n\nSigned-off-by: Quentin Barnes \u003cqbarnes+linux@yahoo-inc.com\u003e\nReviewed-by: Zach Brown \u003czach.brown@oracle.com\u003e\nCc: Benjamin LaHaise \u003cbcrl@kvack.org\u003e\nCc: \u003cstable@kernel.org\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n[ We should probably disallow that \"if (waitqueue_active()) wake_up()\"\n  coding pattern, because it\u0027s so often buggy wrt memory ordering ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f8512ad0da16cbe156f3a7627971cdf0b39c4138",
      "tree": "2658c63faeda07505793ccc747ee4efbffdaa69c",
      "parents": [
        "264e3e889d86e552b4191d69bb60f4f3b383135a"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@citi.umich.edu",
        "time": "Wed Mar 19 11:24:39 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 19 17:59:02 2008 -0400"
      },
      "message": "nfs: don\u0027t ignore return value from nfs_pageio_add_request\n\nIgnoring the return value from nfs_pageio_add_request can cause deadlocks.\n\nIn read path:\n  call nfs_pageio_add_request from readpage_async_filler\n  assume at this point that there are requests already in desc, that\n    can\u0027t be merged with the current request.\n  so nfs_pageio_doio is fired up to clear out desc.\n  assume something goes wrong in setting up the io, so desc-\u003epg_error is set.\n  This causes nfs_pageio_add_request to return 0, *WITHOUT* adding the original\n    request.\n  BUT, since return code is ignored, readpage_async_filler assumes it has\n    been added, and does nothing further, leaving page locked.\n  do_generic_mapping_read will eventually call lock_page, resulting in deadlock\n\nIn write path:\n  page is marked dirty by generic_perform_write\n  nfs_writepages is called\n  call nfs_pageio_add_request from nfs_page_async_flush\n  assume at this point that there are requests already in desc, that\n    can\u0027t be merged with the current request.\n  so nfs_pageio_doio is fired up to clear out desc.\n  assume something goes wrong in setting up the io, so desc-\u003epg_error is set.\n  This causes nfs_page_async_flush to return 0, *WITHOUT* adding the original\n    request, yet marking the request as locked (PG_BUSY) and in writeback,\n    clearing dirty marks.\n  The next time a write is done to the page, deadlock will result as\n    nfs_write_end calls nfs_update_request\n\nSigned-off-by: Fred Isaman \u003ciisaman@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a02f76c34d7d6d30b63ac64a8b34dea68593e8da",
      "tree": "4186495ccb3d6ef3cec8b5f8cf964212f746ab55",
      "parents": [
        "b4d232e65fa274a715dae39f77191071324e602a"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Feb 23 15:14:28 2008 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 19 06:55:46 2008 -0400"
      },
      "message": "[PATCH] get stack footprint of pathname resolution back to relative sanity\n\nSomebody had put struct nameidata in stack frame of link_path_walk().\nUnfortunately, there are certain realities to deal with:\n\t* It\u0027s in the middle of recursion.  Depth is equal to the nesting\ndepth of symlinks, i.e. up to 8.\n\t* struct namiedata is, even if one discards the intent junk,\nat least 12 pointers + 5 ints.\n\t* moreover, adding a stack frame is not free in that situation.\n\t* there are fs methods called on top of that, and they also have\nstack footprint.\n\t* kernel stack is not infinite.\n\nThe thing is, even if one chooses to deal with -ESTALE that way (and it\u0027s\none hell of an overkill), the only thing that needs to be preserved is\nvfsmount + dentry, not the entire struct nameidata.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b4d232e65fa274a715dae39f77191071324e602a",
      "tree": "e361724c1dd08a8947cd74b0b0e092438eb50887",
      "parents": [
        "8a03feab32dceb78b9b1edf220e833d36d416b00"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Feb 23 05:59:19 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 19 06:55:01 2008 -0400"
      },
      "message": "[PATCH] double iput() on failure exit in hugetlb\n\nonce we\u0027d done d_instantiate(), we should only do dput().\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "430e285e0817e3e18aadd814bc078d50d8af0cbf",
      "tree": "cbd008864e18e76a7e2984bfd1898028762fd19a",
      "parents": [
        "322ee5b36eac42e762526b0df7fa432beba6e7a0"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Fri Feb 15 14:37:26 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 19 06:54:05 2008 -0400"
      },
      "message": "[PATCH] fix up new filp allocators\n\nSome new uses of get_empty_filp() have crept in; switched\nto alloc_file() to make sure that pieces of initialization\nwon\u0027t be missing.\n\nWe really need to kill get_empty_filp().\n\n[AV] fixed dentry leak on failure exit in anon_inode_getfd()\n\nCc: Erez Zadok \u003cezk@cs.sunysb.edu\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: \"J Bruce Fields\" \u003cbfields@fieldses.org\u003e\nAcked-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "322ee5b36eac42e762526b0df7fa432beba6e7a0",
      "tree": "2499695b67123a8d463a1e59e91aa793f4803c10",
      "parents": [
        "3227e14c3cab5ef7972c72eb13c13de444b5bfbc"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Feb 15 14:37:24 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 19 06:50:44 2008 -0400"
      },
      "message": "[PATCH] check for null vfsmount in dentry_open()\n\nMake sure no-one calls dentry_open with a NULL vfsmount argument and crap\nout with a stacktrace otherwise.  A NULL file-\u003ef_vfsmnt has always been\nproblematic, but with the per-mount r/o tracking we can\u0027t accept anymore\nat all.\n\n[AV] the last place that passed NULL had been eliminated by the previous\npatch (reiserfs xattr stuff)\n\nAcked-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3227e14c3cab5ef7972c72eb13c13de444b5bfbc",
      "tree": "e846d8e513f1d43da3e5ca9a7004fb8349b67852",
      "parents": [
        "f382d6e631fe424200ee0d8bb16539f5b7bef7be"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@suse.com",
        "time": "Fri Feb 15 14:37:22 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 19 06:49:36 2008 -0400"
      },
      "message": "[PATCH] reiserfs: eliminate private use of struct file in xattr\n\nAfter several posts and bug reports regarding interaction with the NULL\nnameidata, here\u0027s a patch to clean up the mess with struct file in the\nreiserfs xattr code.\n\nAs observed in several of the posts, there\u0027s really no need for struct file\nto exist in the xattr code.  It was really only passed around due to the\nf_op-\u003ereaddir() and a_ops-\u003e{prepare,commit}_write prototypes requiring it.\n\nreiserfs_prepare_write() and reiserfs_commit_write() don\u0027t actually use the\nstruct file passed to it, and the xattr code uses a private version of\nreiserfs_readdir() to enumerate the xattr directories.\n\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\nAcked-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "f382d6e631fe424200ee0d8bb16539f5b7bef7be",
      "tree": "03692bc57fa9cce5d12ace0b57fc03c11b6fa72f",
      "parents": [
        "1dd0dd111f1b7591f2848fffdb06044053f66c40"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Feb 23 04:53:53 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 19 06:42:18 2008 -0400"
      },
      "message": "[PATCH] sanitize hppfs\n\n* hppfs_iget() and its users are racy; there\u0027s no need to pollute icache\n  anyway, new_inode() works fine and is safe, unlike the current kludges\n  (these relied on overwriting -\u003ei_ino before another iget_locked() gets\n  to that one - and did it after unlocking).\n* merge hppfs_iget()/init_inode()/hppfs_read_inode(), while we are\n  at it.\n* to pass proper vfsmount to dentry_open() store the reference\n  in hppfs superblock.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n --\n"
    },
    {
      "commit": "1dd0dd111f1b7591f2848fffdb06044053f66c40",
      "tree": "7913e42fbb43e8d724e547c5ff1d2efa71c2bc57",
      "parents": [
        "8a4e98d9d758d0eb751916e906fae40bda151b11"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Fri Feb 15 18:37:00 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 19 06:39:56 2008 -0400"
      },
      "message": "hppfs pass vfsmount to dentry_open()\n\nHere\u0027s patch for hppfs that uses vfs_kern_mount to make sure it always has a\nprocfs instance and passed the vfsmount on through the inode private data.\nAlso fixes a procfs file_system_type leak for every attempted hppfs mount.\n\n[ jdike - gave this file a style workover, plus deleted hppfs_dentry_ops ]\n\nAcked-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "f920bb6f5fe21047e669381fe4dd346f6a9d3562",
      "tree": "d38ee255046f23e15dd4c138864386c57759ceed",
      "parents": [
        "d32466912ea1f5a0ced568c4884f6c7d335ea969",
        "1e0bd7550ea9cf474b1ad4c6ff5729a507f75fdc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 18 08:43:59 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 18 08:43:59 2008 -0700"
      },
      "message": "Merge branch \u0027audit.b49\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current\n\n* \u0027audit.b49\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current:\n  [PATCH] export sessionid alongside the loginuid in procfs\n"
    },
    {
      "commit": "1e0bd7550ea9cf474b1ad4c6ff5729a507f75fdc",
      "tree": "06e2df8c0f07339e55f7c410e43094dd91a99892",
      "parents": [
        "bde4f8fa8db2abd5ac9c542d76012d0fedab050f"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Mar 13 08:15:31 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 18 10:51:22 2008 -0400"
      },
      "message": "[PATCH] export sessionid alongside the loginuid in procfs\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "92f53c6f1e47d92b40b1e9e1662b0056c783b962",
      "tree": "850cba7afebec402f8db3fa6e9ea5199e858ffd7",
      "parents": [
        "ff69c00f0a58383f1f60dd2756e54a857f08d249",
        "40044ce0bf2b7e548584d91f108444e83ed5eab3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 18 07:43:14 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 18 07:43:14 2008 -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  Revert \"unexport bio_{,un}map_user\"\n  relay: fix subbuf_splice_actor() adding too many pages\n  The ps2esdi driver was marked as BROKEN more than two years ago due to being\n"
    },
    {
      "commit": "2f633928cbba8a5858bb39b11e7219a41b0fbef5",
      "tree": "9a82f4b7f2c3afe4b0208d8e44ea61bae90a7d22",
      "parents": [
        "5e226e4d9016daee170699f8a4188a5505021756",
        "bde4f8fa8db2abd5ac9c542d76012d0fedab050f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 17 23:44:31 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 17 23:44:31 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n"
    },
    {
      "commit": "e6f1cebf71c4e7aae7dfa43414ce2631291def9f",
      "tree": "a3abf6bb3e63f2ecea1a4e05bf8d288d920acb17",
      "parents": [
        "fc4d30a6fc88121081916faef930d8c3e4ed6036"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Mar 17 22:44:53 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 17 22:44:53 2008 -0700"
      },
      "message": "[NET] endianness noise: INADDR_ANY\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8a4e98d9d758d0eb751916e906fae40bda151b11",
      "tree": "c7d94a18308b55cb9de1837f839af7fdfb8b624e",
      "parents": [
        "bde4f8fa8db2abd5ac9c542d76012d0fedab050f"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Feb 24 01:43:03 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Mar 17 22:58:04 2008 -0400"
      },
      "message": "[PATCH] restore export of do_kern_mount()\n\nvfs_kern_mount() requires having a reference to fs type, which\nmakes it impossible for module to create procfs, etc. private\nmount.  Open-coding is not an option, since e.g. put_filesystem()\nis _not_ exported, and for a good reason.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "40044ce0bf2b7e548584d91f108444e83ed5eab3",
      "tree": "f08d62febe76470e16a639b1c9029309defdd112",
      "parents": [
        "16d54669427069ef2823752c365d695b0cc4748f"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Mar 17 21:14:40 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Mar 17 21:14:40 2008 +0100"
      },
      "message": "Revert \"unexport bio_{,un}map_user\"\n\nOutside users like asmlib uses the mapping functions. API wise, the\nexport is definitely sane. It\u0027s a better idea to keep this export\nthan to require external users to open-code this piece of code instead.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "3d10a15d6919488204bdb264050d156ced20d9aa",
      "tree": "c5a230680cb2745c94137e354d66f7734266a009",
      "parents": [
        "a978b30af3bab0dd9af9350eeda25e76123fa28e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Sun Mar 16 22:48:08 2008 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 17 09:46:55 2008 -0700"
      },
      "message": "hfs_bnode_find() can fail, resulting in hfs_bnode_split() breakage\n\noops and fs corruption; the latter can happen even on valid fs in case of oom.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b663c6fd98c9cf586279db03cec3257c413efd00",
      "tree": "f268ae9e706044f48d2f95fcb4841ce89c70cf4b",
      "parents": [
        "9b89ca7a3847c0d5b1e86e83f4860a866f28a89b"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Mar 14 19:37:11 2008 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 14 16:49:15 2008 -0700"
      },
      "message": "nfsd: fix oops on access from high-numbered ports\n\nThis bug was always here, but before my commit 6fa02839bf9412e18e77\n(\"recheck for secure ports in fh_verify\"), it could only be triggered by\nfailure of a kmalloc().  After that commit it could be triggered by a\nclient making a request from a non-reserved port for access to an export\nmarked \"secure\".  (Exports are \"secure\" by default.)\n\nThe result is a struct svc_export with a reference count one too low,\nresulting in likely oopses next time the export is accessed.\n\nThe reference counting here is not straightforward; a later patch will\nclean up fh_verify().\n\nThanks to Lukas Hejtmanek for the bug report and followup.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: Lukas Hejtmanek \u003cxhejtman@ics.muni.cz\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8b1327f6ed957030a64ccdb17131955bfea2d3fe",
      "tree": "075ff00b4c333ef333aff5927eac45bde16d8d53",
      "parents": [
        "ebe8912be214662c8289977fb416c1f015df4a0b"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Mar 14 22:37:16 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Mar 14 22:37:16 2008 +0000"
      },
      "message": "[CIFS] file create with acl support enabled is slow\n\nShirish Pargaonkar noted:\nWith cifsacl mount option, when a file is created on the Windows server,\nexclusive oplock is broken right away because the get cifs acl code\nagain opens the file to obtain security descriptor.\nThe client does not have the newly created file handle or inode in any\nof its lists yet so it does not respond to oplock break and server waits for\nits duration and then responds to the second open. This slows down file\ncreation signficantly.  The fix is to pass the file descriptor to the get\ncifsacl code wherever available so that get cifs acl code does not send\nsecond open (NT Create ANDX) and oplock is not broken.\n\nCC: Shirish Pargaonkar \u003cshirishp@us.ibm.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "ebe8912be214662c8289977fb416c1f015df4a0b",
      "tree": "cb82c552c602e5ae1a4bd8c11bd171bf88a58c35",
      "parents": [
        "50531444fac593c8c8e3ff2e41944d9507bb4665",
        "dba92d3bc49c036056a48661d2d8fefe4c78375a"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Mar 14 19:29:18 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Mar 14 19:29:18 2008 +0000"
      },
      "message": "Merge branch \u0027master\u0027 of /pub/scm/linux/kernel/git/torvalds/linux-2.6\n"
    },
    {
      "commit": "50531444fac593c8c8e3ff2e41944d9507bb4665",
      "tree": "da888faac8dffd99b651d9bb64cd10871bffa097",
      "parents": [
        "bc5b6e24a17f90c7d096d857650f4739cc95c941"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Mar 14 19:21:31 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Mar 14 19:21:31 2008 +0000"
      },
      "message": "[CIFS] Fix mtime on cp -p when file data cached but written out too late\n\nKukks noticed that cp -p can write out file data too late, after the timestamp\nis already set.  This was introduced as an unintentional sideeffect of the change\nin an earlier patch (see below) which fixed some delayed return code propagation.\n\ncea218054ad277d6c126890213afde07b4eb1602\nAuthor: Jeff Layton \u003cjlayton@redhat.com\u003e\nDate:   Tue Nov 20 23:19:03 2007 +0000\n\nAcked-by: Shirish Pargaonkar \u003cshirishp@us.ibm.com\u003e\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "fb39380b8d683b55630ba5ba381f4e43e417420e",
      "tree": "4fa4386d054b2af1b66651f8cc3d87eeb48ebf73",
      "parents": [
        "b500ce8d24d1f14426643da5f6fada28c1f60533"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "marcelo@kvack.org",
        "time": "Thu Mar 13 12:32:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 13 13:11:43 2008 -0700"
      },
      "message": "pagemap: proper read error handling\n\nFix pagemap_read() error handling by releasing acquired resources and checking\nfor get_user_pages() partial failure.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "609eb39c8d8a8d2930780428f6cbe2f63eb84734",
      "tree": "0cf74a0e6e64531b31c5a1c9d45fbcb88f5e4d1f",
      "parents": [
        "123d43acd2e55cd7db792d17c7e906db42cada42",
        "22626216c46f2ec86287e75ea86dd9ac3df54265"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 12 13:08:09 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 12 13:08:09 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (47 commits)\n  [SCTP]: Fix local_addr deletions during list traversals.\n  net: fix build with CONFIG_NET\u003dn\n  [TCP]: Prevent sending past receiver window with TSO (at last skb)\n  rt2x00: Add new D-Link USB ID\n  rt2x00: never disable multicast because it disables broadcast too\n  libertas: fix the \u0027compare command with itself\u0027 properly\n  drivers/net/Kconfig: fix whitespace for GELIC_WIRELESS entry\n  [NETFILTER]: nf_queue: don\u0027t return error when unregistering a non-existant handler\n  [NETFILTER]: nfnetlink_queue: fix EPERM when binding/unbinding and instance 0 exists\n  [NETFILTER]: nfnetlink_log: fix EPERM when binding/unbinding and instance 0 exists\n  [NETFILTER]: nf_conntrack: replace horrible hack with ksize()\n  [NETFILTER]: nf_conntrack: add \\n to \"expectation table full\" message\n  [NETFILTER]: xt_time: fix failure to match on Sundays\n  [NETFILTER]: nfnetlink_log: fix computation of netlink skb size\n  [NETFILTER]: nfnetlink_queue: fix computation of allocated size for netlink skb.\n  [NETFILTER]: nfnetlink: fix ifdef in nfnetlink_compat.h\n  [NET]: include \u003clinux/types.h\u003e into linux/ethtool.h for __u* typedef\n  [NET]: Make /proc/net a symlink on /proc/self/net (v3)\n  RxRPC: fix rxrpc_recvmsg()\u0027s returning of msg_name\n  net/enc28j60: oops fix\n  ...\n"
    },
    {
      "commit": "b2211a361a4289c83971f89da53fe2eb9e72769d",
      "tree": "e73ba46c7d54199ccef2ec378569d29501179bf5",
      "parents": [
        "5ea3a7480606cef06321cd85bc5113c72d2c7c68"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Mar 11 18:03:35 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 11 18:03:35 2008 -0700"
      },
      "message": "net: fix build with CONFIG_NET\u003dn\n\nfs/built-in.o:(.rodata+0x1134): undefined reference to `proc_net_inode_operations\u0027\nfs/built-in.o:(.rodata+0x1138): undefined reference to `proc_net_operations\u0027\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bc5b6e24a17f90c7d096d857650f4739cc95c941",
      "tree": "31f4c2e7fc352c0365b83576cc341974c7e41be4",
      "parents": [
        "5b4d4771e2a56671c7f1c94edda427a1e3d6f111"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Mar 11 21:07:48 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Mar 11 21:07:48 2008 +0000"
      },
      "message": "[CIFS] Fix build problem\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "5b4d4771e2a56671c7f1c94edda427a1e3d6f111",
      "tree": "58718288a28cca121a94b681a7865473a10dfd64",
      "parents": [
        "55f78e1771f0886162edd441dd4f39c287779de2",
        "baadac8b10c5ac15ce3d26b68fa266c8889b163f"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Mar 11 19:15:41 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Mar 11 19:15:41 2008 +0000"
      },
      "message": "Merge branch \u0027master\u0027 of /pub/scm/linux/kernel/git/torvalds/linux-2.6\n"
    },
    {
      "commit": "cdef59a94c2fc962ada379d4240d556db7b56d55",
      "tree": "80abc337bb85896eca55e789f7ebf2c5af4d1fee",
      "parents": [
        "c824c3c723f2e37a00b3b739a55b28de595fd72e"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Wed Mar 05 15:49:55 2008 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Mar 10 15:14:19 2008 -0700"
      },
      "message": "ocfs2: Fix NULL pointer dereferences in o2net\n\nIn some situations, ocfs2_set_nn_state might get called with sc \u003d NULL and\nvalid \u003d 0. If sc \u003d NULL, we can\u0027t dereference it to get the o2nm_node\nmember. Instead, do what o2net_initialize_handshake does and use NULL when\ncalling o2net_reconnect_delay and o2net_idle_timeout.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "c824c3c723f2e37a00b3b739a55b28de595fd72e",
      "tree": "c5cd618420cc66f238f0273d6d59dbed46099dca",
      "parents": [
        "535f7026fddafce6d0a0524db01a432c23a0a7b4"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Sat Mar 01 14:04:25 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Mar 10 15:14:17 2008 -0700"
      },
      "message": "ocfs2/dlm: dlm_thread should not sleep while holding the dlm_spinlock\n\nThis patch addresses the bug in which the dlm_thread could go to sleep\nwhile holding the dlm_spinlock.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "535f7026fddafce6d0a0524db01a432c23a0a7b4",
      "tree": "1ff54fc43e58eca485e96dc444ca0987d24a18e9",
      "parents": [
        "b31cfc0237f89c3a8bc8f31b5da996e71b543214"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Sat Mar 01 14:04:24 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Mar 10 15:14:14 2008 -0700"
      },
      "message": "ocfs2/dlm: Print message showing the recovery master\n\nKnowing the dlm recovery master helps in debugging recovery\nissues. This patch prints a message on the recovery master node.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "b31cfc0237f89c3a8bc8f31b5da996e71b543214",
      "tree": "ca34114cdaf0512401f07112aa53e6dc34e99b37",
      "parents": [
        "52987e2ab456c1a828046494aac53819b1454341"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Sat Mar 01 14:04:22 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Mar 10 15:14:12 2008 -0700"
      },
      "message": "ocfs2/dlm: Add missing dlm_lockres_put()s\n\ndlm_master_request_handler() forgot to put a lockres when\ndlm_assert_master_worker() failed or was skipped.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "52987e2ab456c1a828046494aac53819b1454341",
      "tree": "c6ce00323a57c277fefd271f17d0542f35fc3055",
      "parents": [
        "2c5c54aca9d0263f81bd4886232835ba31f7635a"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Sat Mar 01 14:04:21 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Mar 10 15:14:11 2008 -0700"
      },
      "message": "ocfs2/dlm: Add missing dlm_lockres_put()s in migration path\n\nDuring migration, the recovery master node may be asked to master a lockres\nit may not know about. In that case, it would not only have to create a\nlockres and add it to the hash, but also remember to to do the _put_\ncorresponding to the kref_init in dlm_init_lockres(), as soon as the migration\nis completed. Yes, we don\u0027t wait for the dlm_purge_lockres() to do that\nmatching put. Note the ref added for it being in the hash protects the lockres\nfrom being freed prematurely.\n\nThis patch adds that missing put, as described above, to plug a memleak.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "2c5c54aca9d0263f81bd4886232835ba31f7635a",
      "tree": "b20b13e1a15bfa33c1ebba7a57fabfe23ad9c3eb",
      "parents": [
        "4338ab6a750303cbae4cc76cc7de5edba6598ebe"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Sat Mar 01 14:04:20 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Mar 10 15:14:09 2008 -0700"
      },
      "message": "ocfs2/dlm: Add missing dlm_lock_put()s\n\nNormally locks for remote nodes are freed when that node sends an UNLOCK\nmessage to the master. The master node tags an DLM_UNLOCK_FREE_LOCK action\nto do an extra put on the lock at the end.\n\nHowever, there are times when the master node has to free the locks for the\nremote nodes forcibly.\n\nTwo cases when this happens are:\n1. When the master has migrated the lockres plus all locks to another node.\n2. When the master is clearing all the locks of a dead node.\n\nIt was in the above two conditions that the dlm was missing the extra put.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "4338ab6a750303cbae4cc76cc7de5edba6598ebe",
      "tree": "91f5d507fd7441521fac9d44b268758fbd6de4e9",
      "parents": [
        "90d99779a4cc134daaf8910d814b7a8a5d1e8970"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Mon Mar 03 10:53:02 2008 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Mar 10 15:14:07 2008 -0700"
      },
      "message": "ocfs2: Fix an endian bug in online resize.\n\nIn ocfs2_group_add, \u0027cr\u0027 is a disk field of type \u0027ocfs2_chain_rec\u0027, and we\nwere putting cpu byteorder values into it. Swap things to the right endian\nbefore storing.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "90d99779a4cc134daaf8910d814b7a8a5d1e8970",
      "tree": "65d242c293fcbe4d6875a8043847eaa687f82880",
      "parents": [
        "0f71b7b40f55de909e40fa5ab217a5da3439c7d8"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@computergmbh.de",
        "time": "Tue Jan 22 20:52:20 2008 +0100"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Mar 10 15:13:57 2008 -0700"
      },
      "message": "[PATCH] [OCFS2]: constify function pointer tables\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@computergmbh.de\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "0f71b7b40f55de909e40fa5ab217a5da3439c7d8",
      "tree": "3afad178b200b0a16e10ccaca2b05da1197034d4",
      "parents": [
        "2af37ce82d199d1d8cd6286f42f37d321627a807"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Tue Feb 12 14:56:25 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Mar 10 15:13:54 2008 -0700"
      },
      "message": "ocfs2: Fix endian bug in o2dlm protocol negotiation.\n\nstruct dlm_query_join_packet is made up of four one-byte fields.  They\nare effectively in big-endian order already.  However, little-endian\nmachines swap them before putting the packet on the wire (because\nquery_join\u0027s response is a status, and that status is treated as a u32\non the wire).  Thus, a big-endian and little-endian machines will\ntreat this structure differently.\n\nThe solution is to have little-endian machines swap the structure when\nconverting from the structure to the u32 representation.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "2af37ce82d199d1d8cd6286f42f37d321627a807",
      "tree": "f4d2497ee6a4b40f312f564ced81399f235d8fd3",
      "parents": [
        "3a4780a85d4a160a471ed887bfce58b414f556b1"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Thu Feb 28 10:41:55 2008 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Mar 10 15:13:50 2008 -0700"
      },
      "message": "ocfs2: Use dlm_print_one_lock_resource for lock resource print\n\n__dlm_print_one_lock_resource must be called with spin_lock\nthe res-\u003espinlock. While in some cases, we use it without this\nprecondition and lead to the failure of assert_spin_locked.\nSo call dlm_print_one_lock_resource instead.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "3a4780a85d4a160a471ed887bfce58b414f556b1",
      "tree": "538100b2ef1ca25d4ceaba647191369ab81aa543",
      "parents": [
        "cdeeeae056a429e729ae9e914fa8142ee45bee93"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Fri Feb 29 01:56:06 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Mar 10 15:13:39 2008 -0700"
      },
      "message": "[PATCH] fs/ocfs2/dlm/dlmdomain.c: fix printk warning\n\nfs/ocfs2/dlm/dlmdomain.c: In function \u0027dlm_send_join_cancels\u0027:\nfs/ocfs2/dlm/dlmdomain.c:983: warning: format \u0027%u\u0027 expects type \u0027unsigned int\u0027, but argument 7 has type \u0027long unsigned int\u0027\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "55f78e1771f0886162edd441dd4f39c287779de2",
      "tree": "95ebc11a8730e85b70e4a8da04f6d0f7cd5e40f8",
      "parents": [
        "7962670e648a0431338a7ce73847c24bc023d095"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Mon Mar 10 17:14:34 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Mar 10 17:14:34 2008 +0000"
      },
      "message": "[CIFS] cifs: replace remaining __FUNCTION__ occurrences\n\n__FUNCTION__ is gcc-specific, use __func__\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "7962670e648a0431338a7ce73847c24bc023d095",
      "tree": "48c311837feef12cc3818a5c9b0c01c77b60a089",
      "parents": [
        "84c6f6046c5a2189160a8f0dca8b90427bf690ea"
      ],
      "author": {
        "name": "Igor Mammedov",
        "email": "niallain@gmail.com",
        "time": "Sun Mar 09 03:44:18 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sun Mar 09 03:44:18 2008 +0000"
      },
      "message": "[CIFS]  DFS patch that connects inode with dfs handling ops\n if DFS junction point\n\nSigned-off-by: Igor Mammedov \u003cniallain@gmail.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "4c1aa6f8b9686ddc7221f0f3b63f9b7dd1467543",
      "tree": "8774d2a82e5a3682e863eb9e1ae34fd7aed8ac94",
      "parents": [
        "5d49c101a126808a38f2a1f4eedc1fd28233e37f",
        "4e99a1ff3410c627a428d5ddb6cd2e7bc908a486"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Mar 07 12:08:07 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Mar 07 12:08:07 2008 -0800"
      },
      "message": "Merge branch \u0027hotfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027hotfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:\n  NFS: Fix dentry revalidation for NFSv4 referrals and mountpoint crossings\n  NFS: Fix the fsid revalidation in nfs_update_inode()\n  SUNRPC: Fix a nfs4 over rdma transport oops\n  NFS: Fix an f_mode/f_flags confusion in fs/nfs/write.c\n"
    },
    {
      "commit": "4e99a1ff3410c627a428d5ddb6cd2e7bc908a486",
      "tree": "ad22bf99412be3470ebe3a3dde51172826eb7a1a",
      "parents": [
        "c37dcd334c0b0a46a90cfa13b9f69e2aaa89bc09"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 06 12:34:59 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 07 14:35:41 2008 -0500"
      },
      "message": "NFS: Fix dentry revalidation for NFSv4 referrals and mountpoint crossings\n\nAs long as the directory contents haven\u0027t changed, we should just let the\npath walk proceed to cross the mountpoint. Apart from being an optimisation\nin the case of \u0027nohide\u0027 mountpoint traversals, it also fixes an issue with\nreferrals: referral inodes don\u0027t have valid filehandles, so calling\nnfs_revalidate_inode() on them is a bug.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c37dcd334c0b0a46a90cfa13b9f69e2aaa89bc09",
      "tree": "0792bbc64fff676c76a696a76a9f703cd9500145",
      "parents": [
        "ee1a2c564f67407947e89f1dac75ac0af0ba88c7"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 06 12:34:50 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 07 14:35:37 2008 -0500"
      },
      "message": "NFS: Fix the fsid revalidation in nfs_update_inode()\n\nWhen we detect that we\u0027ve crossed a mountpoint on the remote server, we\nmust take care not to use that inode to revalidate the fsid on our\ncurrent superblock. To do so, we label the inode as a remote mountpoint,\nand check for that in nfs_update_inode().\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "af1b8c2ff7c337c4e96db12d6b7b61eaa91aa069",
      "tree": "5de8a786af7abdc9e26f59ebd8b1639e85745591",
      "parents": [
        "bfa274e2436fc7ef72ef51c878083647f1cfd429"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 25 15:56:29 2008 -0800"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 07 14:33:40 2008 -0500"
      },
      "message": "NFS: Fix an f_mode/f_flags confusion in fs/nfs/write.c\n\nO_SYNC is stored in filp-\u003ef_flags.\nThanks to Al Viro for pointing out the bug.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e9720acd728a46cb40daa52c99a979f7c4ff195c",
      "tree": "01380f601384cf93f30dedb64afe80359fecb807",
      "parents": [
        "1ff82fe0024e8070c38346b8abc1ff09612dea4c"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Mar 07 11:08:40 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 07 11:08:40 2008 -0800"
      },
      "message": "[NET]: Make /proc/net a symlink on /proc/self/net (v3)\n\nCurrent /proc/net is done with so called \"shadows\", but current\nimplementation is broken and has little chances to get fixed.\n\nThe problem is that dentries subtree of /proc/net directory has\nfancy revalidation rules to make processes living in different\nnet namespaces see different entries in /proc/net subtree, but\ncurrently, tasks see in the /proc/net subdir the contents of any\nother namespace, depending on who opened the file first.\n\nThe proposed fix is to turn /proc/net into a symlink, which points\nto /proc/self/net, which in turn shows what previously was in\n/proc/net - the network-related info, from the net namespace the\nappropriate task lives in.\n\n# ls -l /proc/net\nlrwxrwxrwx  1 root root 8 Mar  5 15:17 /proc/net -\u003e self/net\n\nIn other words - this behaves like /proc/mounts, but unlike\n\"mounts\", \"net\" is not a file, but a directory.\n\nChanges from v2:\n* Fixed discrepancy of /proc/net nlink count and selinux labeling\n  screwup pointed out by Stephen.\n\n  To get the correct nlink count the -\u003egetattr callback for /proc/net\n  is overridden to read one from the net-\u003eproc_net entry.\n\n  To make selinux still work the net-\u003eproc_net entry is initialized\n  properly, i.e. with the \"net\" name and the proc_net parent.\n\nSelinux fixes are\nAcked-by:  Stephen Smalley \u003csds@tycho.nsa.gov\u003e\n\nChanges from v1:\n* Fixed a task_struct leak in get_proc_task_net, pointed out by Paul.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "910da1a48eeb3be53a8247f6c494aa9d67ab1422",
      "tree": "b8bf3753de5a3186d17348d2eaadc5e923339fca",
      "parents": [
        "2ab42e24d63193d78f2e888a170b208f4776aaba",
        "72772a3b5b158cddcfbbff3ef13b26b03a905158"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Mar 06 08:14:00 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Mar 06 08:14:00 2008 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com:8090/xfs/xfs-2.6\n\n* \u0027for-linus\u0027 of git://oss.sgi.com:8090/xfs/xfs-2.6:\n  [XFS] fix inode leak in xfs_iget_core()\n  [XFS] 977545 977545 977545 977545 977545 977545 xfsaild causing too many\n"
    },
    {
      "commit": "72772a3b5b158cddcfbbff3ef13b26b03a905158",
      "tree": "e87303c54834c58dca859c881d693babbf0fce5e",
      "parents": [
        "92d9cd1059f80b9c89dee191ffb88b0872e6a7ae"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Thu Mar 06 13:49:43 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Mar 06 16:38:50 2008 +1100"
      },
      "message": "[XFS] fix inode leak in xfs_iget_core()\n\nIf the radix_tree_preload() fails, we need to destroy the inode we just\nread in before trying again. This could leak xfs_vnode structures when\nthere is memory pressure. Noticed by Christoph Hellwig.\n\nSGI-PV: 977823\nSGI-Modid: xfs-linux-melb:xfs-kern:30606a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "92d9cd1059f80b9c89dee191ffb88b0872e6a7ae",
      "tree": "972a8e148775ec20358f6e59a01807417be9b7a1",
      "parents": [
        "29e8c3c304b62f31b799565c9ee85d42bd163f80"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Thu Mar 06 13:45:10 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Mar 06 16:38:17 2008 +1100"
      },
      "message": "[XFS] 977545 977545 977545 977545 977545 977545 xfsaild causing too many\nwakeups\n\nIdle state is not being detected properly by the xfsaild push code. The\ncurrent idle state is detected by an empty list which may never happen\nwith mostly idle filesystem or one using lazy superblock counters. A\nsingle dirty item in the list that exists beyond the push target can\nresult repeated looping attempting to push up to the target because it\nfails to check if the push target has been acheived or not.\n\nFix by considering a dirty list with everything past the target as an idle\nstate and set the timeout appropriately.\n\nSGI-PV: 977545\nSGI-Modid: xfs-linux-melb:xfs-kern:30532a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    }
  ],
  "next": "f9c3a3802119a2d30f3e4a69aef30a81e09d0209"
}
