)]}'
{
  "log": [
    {
      "commit": "6ab33d51713d6d60c7677c0d020910a8cb37e513",
      "tree": "546c2ff099b2757e75cf34ddace874f1220f740e",
      "parents": [
        "7be6065b39c3f1cfa796667eac1a2170465acc91",
        "13d428afc007fcfcd6deeb215618f54cf9c0cae6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 16:44:00 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 16:44:00 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/ixgbe/ixgbe_main.c\n\tinclude/net/mac80211.h\n\tnet/phonet/af_phonet.c\n"
    },
    {
      "commit": "0cb39aa0ac3a9dc64171b43a85d17e539d82f2d6",
      "tree": "c69f6840e55b868e23b3315eb0f09ad245ce67c4",
      "parents": [
        "c93fc2873edcd3eae0ed11ba288a77f3ef62e92b",
        "ddb4cbfc53aa0913ee8da059fcbf628d14f40f63"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 20 13:14:16 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 20 13:14:16 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:\n  [CIFS] Do not attempt to close invalidated file handles\n  [CIFS] fix check for dead tcon in smb_init\n"
    },
    {
      "commit": "ddb4cbfc53aa0913ee8da059fcbf628d14f40f63",
      "tree": "d77a2d510fa3a3b6556052af024355ed5cfc43d8",
      "parents": [
        "bfb59820ee46616a7bdb4af6b8f7e109646de6ec"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Nov 20 20:00:44 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Nov 20 20:14:13 2008 +0000"
      },
      "message": "[CIFS] Do not attempt to close invalidated file handles\n\nIf a connection with open file handles has gone down\nand come back up and reconnected without reopening\nthe file handle yet, do not attempt to send an SMB close\nrequest for this handle in cifs_close.  We were\nchecking for the connection being invalid in cifs_close\nbut since the connection may have been reconnected\nwe also need to check whether the file handle\nwas marked invalid (otherwise we could close the\nwrong file handle by accident).\n\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "ea7e743e49b94749fc739baaf160809ed279aeda",
      "tree": "bb6892e864240c4b91c4547deaebaa3c9a06b806",
      "parents": [
        "ee11940f8e7a2f064af22d52180cb5f9643eef61"
      ],
      "author": {
        "name": "WANG Cong",
        "email": "wangcong@zeuux.org",
        "time": "Wed Nov 19 15:36:46 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 19 18:50:00 2008 -0800"
      },
      "message": "hostfs: fix a duplicated global function name\n\nfs/hostfs/hostfs_user.c defines do_readlink() as non-static, and so does\nfs/xfs/linux-2.6/xfs_ioctl.c when CONFIG_XFS_DEBUG\u003dy.  So rename\ndo_readlink() in hostfs to hostfs_do_readlink().\n\nI think it\u0027s better if XFS guys will also rename their do_readlink(),\nit\u0027s not necessary to use such a general name.\n\nSigned-off-by: WANG Cong \u003cwangcong@zeuux.org\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f9454548e17cd56bad081bd7d55a09b001950cbb",
      "tree": "dd1d2000dbdae6d9baa638d5166b268ec40e8445",
      "parents": [
        "63eb6b93ce725e4c5f38fc85dd703d49465b03cb"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Wed Nov 19 15:36:38 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 19 18:49:59 2008 -0800"
      },
      "message": "don\u0027t unlink an active swapfile\n\nPeter Cordes is sorry that he rm\u0027ed his swapfiles while they were in use,\nhe then had no pathname to swapoff.  It\u0027s a curious little oversight, but\nnot one worth a lot of hackery.  Kudos to Willy Tarreau for turning this\naround from a discussion of synthetic pathnames to how to prevent unlink.\nMimic immutable: prohibit unlinking an active swapfile in may_delete()\n(and don\u0027t worry my little head over the tiny race window).\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Willy Tarreau \u003cw@1wt.eu\u003e\nAcked-by: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Peter Cordes \u003cpeter@cordes.ca\u003e\nCc: Bodo Eggert \u003c7eggert@gmx.de\u003e\nCc: David Newall \u003cdavidn@davidnewall.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ac97b9f9a2d0b83488e0bbcb8517b229d5c9b142",
      "tree": "118785d6a53390fb15177fc762f744a1bc0a79a4",
      "parents": [
        "3b45d6380c392e402adc460e4ccf7d41e0caf82a"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Wed Nov 19 15:36:28 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 19 18:49:58 2008 -0800"
      },
      "message": "eCryptfs: Allocate up to two scatterlists for crypto ops on keys\n\nI have received some reports of out-of-memory errors on some older AMD\narchitectures.  These errors are what I would expect to see if\ncrypt_stat-\u003ekey were split between two separate pages.  eCryptfs should\nnot assume that any of the memory sent through virt_to_scatterlist() is\nall contained in a single page, and so this patch allocates two\nscatterlist structs instead of one when processing keys.  I have received\nconfirmation from one person affected by this bug that this patch resolves\nthe issue for him, and so I am submitting it for inclusion in a future\nstable release.\n\nNote that virt_to_scatterlist() runs sg_init_table() on the scatterlist\nstructs passed to it, so the calls to sg_init_table() in\ndecrypt_passphrase_encrypted_session_key() are redundant.\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nReported-by: Paulo J. S. Silva \u003cpjssilva@ime.usp.br\u003e\nCc: \"Leon Woestenberg\" \u003cleon.woestenberg@gmail.com\u003e\nCc: Tim Gardner \u003ctim.gardner@canonical.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": "198d6ba4d7f48c94f990f4604f0b3d73925e0ded",
      "tree": "56bbdf8ba2553c23c8099da9344a8f1d1aba97ab",
      "parents": [
        "9a57f7fabd383920585ed8b74eacd117c6551f2d",
        "7f0f598a0069d1ab072375965a4b69137233169c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 18 23:38:23 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 18 23:38:23 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/isdn/i4l/isdn_net.c\n\tfs/cifs/connect.c\n"
    },
    {
      "commit": "bfb59820ee46616a7bdb4af6b8f7e109646de6ec",
      "tree": "e2a62482c9094102aff08f621e000c55c1391858",
      "parents": [
        "4e14e833ac3b97a4aa8803eea49f899adc5bb5f4"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Nov 18 16:33:48 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Nov 18 16:33:48 2008 +0000"
      },
      "message": "[CIFS] fix check for dead tcon in smb_init\n\nThis was recently changed to check for need_reconnect, but should\nactually be a check for a tidStatus of CifsExiting.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "55e8e30c382d25c34f8aafcc78efec948571a941",
      "tree": "c044242b34590e3b5ceff03a2891f9afccc95e9e",
      "parents": [
        "ba32929a91fe2c0628f5be62d1597b379c8d3062"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "teheo@suse.de",
        "time": "Mon Nov 10 15:30:47 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Nov 18 15:08:56 2008 +0100"
      },
      "message": "block/md: fix md autodetection\n\nBlock ext devt conversion missed md_autodetect_dev() call in\nrescan_partitions() leaving md autodetect unable to see partitions.\nFix it.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "ba32929a91fe2c0628f5be62d1597b379c8d3062",
      "tree": "09ea54ed2d2299d25b92fee6a6dde4d7527a3d37",
      "parents": [
        "eb60fa1066622ddb2278732cf61e0c4544e82c6f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Nov 10 15:29:58 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Nov 18 15:08:56 2008 +0100"
      },
      "message": "block: make add_partition() return pointer to hd_struct\n\nMake add_partition() return pointer to the new hd_struct on success\nand ERR_PTR() value on failure.  This change will be used to fix md\nautodetection bug.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "eb60fa1066622ddb2278732cf61e0c4544e82c6f",
      "tree": "4297d3c2e8876897c51843df148725909a356a08",
      "parents": [
        "4e14e833ac3b97a4aa8803eea49f899adc5bb5f4"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Nov 10 15:28:59 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Nov 18 15:08:55 2008 +0100"
      },
      "message": "block: fix add_partition() error path\n\nPartition stats structure was not freed on devt allocation failure\npath.  Fix it.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "4e14e833ac3b97a4aa8803eea49f899adc5bb5f4",
      "tree": "dd052898b27acff7f1e7d1cc41c98a17d6b9f0f1",
      "parents": [
        "65ecc14a30ad21bed9aabdfd6a2ae1a1aaaa6a00",
        "b066a48c9532243894f93a06ca5a0ee2cc21a8dc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 17 20:53:31 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 17 20:53:31 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:\n  prevent cifs_writepages() from skipping unwritten pages\n  Fixed parsing of mount options when doing DFS submount\n  [CIFS] Fix check for tcon seal setting and fix oops on failed mount from earlier patch\n  [CIFS] Fix build break\n  cifs: reinstate sharing of tree connections\n  [CIFS] minor cleanup to cifs_mount\n  cifs: reinstate sharing of SMB sessions sans races\n  cifs: disable sharing session and tcon and add new TCP sharing code\n  [CIFS] clean up server protocol handling\n  [CIFS] remove unused list, add new cifs sock list to prepare for mount/umount fix\n  [CIFS] Fix cifs reconnection flags\n  [CIFS] Can\u0027t rely on iov length and base when kernel_recvmsg returns error\n"
    },
    {
      "commit": "b066a48c9532243894f93a06ca5a0ee2cc21a8dc",
      "tree": "dcb1aeb0e2b6a9af57479287ff4b9c94b070d0d3",
      "parents": [
        "2c55608f28444c3f33b10312881384c470ceed56"
      ],
      "author": {
        "name": "Dave Kleikamp",
        "email": "shaggy@linux.vnet.ibm.com",
        "time": "Tue Nov 18 03:49:05 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Nov 18 04:30:07 2008 +0000"
      },
      "message": "prevent cifs_writepages() from skipping unwritten pages\n\nFixes a data corruption under heavy stress in which pages could be left\ndirty after all open instances of a inode have been closed.\n\nIn order to write contiguous pages whenever possible, cifs_writepages()\nasks pagevec_lookup_tag() for more pages than it may write at one time.\nNormally, it then resets index just past the last page written before calling\npagevec_lookup_tag() again.\n\nIf cifs_writepages() can\u0027t write the first page returned, it wasn\u0027t resetting\nindex, and the next call to pagevec_lookup_tag() resulted in skipping all of\nthe pages it previously returned, even though cifs_writepages() did nothing\nwith them.  This can result in data loss when the file descriptor is about\nto be closed.\n\nThis patch ensures that index gets set back to the next returned page so\nthat none get skipped.\n\nSigned-off-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nCc: Shirish S Pargaonkar \u003cshirishp@us.ibm.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "2c55608f28444c3f33b10312881384c470ceed56",
      "tree": "84064756aee9e936cd5f3eb8f63fe83f04d30de2",
      "parents": [
        "ab3f992983062440b4f37c666dac66d987902d91"
      ],
      "author": {
        "name": "Igor Mammedov",
        "email": "niallain@gmail.com",
        "time": "Thu Oct 23 13:58:42 2008 +0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Nov 18 04:29:06 2008 +0000"
      },
      "message": "Fixed parsing of mount options when doing DFS submount\n\nSince these hit the same routines, and are relatively small, it is easier to review\nthem as one patch.\n\nFixed incorrect handling of the last option in some cases\nFixed prefixpath handling convert path_consumed into host depended string length (in bytes)\nUse non default separator if it is provided in the original mount options\n\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Igor Mammedov \u003cniallain@gmail.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "ab3f992983062440b4f37c666dac66d987902d91",
      "tree": "9333cd574f0a1ead688347b148ae36fdcd384440",
      "parents": [
        "c2b3382cd4d6c6adef1347e81f20e16c93a39feb"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Nov 17 16:03:00 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Nov 17 16:03:00 2008 +0000"
      },
      "message": "[CIFS] Fix check for tcon seal setting and fix oops on failed mount from earlier patch\n\nset tcon-\u003eses earlier\n\nIf the inital tree connect fails, we\u0027ll end up calling cifs_put_smb_ses\nwith a NULL pointer. Fix it by setting the tcon-\u003eses earlier.\n\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "c2b3382cd4d6c6adef1347e81f20e16c93a39feb",
      "tree": "ac039e2d2cc37f25df3b8346cf5a980ee7988599",
      "parents": [
        "f1987b44f642e96176adc88b7ce23a1d74806f89"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Nov 17 03:57:13 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Nov 17 03:57:13 2008 +0000"
      },
      "message": "[CIFS] Fix build break\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "f1987b44f642e96176adc88b7ce23a1d74806f89",
      "tree": "fceaebf6b6d7eb1d1150120c44a842cbce8347f6",
      "parents": [
        "d82c2df54e2f7e447476350848d8eccc8d2fe46a"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Sat Nov 15 11:12:47 2008 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Nov 17 03:14:12 2008 +0000"
      },
      "message": "cifs: reinstate sharing of tree connections\n\nUse a similar approach to the SMB session sharing. Add a list of tcons\nattached to each SMB session. Move the refcount to non-atomic. Protect\nall of the above with the cifs_tcp_ses_lock. Add functions to\nproperly find and put references to the tcons.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "5c06fe772da43db63b053addcd2c267f76d0be91",
      "tree": "688e5f0028c710a6258f37e20337282ff93f317a",
      "parents": [
        "77fb61a04a0483ad274ce5c51b02c46c12db3693"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Sun Nov 16 22:19:10 2008 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 16 15:09:52 2008 -0800"
      },
      "message": "Fix broken ownership of /proc/sys/ files\n\nD\u0027oh...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nReported-and-tested-by: Peter Palfrader \u003cpeter@palfrader.org\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8f7b0ba1c853919b85b54774775f567f30006107",
      "tree": "1acd2b7ed5ed0de3eecfff9da5da4e779731f8a8",
      "parents": [
        "0d3b71009737511ea937ac405205fd8214b898bb"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Sat Nov 15 01:15:43 2008 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 15 12:26:44 2008 -0800"
      },
      "message": "Fix inotify watch removal/umount races\n\nInotify watch removals suck violently.\n\nTo kick the watch out we need (in this order) inode-\u003einotify_mutex and\nih-\u003emutex.  That\u0027s fine if we have a hold on inode; however, for all\nother cases we need to make damn sure we don\u0027t race with umount.  We can\n*NOT* just grab a reference to a watch - inotify_unmount_inodes() will\nhappily sail past it and we\u0027ll end with reference to inode potentially\noutliving its superblock.\n\nIdeally we just want to grab an active reference to superblock if we\ncan; that will make sure we won\u0027t go into inotify_umount_inodes() until\nwe are done.  Cleanup is just deactivate_super().\n\nHowever, that leaves a messy case - what if we *are* racing with\numount() and active references to superblock can\u0027t be acquired anymore?\nWe can bump -\u003es_count, grab -\u003es_umount, which will almost certainly wait\nuntil the superblock is shut down and the watch in question is pining\nfor fjords.  That\u0027s fine, but there is a problem - we might have hit the\nwindow between -\u003es_active getting to 0 / -\u003es_count - below S_BIAS (i.e.\nthe moment when superblock is past the point of no return and is heading\nfor shutdown) and the moment when deactivate_super() acquires\n-\u003es_umount.\n\nWe could just do drop_super() yield() and retry, but that\u0027s rather\nantisocial and this stuff is luser-triggerable.  OTOH, having grabbed\n-\u003es_umount and having found that we\u0027d got there first (i.e.  that\n-\u003es_root is non-NULL) we know that we won\u0027t race with\ninotify_umount_inodes().\n\nSo we could grab a reference to watch and do the rest as above, just\nwith drop_super() instead of deactivate_super(), right? Wrong.  We had\nto drop ih-\u003emutex before we could grab -\u003es_umount.  So the watch\ncould\u0027ve been gone already.\n\nThat still can be dealt with - we need to save watch-\u003ewd, do idr_find()\nand compare its result with our pointer.  If they match, we either have\nthe damn thing still alive or we\u0027d lost not one but two races at once,\nthe watch had been killed and a new one got created with the same -\u003ewd\nat the same address.  That couldn\u0027t have happened in inotify_destroy(),\nbut inotify_rm_wd() could run into that.  Still, \"new one got created\"\nis not a problem - we have every right to kill it or leave it alone,\nwhatever\u0027s more convenient.\n\nSo we can use idr_find(...) \u003d\u003d watch \u0026\u0026 watch-\u003einode-\u003ei_sb \u003d\u003d sb as\n\"grab it and kill it\" check.  If it\u0027s been our original watch, we are\nfine, if it\u0027s a newcomer - nevermind, just pretend that we\u0027d won the\nrace and kill the fscker anyway; we are safe since we know that its\nsuperblock won\u0027t be going away.\n\nAnd yes, this is far beyond mere \"not very pretty\"; so\u0027s the entire\nconcept of inotify to start with.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d82c2df54e2f7e447476350848d8eccc8d2fe46a",
      "tree": "b48fa40fc34a87d9fd83254a8fdfb3e8173a6348",
      "parents": [
        "14fbf50d695207754daeb96270b3027a3821121f"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sat Nov 15 00:07:26 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sat Nov 15 00:07:26 2008 +0000"
      },
      "message": "[CIFS] minor cleanup to cifs_mount\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "14fbf50d695207754daeb96270b3027a3821121f",
      "tree": "05e80aa7e5e6a6bc07a9354f744ba9c599699569",
      "parents": [
        "e7ddee9037e7dd43de1ad08b51727e552aedd836"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Nov 14 13:53:46 2008 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Nov 14 23:56:55 2008 +0000"
      },
      "message": "cifs: reinstate sharing of SMB sessions sans races\n\nWe do this by abandoning the global list of SMB sessions and instead\nmoving to a per-server list. This entails adding a new list head to the\nTCP_Server_Info struct. The refcounting for the cifsSesInfo is moved to\na non-atomic variable. We have to protect it by a lock anyway, so there\u0027s\nno benefit to making it an atomic. The list and refcount are protected\nby the global cifs_tcp_ses_lock.\n\nThe patch also adds a new routines to find and put SMB sessions and\nthat properly take and put references under the lock.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "e7ddee9037e7dd43de1ad08b51727e552aedd836",
      "tree": "1f4fa723aad80809c5980fcb197aba90a84c26ca",
      "parents": [
        "3ec332ef7a38c2327e18d087d4120a8e3bd3dc6e"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Nov 14 13:44:38 2008 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Nov 14 23:42:32 2008 +0000"
      },
      "message": "cifs: disable sharing session and tcon and add new TCP sharing code\n\nThe code that allows these structs to be shared is extremely racy.\nDisable the sharing of SMB and tcon structs for now until we can\ncome up with a way to do this that\u0027s race free.\n\nWe want to continue to share TCP sessions, however since they are\nrequired for multiuser mounts. For that, implement a new (hopefully\nrace-free) scheme. Add a new global list of TCP sessions, and take\ncare to get a reference to it whenever we\u0027re dealing with one.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "3ec332ef7a38c2327e18d087d4120a8e3bd3dc6e",
      "tree": "5c1c7aebeee05cbd6cd02d5aebb3b0c2f8e62ddb",
      "parents": [
        "fb396016647ae9de5b3bd8c4ee4f7b9cc7148bd5"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Nov 14 03:35:10 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Nov 14 03:35:10 2008 +0000"
      },
      "message": "[CIFS] clean up server protocol handling\n\nWe\u0027re currently declaring both a sockaddr_in and sockaddr6_in on the\nstack, but we really only need storage for one of them. Declare a\nsockaddr struct and cast it to the proper type. Also, eliminate the\nprotocolType field in the TCP_Server_Info struct. It\u0027s redundant since\nwe have a sa_family field in the sockaddr anyway.\n\nWe may need to revisit this if SCTP is ever implemented, but for now\nthis will simplify the code.\n\nCIFS over IPv6 also has a number of problems currently. This fixes all\nof them that I found. Eventually, it would be nice to move more of the\ncode to be protocol independent, but this is a start.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "fb396016647ae9de5b3bd8c4ee4f7b9cc7148bd5",
      "tree": "40ddde820d7c05b09ee130ef18477ecb50d4c61a",
      "parents": [
        "3b7952109361c684caf0c50474da8662ecc81019"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Nov 13 20:04:07 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Nov 13 20:04:07 2008 +0000"
      },
      "message": "[CIFS] remove unused list, add new cifs sock list to prepare for mount/umount fix\n\nAlso adds two lines missing from the previous patch (for the need reconnect flag in the\n/proc/fs/cifs/DebugData handling)\n\nThe new global_cifs_sock_list is added, and initialized in init_cifs but not used yet.\nJeff Layton will be adding code in to use that and to remove the GlobalTcon and GlobalSMBSession\nlists.\n\nCC: Jeff Layton \u003cjlayton@redhat.com\u003e\nCC: Shirish Pargaonkar \u003cshirishp@us.ibm.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "7b423653964b22e6ca1a1ffd84816d619d6a3976",
      "tree": "a005620261a8830c86261733d0f1198d2303335b",
      "parents": [
        "2d1595ad8766c9cbab81d259168c00261d382ac5",
        "278afcbf4fe964230eba67f8fb8235e8b7e63ffb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 13 11:56:05 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 13 11:56:05 2008 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm:\n  dlm: fix shutdown cleanup\n"
    },
    {
      "commit": "3b7952109361c684caf0c50474da8662ecc81019",
      "tree": "402062ed63236ef245d8d65010d8f06520df8453",
      "parents": [
        "c527c8a7ffa18400c2c1488f7ab5aff5e83f3c8e"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Nov 13 19:45:32 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Nov 13 19:45:32 2008 +0000"
      },
      "message": "[CIFS] Fix cifs reconnection flags\n\nIn preparation for Jeff\u0027s big umount/mount fixes to remove the possibility of\nvarious races in cifs mount and linked list handling of sessions, sockets and\ntree connections, this patch cleans up some repetitive code in cifs_mount,\nand addresses a problem with ses-\u003estatus and tcon-\u003etidStatus in which we\nwere overloading the \"need_reconnect\" state with other status in that\nfield.  So the \"need_reconnect\" flag has been broken out from those\ntwo state fields (need reconnect was not mutually exclusive from some of the\nother possible tid and ses states).  In addition, a few exit cases in\ncifs_mount were cleaned up, and a problem with a tcon flag (for lease support)\nwas not being set consistently for the 2nd mount of the same share\n\nCC: Jeff Layton \u003cjlayton@redhat.com\u003e\nCC: Shirish Pargaonkar \u003cshirishp@us.ibm.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "278afcbf4fe964230eba67f8fb8235e8b7e63ffb",
      "tree": "64bcfe585256f96f468e29af9961ddf4c2dcc71d",
      "parents": [
        "3edac25f2e8ac8c2a84904c140e1aeb434e73e75"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Thu Nov 13 13:22:34 2008 -0600"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Thu Nov 13 13:22:34 2008 -0600"
      },
      "message": "dlm: fix shutdown cleanup\n\nFixes a regression from commit 0f8e0d9a317406612700426fad3efab0b7bbc467,\n\"dlm: allow multiple lockspace creates\".\n\nAn extraneous \u0027else\u0027 slipped into a code fragment being moved from\nrelease_lockspace() to dlm_release_lockspace().  The result of the\nunwanted \u0027else\u0027 is that dlm threads and structures are not stopped\nand cleaned up when the final dlm lockspace is removed.  Trying to\ncreate a new lockspace again afterward will fail with\n\"kmem_cache_create: duplicate cache dlm_conn\" because the cache\nwas not previously destroyed.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "6cdfcc275e40b89fb020da1088ead86a61d33115",
      "tree": "9518d64cb5d0e68ac2731aa5391d2d3a32728c34",
      "parents": [
        "50d7d5bf3168db5d04566dd7ffb9a820e9fdf484"
      ],
      "author": {
        "name": "Theodore Tso",
        "email": "tytso@mit.edu",
        "time": "Wed Nov 12 13:27:01 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 12 17:17:17 2008 -0800"
      },
      "message": "ext3: Clean up outdated and incorrect comment for ext3_write_super()\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\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": "afef80b3d87cae574b8c6b763505f25b74d254ef",
      "tree": "4aaa479b3bfc635c3cb28530c8cb01c87fc04bde",
      "parents": [
        "8891d6da17db0f9bb507d3a017f130b9970c3087"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Nov 12 13:26:54 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 12 17:17:17 2008 -0800"
      },
      "message": "vfs: fix shrink_submounts\n\nIn the last refactoring of shrink_submounts a variable was not completely\nrenamed.  So finish the renaming of mnt to m now.\n\nWithout this if you attempt to mount an nfs mount that has both automatic\nnfs sub mounts on it, and has normal mounts on it.  The unmount will\nsucceed when it should not.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Al Viro \u003cviro@ZenIV.linux.org.uk\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7e452baf6b96b5aeba097afd91501d33d390cc97",
      "tree": "9b0e062d3677d50d731ffd0fba47423bfdee9253",
      "parents": [
        "3ac38c3a2e7dac3f8f35a56eb85c27881a4c3833",
        "f21f237cf55494c3a4209de323281a3b0528da10"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 11 15:43:02 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 11 15:43:02 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/message/fusion/mptlan.c\n\tdrivers/net/sfc/ethtool.c\n\tnet/mac80211/debugfs_sta.c\n"
    },
    {
      "commit": "04ca2c17e3fae2d3f73aa5ad533242d556cadf5a",
      "tree": "f83be0272c50d6f23e5c94446d9da91a87665092",
      "parents": [
        "ad1164b79f1905ec1611cdc2a44949618bced2a6",
        "220ca310a53200b4bfbc7c4c6e365eea284ec44f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 11 09:32:58 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 11 09:32:58 2008 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs:\n  [XFS] XFS: Check for valid transaction headers in recovery\n  [XFS] handle memory allocation failures during log initialisation\n  [XFS] Account for allocated blocks when expanding directories\n  [XFS] Wait for all I/O on truncate to zero file size\n  [XFS] Fix use-after-free with log and quotas\n"
    },
    {
      "commit": "6c1e183e12dbd78a897a859f13220406296fee31",
      "tree": "c57a634cae86c83db4e3067af8ccf83805d2bf90",
      "parents": [
        "de29c08528bae45e3fa1171d190f1340e37e0f70"
      ],
      "author": {
        "name": "Tiger Yang",
        "email": "tiger.yang@oracle.com",
        "time": "Sun Nov 02 19:04:21 2008 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Nov 10 09:51:47 2008 -0800"
      },
      "message": "ocfs2: Check search result in ocfs2_xattr_block_get()\n\nocfs2_xattr_block_get() calls ocfs2_xattr_search() to find an external\nxattr, but doesn\u0027t check the search result that is passed back via struct\nocfs2_xattr_search. Add a check for search result, and pass back -ENODATA if\nthe xattr search failed. This avoids a later NULL pointer error.\n\nSigned-off-by: Tiger Yang \u003ctiger.yang@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "de29c08528bae45e3fa1171d190f1340e37e0f70",
      "tree": "984eb170a7e1d15f589eb6684f7522fa10786de5",
      "parents": [
        "c435400140d24fbcb3da6b1e006be831f9056cb6"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Wed Oct 29 14:45:30 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Nov 10 09:51:47 2008 -0800"
      },
      "message": "ocfs2: fix printk related build warnings in xattr.c\n\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "c435400140d24fbcb3da6b1e006be831f9056cb6",
      "tree": "6f90cad133521a2a4d52a57149a41199bdf89367",
      "parents": [
        "80bcaf3469b8aefd316d4ceb27d9af7cfbb0b913"
      ],
      "author": {
        "name": "Dmitri Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Mon Oct 27 13:01:49 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Nov 10 09:51:47 2008 -0800"
      },
      "message": "ocfs2: truncate outstanding block after direct io failure\n\nSigned-off-by: Dmitri Monakhov \u003cdmonakhov@openvz.org\u003e\nCc: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nCc: Joel Becker \u003cJoel.Becker@oracle.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "80bcaf3469b8aefd316d4ceb27d9af7cfbb0b913",
      "tree": "250e38e24f88aeb5bd89b5f4fca3304207eec0f1",
      "parents": [
        "4c1bbf1ba631d7db61ce3462349a3f5d14ae3009"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Mon Oct 27 06:06:24 2008 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Nov 10 09:51:47 2008 -0800"
      },
      "message": "ocfs2/xattr: Proper hash collision handle in bucket division\n\nIn ocfs2/xattr, we must make sure the xattrs which have the same hash value\nexist in the same bucket so that the search schema can work. But in the old\nimplementation, when we want to extend a bucket, we just move half number of\nxattrs to the new bucket. This works in most cases, but if we are lucky\nenough we will move 2 xattrs into 2 different buckets. This means that an\nxattr from the previous bucket cannot be found anymore. This patch fix this\nproblem by finding the right position during extending the bucket and extend\nan empty bucket if needed.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nCc: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "4c1bbf1ba631d7db61ce3462349a3f5d14ae3009",
      "tree": "7ba31e8afc0514062f3ba59c9b538a75a121fb1f",
      "parents": [
        "ae0dff683076b2798763288c7ac2f09a18c4a998"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Mon Oct 06 16:59:55 2008 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Nov 10 09:51:47 2008 -0800"
      },
      "message": "ocfs2: return 0 in page_mkwrite to let VFS retry.\n\nIn ocfs2_page_mkwrite, we return -EINVAL when we found the page mapping\nisn\u0027t updated, and it will cause the user space program get SIGBUS and\nexit. The reason is that during race writeable mmap, we will do\nunmap_mapping_range in ocfs2_data_downconvert_worker. The good thing is\nthat if we reuturn 0 in page_mkwrite, VFS will retry fault and then\ncall page_mkwrite again, so it is safe to return 0 here.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "ae0dff683076b2798763288c7ac2f09a18c4a998",
      "tree": "191b95751d25a6480619dc2cbbe340da4adddfcc",
      "parents": [
        "d32647993c211901fc4819ef3327f62d1859241b"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Wed Oct 22 13:24:29 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Nov 10 09:51:47 2008 -0800"
      },
      "message": "ocfs2: Set journal descriptor to NULL after journal shutdown\n\nPatch sets journal descriptor to NULL after the journal is shutdown.\nThis ensures that jbd2_journal_release_jbd_inode(), which removes the\njbd2 inode from txn lists, can be called safely from ocfs2_clear_inode()\neven after the journal has been shutdown.\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 \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "d32647993c211901fc4819ef3327f62d1859241b",
      "tree": "54178f5bdb8c654b917aedc08a8284c2596391ea",
      "parents": [
        "b99835c1684918b9975851d71455c5c007d1715b"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Fri Oct 24 07:57:28 2008 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Nov 10 09:51:47 2008 -0800"
      },
      "message": "ocfs2: Fix check of return value of ocfs2_start_trans() in xattr.c.\n\nOn failure, ocfs2_start_trans() returns values like ERR_PTR(-ENOMEM),\nso we should check whether handle is NULL. Fix them to use IS_ERR().\nJan has made the patch for other part in ocfs2(thank Jan for it), so\nthis is just the fix for fs/ocfs2/xattr.c.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "b99835c1684918b9975851d71455c5c007d1715b",
      "tree": "953ab209fa9c15a465ecf174a9327fb5d35c271a",
      "parents": [
        "87cfa004321c62aec681713ea48e0b846336d9f4"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Oct 20 19:23:54 2008 +0200"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Nov 10 09:51:46 2008 -0800"
      },
      "message": "ocfs2: Let inode be really deleted when ocfs2_mknod_locked() fails\n\nWe forgot to set i_nlink to 0 when returning due to error from ocfs2_mknod_locked()\nand thus inode was not properly released via ocfs2_delete_inode() (e.g. claimed\nspace was not released). Fix it.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "87cfa004321c62aec681713ea48e0b846336d9f4",
      "tree": "6ce76f2d2d97d8e9edf100d4c8561b8dcde338d4",
      "parents": [
        "fa38e92cb34e27e60d0faf1035934eb9b44aa1d4"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Oct 20 19:23:53 2008 +0200"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Nov 10 09:51:46 2008 -0800"
      },
      "message": "ocfs2: Fix checking of return value of new_inode()\n\nnew_inode() does not return ERR_PTR() but NULL in case of failure. Correct\nchecking of the return value.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "fa38e92cb34e27e60d0faf1035934eb9b44aa1d4",
      "tree": "a7bbefddcf693735aa0dbdf3abca25b57268df1a",
      "parents": [
        "8573f79d30077875e2b6e83849b5245bfbb08685"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Oct 20 19:23:51 2008 +0200"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Nov 10 09:51:46 2008 -0800"
      },
      "message": "ocfs2: Fix check of return value of ocfs2_start_trans()\n\nOn failure, ocfs2_start_trans() returns values like ERR_PTR(-ENOMEM).\nThus checks for !handle are wrong. Fix them to use IS_ERR().\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "8573f79d30077875e2b6e83849b5245bfbb08685",
      "tree": "5828d5e07c4cf742574bc3f62b04057f9e910d28",
      "parents": [
        "63fd77573723841d5d44a79471258f1b261f4482"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Fri Oct 24 22:24:17 2008 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Nov 10 09:51:46 2008 -0800"
      },
      "message": "ocfs2: Fix some typos in xattr annotations.\n\nFix some typos in the xattr annotations.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nReported-by: Coly Li \u003ccoyli@suse.de\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "63fd77573723841d5d44a79471258f1b261f4482",
      "tree": "59c73a921dec82b65bcd105eea3f5f228b3d058b",
      "parents": [
        "54f443f4e7265a1333886dbace31cb6eb1991c72"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Fri Oct 17 12:44:36 2008 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Nov 10 09:51:46 2008 -0800"
      },
      "message": "ocfs2: Remove unused ocfs2_restore_xattr_block().\n\nSince now ocfs2 supports empty xattr buckets, we will never remove\nthe xattr index tree even if all the xattrs are removed, so this\nfunction will never be called. So remove it.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "54f443f4e7265a1333886dbace31cb6eb1991c72",
      "tree": "8fe34fa35399022dcd6d8c8d6e3fdb7df1b18f9f",
      "parents": [
        "eb6ff2397d1fdfc6a7629c99896338e5b5c508e5"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Mon Oct 20 18:43:07 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Nov 10 09:51:46 2008 -0800"
      },
      "message": "ocfs2: Don\u0027t repeat ocfs2_xattr_block_find()\n\nocfs2_xattr_block_get() looks up the xattr in a startlingly familiar\nway; it\u0027s identical to the function ocfs2_xattr_block_find().  Let\u0027s just\nuse the later in the former.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "eb6ff2397d1fdfc6a7629c99896338e5b5c508e5",
      "tree": "86f10d7f9a87f508db26c9b780f6ed8635c8c8fd",
      "parents": [
        "bd60bd37ade4321ecce4ed4442f68c88febd76d5"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Mon Oct 20 18:32:48 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Nov 10 09:51:46 2008 -0800"
      },
      "message": "ocfs2: Specify appropriate journal access for new xattr buckets.\n\nThere are a couple places that get an xattr bucket that may be reading\nan existing one or may be allocating a new one.  They should specify the\ncorrect journal access mode depending.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "bd60bd37ade4321ecce4ed4442f68c88febd76d5",
      "tree": "69d9eb6d24eb31c25a493f8a998f33619c5e8559",
      "parents": [
        "b37c4d84e9d16fd5b6f31197f02ea0a112fc9e99"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Mon Oct 20 18:25:56 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Nov 10 09:51:45 2008 -0800"
      },
      "message": "ocfs2: Check errors from ocfs2_xattr_update_xattr_search()\n\nThe ocfs2_xattr_update_xattr_search() function can return an error when\ntrying to read blocks off of disk.  The caller needs to check this error\nbefore using those (possibly invalid) blocks.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "b37c4d84e9d16fd5b6f31197f02ea0a112fc9e99",
      "tree": "c9a709970deb2dfdb2b4d9340f682e966da19b83",
      "parents": [
        "f6087fb799e097e7c9d912daa75701de9d62dc53"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Mon Oct 20 18:24:03 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Nov 10 09:51:45 2008 -0800"
      },
      "message": "ocfs2: Don\u0027t return -EFAULT from a corrupt xattr entry.\n\nIf the xattr disk structures are corrupt, return -EIO, not -EFAULT.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "f6087fb799e097e7c9d912daa75701de9d62dc53",
      "tree": "010e8455fa5e53e68c76b949b4abd39876c2921f",
      "parents": [
        "c988fd045f1195e62c0970384903ab9da26a9359"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Mon Oct 20 18:20:43 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Nov 10 09:51:44 2008 -0800"
      },
      "message": "ocfs2: Check xattr block signatures properly.\n\nThe xattr.c code is currently memcmp()ing naking buffer pointers.\nCreate the OCFS2_IS_VALID_XATTR_BLOCK() macro to match its peers and use\nthat.\n\nIn addition, failed signature checks were returning -EFAULT, which is\ncompletely wrong.  Return -EIO.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "c988fd045f1195e62c0970384903ab9da26a9359",
      "tree": "0777e42068fdb604a0fe92407f6c999b529354f1",
      "parents": [
        "ceb1eba3dc2ad94b25764785ff7d2082c6094115"
      ],
      "author": {
        "name": "Tiger Yang",
        "email": "tiger.yang@oracle.com",
        "time": "Thu Oct 23 16:34:44 2008 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Nov 10 09:51:44 2008 -0800"
      },
      "message": "ocfs2: add handler_map array bounds checking\n\nMake the handler_map array as large as the possible value range to avoid\na fencepost error.\n\n[ Utilize alternate method -- Joel ]\n\nSigned-off-by: Tiger Yang \u003ctiger.yang@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "ceb1eba3dc2ad94b25764785ff7d2082c6094115",
      "tree": "d6757024b91fad3a275f5a7f5fff8d2b94bbd0e6",
      "parents": [
        "0030e001505d2d1503c083c917a747c033eaf8cd"
      ],
      "author": {
        "name": "Tiger Yang",
        "email": "tiger.yang@oracle.com",
        "time": "Thu Oct 23 16:34:13 2008 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Nov 10 09:51:44 2008 -0800"
      },
      "message": "ocfs2: remove duplicate definition in xattr\n\nInclude/linux/xattr.h already has the definition about xattr prefix,\nso remove the duplicate definitions in xattr.c.\n\nSigned-off-by: Tiger Yang \u003ctiger.yang@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "0030e001505d2d1503c083c917a747c033eaf8cd",
      "tree": "03c08d7cadeddc8c597ff0054da49e3bb1cfd278",
      "parents": [
        "c3cb6827353102fee62f3b9401a03ee29b297e5b"
      ],
      "author": {
        "name": "Tiger Yang",
        "email": "tiger.yang@oracle.com",
        "time": "Thu Oct 23 16:33:33 2008 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Nov 10 09:51:44 2008 -0800"
      },
      "message": "ocfs2: fix function declaration and definition in xattr\n\nBecause we merged the xattr sources into one file, some functions\nno longer belong in the header file.\n\nSigned-off-by: Tiger Yang \u003ctiger.yang@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "c3cb6827353102fee62f3b9401a03ee29b297e5b",
      "tree": "0e6ae95aafb07839c603bc79b9726f82e4f632c2",
      "parents": [
        "3ad4f597058301c97f362e500a32f63f5c950a45"
      ],
      "author": {
        "name": "Tiger Yang",
        "email": "tiger.yang@oracle.com",
        "time": "Thu Oct 23 16:33:03 2008 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Nov 10 09:51:43 2008 -0800"
      },
      "message": "ocfs2: fix license in xattr\n\nThis patch fixes the license in xattr.c and xattr.h.\n\nSigned-off-by: Tiger Yang \u003ctiger.yang@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "220ca310a53200b4bfbc7c4c6e365eea284ec44f",
      "tree": "a3ffc1927d22c9bfa25b2ab01e87fe07457bf5d6",
      "parents": [
        "8f330f5149ef41ff943b04d914406cc417f62784"
      ],
      "author": {
        "name": "David Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Oct 30 17:40:09 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Mon Nov 10 18:01:50 2008 +1100"
      },
      "message": "[XFS] XFS: Check for valid transaction headers in recovery\n\nWhen we are about to add a new item to a transaction in recovery, we need\nto check that it is valid first. Currently we just assert that header\nmagic number matches, but in production systems that is not present and we\nadd a corrupted transaction to the list to be processed. This results in a\nkernel oops later when processing the corrupted transaction.\n\nInstead, if we detect a corrupted transaction, abort recovery and leave\nthe user to clean up the mess that has occurred.\n\nSGI-PV: 988145\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32356a\n\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "8f330f5149ef41ff943b04d914406cc417f62784",
      "tree": "d3e52f1cb1563c09c40768f043bfe5e487f0f142",
      "parents": [
        "6f9f51adb6ac0a49fce49e01c47dcfc2810c6e9d"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Mon Nov 10 16:50:24 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Mon Nov 10 17:57:06 2008 +1100"
      },
      "message": "[XFS] handle memory allocation failures during log initialisation\n\nWhen there is no memory left in the system, xfs_buf_get_noaddr()\ncan fail. If this happens at mount time during xlog_alloc_log()\nwe fail to catch the error and oops.\n\nCatch the error from xfs_buf_get_noaddr(), and allow other memory\nallocations to fail and catch those errors too. Report the error\nto the console and fail the mount with ENOMEM.\n\nTested by manually injecting errors into xfs_buf_get_noaddr() and\nxlog_alloc_log().\n\nVersion 2:\no remove unnecessary casts of the returned pointer from kmem_zalloc()\n\nSGI-PV: 987246\n\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "6f9f51adb6ac0a49fce49e01c47dcfc2810c6e9d",
      "tree": "0286cc775521b135e481a4eb26391bc3e4cc8950",
      "parents": [
        "2cf7f0da3ae225848a2ee10d4e216448a770fd00"
      ],
      "author": {
        "name": "David Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Oct 30 17:38:12 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Mon Nov 10 17:51:14 2008 +1100"
      },
      "message": "[XFS] Account for allocated blocks when expanding directories\n\nWhen we create a directory, we reserve a number of blocks for the maximum\npossible expansion of of the directory due to various btree splits,\nfreespace allocation, etc. Unfortunately, each allocation is not reflected\nin the total number of blocks still available to the transaction, so the\nmaximal reservation is used over and over again.\n\nThis leads to problems where an allocation group has only enough blocks\nfor *some* of the allocations required for the directory modification.\nAfter the first N allocations, the remaining blocks in the allocation\ngroup drops below the total reservation, and subsequent allocations fail\nbecause the allocator will not allow the allocation to proceed if the AG\ndoes not have the enough blocks available for the entire allocation total.\n\nThis results in an ENOSPC occurring after an allocation has already\noccurred. This results in aborting the directory operation (leaving the\ndirectory in an inconsistent state) and cancelling a dirty transaction,\nwhich results in a filesystem shutdown.\n\nAvoid the problem by reflecting the number of blocks allocated in any\ndirectory expansion in the total number of blocks available to the\nmodification in progress. This prevents a directory modification from\nbeing aborted part way through with an ENOSPC.\n\nSGI-PV: 988144\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32340a\n\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "2cf7f0da3ae225848a2ee10d4e216448a770fd00",
      "tree": "1cfbb7ca0b9a6742c8c35150f21d6ba91b153b36",
      "parents": [
        "9ccbece546cf836f67f6d9bb4bf2f70f7476cb2c"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 16:59:06 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Mon Nov 10 17:51:00 2008 +1100"
      },
      "message": "[XFS] Wait for all I/O on truncate to zero file size\n\nIt\u0027s possible to have outstanding xfs_ioend_t\u0027s queued when the file size\nis zero. This can happen in the direct I/O path when a direct I/O write\nfails due to ENOSPC. In this case the xfs_ioend_t will still be queued (ie\nxfs_end_io_direct() does not know that the I/O failed so can\u0027t force the\nxfs_ioend_t to be flushed synchronously).\n\nWhen we truncate a file on unlink we don\u0027t know to wait for these\nxfs_ioend_ts and we can have a use-after-free situation if the inode is\nreclaimed before the xfs_ioend_t is finally processed.\n\nAs was suggested by Dave Chinner lets wait for all I/Os to complete when\ntruncating the file size to zero.\n\nSGI-PV: 981668\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32216a\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "9ccbece546cf836f67f6d9bb4bf2f70f7476cb2c",
      "tree": "86b6b97537c46eb70555fbe8ffdc16e1ec8b69d0",
      "parents": [
        "75fa67706cce5272bcfc51ed646f2da21f3bdb6e"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 16:53:25 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Mon Nov 10 17:43:23 2008 +1100"
      },
      "message": "[XFS] Fix use-after-free with log and quotas\n\nDestroying the quota stuff on unmount can access the log - ie\nXFS_QM_DONE() ends up in xfs_dqunlock() which calls\nxfs_trans_unlocked_item() and then xfs_log_move_tail(). By this time the\nlog has already been destroyed. Just move the cleanup of the quota code\nearlier in xfs_unmountfs() before the call to xfs_log_unmount(). Moving\nXFS_QM_DONE() up near XFS_QM_DQPURGEALL() seems like a good spot.\n\nSGI-PV: 987086\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32148a\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Peter Leckie \u003cpleckie@sgi.com\u003e\n"
    },
    {
      "commit": "8b805ef617cf0e02f6d18b891f8deb6246421b01",
      "tree": "35759385f2834d48a10025f949e49e0c77095876",
      "parents": [
        "cb56d98e2a7530615899597551db685d68a2e852",
        "b726e923ea4d216027e466aa602d914e4b4a63af"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 09 12:25:44 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 09 12:25:44 2008 -0800"
      },
      "message": "Merge branch \u0027for-2.6.28\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.28\u0027 of git://linux-nfs.org/~bfields/linux:\n  Fix nfsd truncation of readdir results\n"
    },
    {
      "commit": "b726e923ea4d216027e466aa602d914e4b4a63af",
      "tree": "cb28235201c56c6637692efc8dcffca76fa5865e",
      "parents": [
        "d7dc61d0a70371b1c6557ea8ffbc60fff94c8168"
      ],
      "author": {
        "name": "Doug Nazar",
        "email": "nazard@dragoninc.ca",
        "time": "Wed Nov 05 06:16:28 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun Nov 09 15:15:50 2008 -0500"
      },
      "message": "Fix nfsd truncation of readdir results\n\nCommit 8d7c4203 \"nfsd: fix failure to set eof in readdir in some\nsituations\" introduced a bug: on a directory in an exported ext3\nfilesystem with dir_index unset, a READDIR will only return about 250\nentries, even if the directory was larger.\n\nBisected it back to this commit; reverting it fixes the problem.\n\nIt turns out that in this case ext3 reads a block at a time, then\nreturns from readdir, which means we can end up with buf.full\u003d\u003d0 but\nwith more entries in the directory still to be read.  Before 8d7c4203\n(but after c002a6c797 \"Optimise NFS readdir hack slightly\"), this would\ncause us to return the READDIR result immediately, but with the eof bit\nunset.  That could cause a performance regression (because the client\nwould need more roundtrips to the server to read the whole directory),\nbut no loss in correctness, since the cleared eof bit caused the client\nto send another readdir.  After 8d7c4203, the setting of the eof bit\nmade this a correctness problem.\n\nSo, move nfserr_eof into the loop and remove the buf.full check so that\nwe loop until buf.used\u003d\u003d0.  The following seems to do the right thing\nand reduces the network traffic since we don\u0027t return a READDIR result\nuntil the buffer is full.\n\nTested on an empty directory \u0026 large directory; eof is properly sent and\nthere are no more short buffers.\n\nSigned-off-by: Doug Nazar \u003cnazard@dragoninc.ca\u003e\nCc: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "1538a093f71c61964a0e8a5b19f0129326724188",
      "tree": "dc2b629d7e8c50d06d6a9ea8a41e1043a374cf49",
      "parents": [
        "4bab0ea1d42dd1927af9df6fbf0003fc00617c50",
        "23712a9c28b9f80a8cf70c8490358d5f562d2465"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 07 08:15:18 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 07 08:15:18 2008 -0800"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:\n  ext4: add checksum calculation when clearing UNINIT flag in ext4_new_inode\n  ext4: Mark the buffer_heads as dirty and uptodate after prepare_write\n  ext4: calculate journal credits correctly\n  ext4: wait on all pending commits in ext4_sync_fs()\n  ext4: Convert to host order before using the values.\n  ext4: fix missing ext4_unlock_group in error path\n  jbd2: deregister proc on failure in jbd2_journal_init_inode\n  jbd2: don\u0027t give up looking for space so easily in __jbd2_log_wait_for_space\n  jbd: don\u0027t give up looking for space so easily in __log_wait_for_space\n"
    },
    {
      "commit": "23712a9c28b9f80a8cf70c8490358d5f562d2465",
      "tree": "b831ecf1b2d9000568063003bc6a6ea8cb5325c8",
      "parents": [
        "ed9b3e3379731e9f9d2f73f3d7fd9e7d2ce3df4a"
      ],
      "author": {
        "name": "Frederic Bohe",
        "email": "frederic.bohe@bull.net",
        "time": "Fri Nov 07 09:21:01 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Nov 07 09:21:01 2008 -0500"
      },
      "message": "ext4: add checksum calculation when clearing UNINIT flag in ext4_new_inode\n\nWhen initializing an uninitialized block group in ext4_new_inode(),\nits block group checksum must be re-calculated.  This fixes a race\nwhen several threads try to allocate a new inode in an UNINIT\u0027d group.\n\nThere is some question whether we need to be initializing the block\nbitmap in ext4_new_inode() at all, but for now, if we are going to\ninit the block group, let\u0027s eliminate the race.\n\nSigned-off-by: Frederic Bohe \u003cfrederic.bohe@bull.net\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "ed9b3e3379731e9f9d2f73f3d7fd9e7d2ce3df4a",
      "tree": "d17381e45fe8843646ca70424095a9aa36711ee7",
      "parents": [
        "ac51d83705c2a38c71f39cde99708b14e6212a60"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Fri Nov 07 09:06:45 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Nov 07 09:06:45 2008 -0500"
      },
      "message": "ext4: Mark the buffer_heads as dirty and uptodate after prepare_write\n\nWe need to make sure we mark the buffer_heads as dirty and uptodate\nso that block_write_full_page write them correctly.\n\nThis fixes mmap corruptions that can occur in low memory situations.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "9eeda9abd1faf489f3df9a1f557975f4c8650363",
      "tree": "3e0a58e25b776cfbee193195460324dccb1886c7",
      "parents": [
        "61c9eaf90081cbe6dc4f389e0056bff76eca19ec",
        "4bab0ea1d42dd1927af9df6fbf0003fc00617c50"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 06 22:43:03 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 06 22:43:03 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/wireless/ath5k/base.c\n\tnet/8021q/vlan_core.c\n"
    },
    {
      "commit": "e252f4db187ef02d06c8551069d944d327b8bb9a",
      "tree": "0e704cc34161fc839ef203fbf71106de52e19a7d",
      "parents": [
        "2e93960c4d712096902c16fe5511fc91502c2527",
        "7838c15b8dd18e78a523513749e5b54bda07b0cb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:53:47 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:53:47 2008 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  Block: use round_jiffies_up()\n  Add round_jiffies_up and related routines\n  block: fix __blkdev_get() for removable devices\n  generic-ipi: fix the smp_mb() placement\n  blk: move blk_delete_timer call in end_that_request_last\n  block: add timer on blkdev_dequeue_request() not elv_next_request()\n  bio: define __BIOVEC_PHYS_MERGEABLE\n  block: remove unused ll_new_mergeable()\n"
    },
    {
      "commit": "c36194871293100bd4b2ecb54ac9774d6e627aa2",
      "tree": "9fd6894103918f439d0e7ec35620e18018ccfa76",
      "parents": [
        "c3302931db090d87e9015c3a7ce5c97a7dd90f78",
        "dc8a0843a435b2c0891e7eaea64faaf1ebec9b11"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:43:13 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:43:13 2008 -0800"
      },
      "message": "Merge git://git.infradead.org/mtd-2.6\n\n* git://git.infradead.org/mtd-2.6:\n  [JFFS2] fix race condition in jffs2_lzo_compress()\n  [MTD] [NOR] Fix cfi_send_gen_cmd handling of x16 devices in x8 mode (v4)\n  [JFFS2] Fix lack of locking in thread_should_wake()\n  [JFFS2] Fix build failure with !CONFIG_JFFS2_FS_WRITEBUFFER\n  [MTD] [NAND] OMAP2: remove duplicated #include\n"
    },
    {
      "commit": "c3302931db090d87e9015c3a7ce5c97a7dd90f78",
      "tree": "d7a1f9a2769630d7cfbcfc6f69199dbf69396e36",
      "parents": [
        "9ca59f4c3d28df14a1545a1e2832f34a0a50e3ed"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Thu Nov 06 12:53:58 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:41:22 2008 -0800"
      },
      "message": "fat: i_blocks warning fix\n\nblkcnt_t type depends on CONFIG_LSF. Use unsigned long long always for\nprintk().  But lazy to type it, so add \"llu\" and use it.\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9ca59f4c3d28df14a1545a1e2832f34a0a50e3ed",
      "tree": "4a9d307e2a3541765cf194f27d873c6d06e5d960",
      "parents": [
        "2bdf67eb1631f30e2f3f5d49e4007c76e88877a8"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Thu Nov 06 12:53:57 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:41:21 2008 -0800"
      },
      "message": "fat: -\u003ei_pos race fix\n\ni_pos is 64bits value, hence it\u0027s not atomic to update.\n\nImportant place is fat_write_inode() only, other places without lock\nare just for printk().\n\nThis adds lock for \"BITS_PER_LONG \u003d\u003d 32\" kernel.\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2bdf67eb1631f30e2f3f5d49e4007c76e88877a8",
      "tree": "d3d337e52516b3b61cdf4508cf445ef8dcaae2ed",
      "parents": [
        "0e75f5da06c05425f4b375eb981c4489fb2d9787"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Thu Nov 06 12:53:57 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:41:21 2008 -0800"
      },
      "message": "fat: mmu_private race fix\n\nmmu_private is 64bits value, hence it\u0027s not atomic to update.\n\nSo, the access rule for mmu_private is we must hold -\u003ei_mutex.  But,\nfat_get_block() path doesn\u0027t follow the rule on non-allocation path.\n\nThis fixes by using i_size instead if non-allocation path.\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0e75f5da06c05425f4b375eb981c4489fb2d9787",
      "tree": "58ffca2561f689aa253274376d440ae35ddee1b5",
      "parents": [
        "fa93ca18a8b0da4e26bd9491ad144cd14d22f8ec"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Thu Nov 06 12:53:56 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:41:21 2008 -0800"
      },
      "message": "fat: Add printf attribute to fat_fs_panic()\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fa93ca18a8b0da4e26bd9491ad144cd14d22f8ec",
      "tree": "2950aa2baa218493329873a61aa234c7fcc5d83e",
      "parents": [
        "dfc209c0064efef5590f608056a48b61a5cac09c"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Thu Nov 06 12:53:56 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:41:21 2008 -0800"
      },
      "message": "fat: Fix _fat_bmap() race\n\nfat_get_cluster() assumes the requested blocknr isn\u0027t truncated during\nread. _fat_bmap() doesn\u0027t follow this rule.\n\nThis protects it by -\u003ei_mutex.\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dfc209c0064efef5590f608056a48b61a5cac09c",
      "tree": "1ace2df7370944dd94b3c8f6a53acf6ea76fdd79",
      "parents": [
        "9183482f5d4a2de00f66641b974e7f351d41b675"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Thu Nov 06 12:53:55 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:41:21 2008 -0800"
      },
      "message": "fat: Fix ATTR_RO for directory\n\nFAT has the ATTR_RO (read-only) attribute. But on Windows, the ATTR_RO\nof the directory will be just ignored actually, and is used by only\napplications as flag. E.g. it\u0027s setted for the customized folder by\nExplorer.\n\nhttp://msdn2.microsoft.com/en-us/library/aa969337.aspx\n\nThis adds \"rodir\" option. If user specified it, ATTR_RO is used as\nread-only flag even if it\u0027s the directory. Otherwise, inode-\u003ei_mode\nis not used to hold ATTR_RO (i.e. fat_mode_can_save_ro() returns 0).\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9183482f5d4a2de00f66641b974e7f351d41b675",
      "tree": "cc23af150f0aab03b29704eb461dac98b6c1f0cf",
      "parents": [
        "9c0aa1b87bf541affef519eb4879ce7c5a5941ae"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Thu Nov 06 12:53:54 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:41:21 2008 -0800"
      },
      "message": "fat: Fix ATTR_RO in the case of (~umask \u0026 S_WUGO) \u003d\u003d 0\n\nIf inode-\u003ei_mode doesn\u0027t have S_WUGO, current code assumes it means\nATTR_RO.  However, if (~[ufd]mask \u0026 S_WUGO) \u003d\u003d 0, inode-\u003ei_mode can\u0027t\nhold S_WUGO. Therefore the updated directory entry will always have\nATTR_RO.\n\nThis adds fat_mode_can_hold_ro() to check it. And if inode-\u003ei_mode\ncan\u0027t hold, uses -i_attrs to hold ATTR_RO instead.\n\nWith this, we don\u0027t set ATTR_RO unless users change it via ioctl() if\n(~[ufd]mask \u0026 S_WUGO) \u003d\u003d 0.\n\nAnd on FAT_IOCTL_GET_ATTRIBUTES path, this adds -\u003ei_mutex to it for\nnot returning the partially updated attributes by FAT_IOCTL_SET_ATTRIBUTES\nto userland.\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9c0aa1b87bf541affef519eb4879ce7c5a5941ae",
      "tree": "3bd583d8331c630b59fc01b68ab9cb34bb953d6e",
      "parents": [
        "45cfbe354785a5bc9a38354754d6f7322f598001"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Thu Nov 06 12:53:54 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:41:21 2008 -0800"
      },
      "message": "fat: Cleanup FAT attribute stuff\n\nThis adds three helpers:\n\nfat_make_attrs() - makes FAT attributes from inode.\nfat_make_mode()  - makes mode_t from FAT attributes.\nfat_save_attrs() - saves FAT attributes to inode.\n\nThen this replaces: MSDOS_MKMODE() by fat_make_mode(), fat_attr() by\nfat_make_attrs(), -\u003ei_attrs \u003d attr \u0026 ATTR_UNUSED by fat_save_attrs().\nAnd for root inode, those is used with ATTR_DIR instead of bogus\nATTR_NONE.\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "45cfbe354785a5bc9a38354754d6f7322f598001",
      "tree": "cf26bd09db5acb4848e33792273c0d083015510a",
      "parents": [
        "1c13a243a461dd5b089d29e5d57f260c990e462c"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Thu Nov 06 12:53:53 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:41:21 2008 -0800"
      },
      "message": "fat: Cleanup msdos_lookup()\n\nUse same style with vfat_lookup().\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1c13a243a461dd5b089d29e5d57f260c990e462c",
      "tree": "2d9e6be66c1854cdc172708357d95800ec8e93ed",
      "parents": [
        "1b52467243c7167b3a267ddbcbb14d550f28eb4a"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Thu Nov 06 12:53:52 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:41:21 2008 -0800"
      },
      "message": "fat: Kill d_invalidate() in vfat_lookup()\n\nd_invalidate() for positive dentry doesn\u0027t work in some cases\n(vfsmount, nfsd, and maybe others). shrink_dcache_parent() by\nd_invalidate() is pointless for vfat usage at all.\n\nSo, this kills it, and intead of it uses d_move().\n\nTo save old behavior, this returns alias simply for directory (don\u0027t\nchange pwd, etc..). the directory lookup shouldn\u0027t be important for\nperformance.\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1b52467243c7167b3a267ddbcbb14d550f28eb4a",
      "tree": "f55bae4d0b970216bda77c29094f19575f3b6c42",
      "parents": [
        "068f5ae05c51d2cee6b31cb3da06775dd83bd348"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Thu Nov 06 12:53:51 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:41:21 2008 -0800"
      },
      "message": "fat: Fix/Cleanup dcache handling for vfat\n\n- Add comments for handling dcache of vfat.\n\n- Separate case-sensitive case and case-insensitive to\n  vfat_revalidate() and vfat_ci_revalidate().\n\n  vfat_revalidate() doesn\u0027t need to drop case-insensitive negative\n  dentry on creation path.\n\n- Current code is missing to set -\u003ed_revalidate to the negative dentry\n  created by unlink/etc..\n\n  This sets -\u003ed_revalidate always, and returns 1 for positive\n  dentry. Now, we don\u0027t need to change -\u003ed_op dynamically anymore,\n  so this just uses sb-\u003es_root-\u003ed_op to set -\u003ed_op.\n\n- d_find_alias() may return DCACHE_DISCONNECTED dentry. It\u0027s not\n  the interesting dentry there. This checks it.\n\n- Add missing LOOKUP_PARENT check. We don\u0027t need to drop the valid\n  negative dentry for (LOOKUP_CREATE | LOOKUP_PARENT) lookup.\n\n- For consistent filename on creation path, this drops negative dentry\n  if we can\u0027t see intent.\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "068f5ae05c51d2cee6b31cb3da06775dd83bd348",
      "tree": "a5e0d4ddd6f4edcc23ea58d9b86d8edd1ec6e2f8",
      "parents": [
        "a993b542bb4cd3e5a64863b7ef892bbebec2239b"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Thu Nov 06 12:53:51 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:41:21 2008 -0800"
      },
      "message": "vfat: Fix vfat_find() error path in vfat_lookup()\n\nCurrent vfat_lookup() creates negetive dentry blindly if vfat_find()\nreturned a error. It\u0027s wrong. If the error isn\u0027t -ENOENT, just return\nerror.\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a993b542bb4cd3e5a64863b7ef892bbebec2239b",
      "tree": "36dd99548ad2ce2cac015aa166c2ce6ed19048c3",
      "parents": [
        "5e35dd4651002207948f10c576fc7d9bad448815"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Thu Nov 06 12:53:50 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:41:20 2008 -0800"
      },
      "message": "fat: use fat_detach() in fat_clear_inode()\n\nUse fat_detach() instead of opencoding it.\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5e35dd4651002207948f10c576fc7d9bad448815",
      "tree": "cf747b0dcbe5d86ed2d4f2bec4f581bc4b7e8335",
      "parents": [
        "d3dfa8228f87ab9960ab8b4718013d68e3c25a43"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Thu Nov 06 12:53:49 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:41:20 2008 -0800"
      },
      "message": "fat: Fix fat_ent_update_ptr() for FAT12\n\nThis fixes the missing update for bhs/nr_bhs in case the caller\naccessed from block boundary to first block of boundary.\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d3dfa8228f87ab9960ab8b4718013d68e3c25a43",
      "tree": "236784875a5c735688e644fe8412649e5fdbfcd7",
      "parents": [
        "52e9d9f4b32a3bec91feb76c84e37b7dcffe5040"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Thu Nov 06 12:53:49 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:41:20 2008 -0800"
      },
      "message": "fat: improve fat_hash()\n\nfat_hash() is using the algorithm known as bad. Instead of it, this\nuses hash_32(). The following is the summary of test.\n\nold hash:\n\thash func (1000 times): 33489 cycles\n\ttotal inodes in hash table: 70926\n\tlargest bucket contains: 696\n\tsmallest bucket contains: 54\n\nnew hash:\n\thash func (1000 times): 33129 cycles\n\ttotal inodes in hash table: 70926\n\tlargest bucket contains: 315\n\tsmallest bucket contains: 236\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "52e9d9f4b32a3bec91feb76c84e37b7dcffe5040",
      "tree": "00720ba55750b14ad8e48c3953577b636ec67404",
      "parents": [
        "53472bc8f810d2fb507593ea03703670506a668d"
      ],
      "author": {
        "name": "Darren Jenkins",
        "email": "darrenrjenkins@gmail.com",
        "time": "Thu Nov 06 12:53:48 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:41:20 2008 -0800"
      },
      "message": "fat: cleanup fat_parse_long() error handling\n\nCoverity CID 2332 \u0026 2333 RESOURCE_LEAK\n\nIn fat_search_long() if fat_parse_long() returns a -ve value we return\nwithout first freeing unicode.  This patch free\u0027s them on this error path.\n\nThe above was false positive on current tree, but this change is more\nclean, so apply as cleanup.\n\n[hirofumi@mail.parknet.co.jp: fix coding style]\nSigned-off-by: Darren Jenkins \u003cdarrenrjenkins@gmail.com\u003e\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "53472bc8f810d2fb507593ea03703670506a668d",
      "tree": "cdb700668fd466f79407234ff7c90b2b928ffb29",
      "parents": [
        "7decd1cb0305b97243f283fa7f4baf5fe613edeb"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Thu Nov 06 12:53:47 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:41:20 2008 -0800"
      },
      "message": "fat: use generic_file_llseek() for directory\n\nSince fat_dir_ioctl() was already fixed (i.e. called under -\u003ei_mutex),\nand __fat_readdir() doesn\u0027t take BKL anymore. So, BKL for -\u003ellseek()\nis pointless, and we have to use generic_file_llseek().\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7decd1cb0305b97243f283fa7f4baf5fe613edeb",
      "tree": "d17b291fd622c8ea45fd0ac8346f3c82c13759b6",
      "parents": [
        "9e975dae2970d22557662761c8505ce9fd165684"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Thu Nov 06 12:53:47 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:41:20 2008 -0800"
      },
      "message": "fat: Fix and cleanup timestamp conversion\n\nThis cleans date_dos2unix()/fat_date_unix2dos() up. New code should be\nmuch more readable.\n\nAnd this fixes those old functions. Those doesn\u0027t handle 2100\ncorrectly. 2100 isn\u0027t leap year, but old one handles it as leap year.\nAlso, with this, centi sec is handled and is fixed.\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9e975dae2970d22557662761c8505ce9fd165684",
      "tree": "ecc662bd047ae784095b9effb4bafad99389b5f2",
      "parents": [
        "990e194e69009028e029b7d25da68c38241ec4f0"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Thu Nov 06 12:53:46 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:41:20 2008 -0800"
      },
      "message": "fat: split include/msdos_fs.h\n\nThis splits __KERNEL__ stuff in include/msdos_fs.h into fs/fat/fat.h.\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "990e194e69009028e029b7d25da68c38241ec4f0",
      "tree": "633cb49307dcbac72c524a5e62ec2ce88befed1d",
      "parents": [
        "8986ab59631b1f2e82ac820c8fd76a34462915ca"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Thu Nov 06 12:53:45 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:41:20 2008 -0800"
      },
      "message": "fat: move fs/vfat/* and fs/msdos/* to fs/fat\n\nThis just moves those files, but change link order from MSDOS, VFAT to\nVFAT, MSDOS.\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c87591b719737b4e91eb1a9fa8fd55a4ff1886d6",
      "tree": "b442f22c99aa46524d4c1256dffadeaec975607e",
      "parents": [
        "fbdd12676c83df77480f00ebd32fc98fbe3bf836"
      ],
      "author": {
        "name": "Arthur Jones",
        "email": "ajones@riverbed.com",
        "time": "Thu Nov 06 12:53:35 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:41:19 2008 -0800"
      },
      "message": "ext3: wait on all pending commits in ext3_sync_fs\n\nIn ext3_sync_fs, we only wait for a commit to finish if we started it, but\nthere may be one already in progress which will not be synced.\n\nIn the case of a data\u003dordered umount with pending long symlinks which are\ndelayed due to a long list of other I/O on the backing block device, this\ncauses the buffer associated with the long symlinks to not be moved to the\ninode dirty list in the second phase of fsync_super.  Then, before they\ncan be dirtied again, kjournald exits, seeing the UMOUNT flag and the\ndirty pages are never written to the backing block device, causing long\nsymlink corruption and exposing new or previously freed block data to\nuserspace.\n\nThis can be reproduced with a script created\nby Eric Sandeen \u003csandeen@redhat.com\u003e:\n\n\t#!/bin/bash\n\n\tumount /mnt/test2\n\tmount /dev/sdb4 /mnt/test2\n\trm -f /mnt/test2/*\n\tdd if\u003d/dev/zero of\u003d/mnt/test2/bigfile bs\u003d1M count\u003d512\n\ttouch\n\t/mnt/test2/thisisveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryverylongfilename\n\tln -s\n\t/mnt/test2/thisisveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryverylongfilename\n\t/mnt/test2/link\n\tumount /mnt/test2\n\tmount /dev/sdb4 /mnt/test2\n\tls /mnt/test2/\n\tumount /mnt/test2\n\nTo ensure all commits are synced, we flush all journal commits now when\nsync_fs\u0027ing ext3.\n\nSigned-off-by: Arthur Jones \u003cajones@riverbed.com\u003e\nCc: Eric Sandeen \u003csandeen@redhat.com\u003e\nCc: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.everything]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "96b0317906690997c16c7efffbc4c0fafcd6f7f2",
      "tree": "a99392c1393853f2ad953445be0165500fb5d3d8",
      "parents": [
        "bc9c4068388eea01d3b5da31016879f2341ecec5"
      ],
      "author": {
        "name": "Ian Kent",
        "email": "raven@themaw.net",
        "time": "Thu Nov 06 12:53:23 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:41:17 2008 -0800"
      },
      "message": "autofs4: collect version check return\n\nThe function check_dev_ioctl_version() returns an error code upon fail but\nit isn\u0027t captured and returned in validate_dev_ioctl() as it should be.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Jeff Moyer \u003cjmoyer@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": "bc9c4068388eea01d3b5da31016879f2341ecec5",
      "tree": "3ff09783f4d5e3d19d8e5bda9b63419991726939",
      "parents": [
        "eefc488f96cdde6e152b45675b50bf380b95d99f"
      ],
      "author": {
        "name": "Ian Kent",
        "email": "raven@themaw.net",
        "time": "Thu Nov 06 12:53:22 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:41:17 2008 -0800"
      },
      "message": "autofs4: correct offset mount expire check\n\nWhen checking a directory tree in autofs_tree_busy() we can incorrectly\ndecide that the tree isn\u0027t busy.  This happens for the case of an active\noffset mount as autofs4_follow_mount() follows past the active offset\nmount, which has an open file handle used for expires, causing the file\nhandle not to count toward the busyness check.\n\nSigned-off-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Jeff Moyer \u003cjmoyer@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": "ac51d83705c2a38c71f39cde99708b14e6212a60",
      "tree": "e540265888154d1f1b4613a118252b19a31db5db",
      "parents": [
        "14ce0cb411c88681ab8f3a4c9caa7f42e97a3184"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Nov 06 16:49:36 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Nov 06 16:49:36 2008 -0500"
      },
      "message": "ext4: calculate journal credits correctly\n\nThis fixes a 2.6.27 regression which was introduced in commit a02908f1.\n\nWe weren\u0027t passing the chunk parameter down to the two subections,\next4_indirect_trans_blocks() and ext4_ext_index_trans_blocks(), with\nthe result that massively overestimate the amount of credits needed by\next4_da_writepages, especially in the non-extents case.  This causes\nfailures especially on /boot partitions, which tend to be small and\nnon-extent using since GRUB doesn\u0027t handle extents.\n\nThis patch fixes the bug reported by Joseph Fannin at:\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d11964\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "89f97496e81d2112b5e41416fe3020688c443818",
      "tree": "e78122150d550bf644ca1a96916a5880823d3e04",
      "parents": [
        "561920a0d2bb6d63343e83acfd784c0a77bd28d1"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Nov 05 10:21:06 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Nov 06 08:41:56 2008 +0100"
      },
      "message": "block: fix __blkdev_get() for removable devices\n\nCommit 0762b8bde9729f10f8e6249809660ff2ec3ad735 moved disk_get_part()\nin front of recursive get on the whole disk, which caused removable\ndevices to try disk_get_part() before rescanning after a new media is\ninserted, which might fail legit open attempts or give the old\npartition.\n\nThis patch fixes the problem by moving disk_get_part() after\n__blkdev_get() on the whole disk.\n\nThis problem was spotted by Borislav Petkov.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nTested-by: Borislav Petkov \u003cpetkovbb@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "dc8a0843a435b2c0891e7eaea64faaf1ebec9b11",
      "tree": "2646065fd3b332e51af6d2c141833e6a00a7441b",
      "parents": [
        "467622ef2acb01986eab37ef96c3632b3ea35999"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "Geert.Uytterhoeven@sonycom.com",
        "time": "Wed Nov 05 23:21:16 2008 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Wed Nov 05 23:22:02 2008 +0100"
      },
      "message": "[JFFS2] fix race condition in jffs2_lzo_compress()\n\ndeflate_mutex protects the globals lzo_mem and lzo_compress_buf.  However,\njffs2_lzo_compress() unlocks deflate_mutex _before_ it has copied out the\ncompressed data from lzo_compress_buf.  Correct this by moving the mutex\nunlock after the copy.\n\nIn addition, document what deflate_mutex actually protects.\n\nCc: stable@kernel.org\nSigned-off-by: Geert Uytterhoeven \u003cGeert.Uytterhoeven@sonycom.com\u003e\nAcked-by: Richard Purdie \u003crpurdie@openedhand.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "14ce0cb411c88681ab8f3a4c9caa7f42e97a3184",
      "tree": "d441a71e13e68cb7651888ced97dbaf90b45b9b5",
      "parents": [
        "d94e99a64c3beece22dbfb2b335771a59184eb0a"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Nov 03 18:10:55 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Nov 03 18:10:55 2008 -0500"
      },
      "message": "ext4: wait on all pending commits in ext4_sync_fs()\n\nIn ext4_sync_fs, we only wait for a commit to finish if we started it,\nbut there may be one already in progress which will not be synced.\n\nIn the case of a data\u003dordered umount with pending long symlinks which\nare delayed due to a long list of other I/O on the backing block\ndevice, this causes the buffer associated with the long symlinks to\nnot be moved to the inode dirty list in the second phase of\nfsync_super.  Then, before they can be dirtied again, kjournald exits,\nseeing the UMOUNT flag and the dirty pages are never written to the\nbacking block device, causing long symlink corruption and exposing new\nor previously freed block data to userspace.\n\nTo ensure all commits are synced, we flush all journal commits now\nwhen sync_fs\u0027ing ext4.\n\nSigned-off-by: Arthur Jones \u003cajones@riverbed.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: Eric Sandeen \u003csandeen@redhat.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\n"
    },
    {
      "commit": "d94e99a64c3beece22dbfb2b335771a59184eb0a",
      "tree": "cac2a623703f51818c51481f47272e35d0b43215",
      "parents": [
        "ae2d9fb18e575ed37ffc241ece4bf68f0be4ae32"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Nov 04 09:11:26 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Nov 04 09:11:26 2008 -0500"
      },
      "message": "ext4: Convert to host order before using the values.\n\nUse le16_to_cpu to read the s_reserved_gdt_blocks values\nfrom super block.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "ae2d9fb18e575ed37ffc241ece4bf68f0be4ae32",
      "tree": "89a063362d3cd6ee3ed6bd1f87515fdbaec71cca",
      "parents": [
        "2423840ded13e6d3b52d88aff8d033bb78fafd08"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Nov 04 09:10:50 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Nov 04 09:10:50 2008 -0500"
      },
      "message": "ext4: fix missing ext4_unlock_group in error path\n\nIf we try to free a block which is already freed, the code was\nreturning without first unlocking the group.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "c527c8a7ffa18400c2c1488f7ab5aff5e83f3c8e",
      "tree": "4f051c90690aa89099d169baa7fdbce2a01cdea1",
      "parents": [
        "a75952b72a0fff3031124003e62118111aed42c1"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Nov 03 20:46:21 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Nov 03 20:46:21 2008 +0000"
      },
      "message": "[CIFS] Can\u0027t rely on iov length and base when kernel_recvmsg returns error\n\nWhen retrying kernel_recvmsg, reset iov_base and iov_len.\n\nNote comment from Sridhar: \"In the normal path, iov.iov_len is clearly set to 4. But i think you are\nrunning into a case where kernel_recvmsg() is called via \u0027goto incomplete_rcv\u0027\nIt happens if the previous call fails with EAGAIN.\nIf you want to call recvmsg() after EAGAIN failure, you need to reset iov.\"\n\nSigned-off-by: Shirish Pargaonkar \u003cshirishp@us.ibm.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "a75952b72a0fff3031124003e62118111aed42c1",
      "tree": "5243016005ebf8060e939db8d7c0c50976b2b315",
      "parents": [
        "457d2ee225801441e96f2e35894ec404572ad862",
        "ae6884a9da56f8921e432e663b4ccb4a1851b2ea"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 03 11:43:59 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 03 11:43:59 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:\n  cifs: fix renaming one hardlink on top of another\n  [CIFS] fix error in smb_send2\n  [CIFS] Reduce number of socket retries in large write path\n"
    },
    {
      "commit": "ae6884a9da56f8921e432e663b4ccb4a1851b2ea",
      "tree": "ec80aca419ad61b7585ef0da64fac4d968ced224",
      "parents": [
        "61de800d33af585cb7e6f27b5cdd51029c6855cb"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Nov 03 14:05:08 2008 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Nov 03 18:31:05 2008 +0000"
      },
      "message": "cifs: fix renaming one hardlink on top of another\n\ncifs: fix renaming one hardlink on top of another\n\nPOSIX says that renaming one hardlink on top of another to the same\ninode is a no-op. We had the logic mostly right, but forgot to clear\nthe return code.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "c8126cc6025972629044cde750cec97f175792f7",
      "tree": "d80782c2ddfb17f6bc49a85fb932b5854f5af73a",
      "parents": [
        "30ef898c535bffd105c1a9b9b6563969b3deb31e",
        "6c87df37dcb9c6c33923707fa5191e0a65874d60"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 03 09:59:01 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 03 09:59:01 2008 -0800"
      },
      "message": "Merge branch \u0027proc-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/adobriyan/proc\n\n* \u0027proc-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/adobriyan/proc:\n  proc: revert /proc/uptime to -\u003eread_proc hook\n"
    },
    {
      "commit": "2423840ded13e6d3b52d88aff8d033bb78fafd08",
      "tree": "9c82375eb1f17a635de090aa0f944b67c41fc981",
      "parents": [
        "8c3f25d8950c3e9fe6c9849f88679b3f2a071550"
      ],
      "author": {
        "name": "Sami Liedes",
        "email": "sliedes@cc.hut.fi",
        "time": "Sun Nov 02 19:23:30 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Nov 02 19:23:30 2008 -0500"
      },
      "message": "jbd2: deregister proc on failure in jbd2_journal_init_inode\n\njbd2_journal_init_inode() does not call jbd2_stats_proc_exit() on all\nfailure paths after calling jbd2_stats_proc_init(). This leaves\ndangling references to the fs in proc.\n\nThis patch fixes a bug reported by Sami Leides at:\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d11493\n\nSigned-off-by: Sami Liedes \u003csliedes@cc.hut.fi\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "8c3f25d8950c3e9fe6c9849f88679b3f2a071550",
      "tree": "61b51da53175a5dafb3607bdc04609d04370d74c",
      "parents": [
        "e219cca082f52e7dfea41f3be264b7b5eb204227"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Nov 06 22:38:07 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Nov 06 22:38:07 2008 -0500"
      },
      "message": "jbd2: don\u0027t give up looking for space so easily in __jbd2_log_wait_for_space\n\nCommit 23f8b79e introducd a regression because it assumed that if\nthere were no transactions ready to be checkpointed, that no progress\ncould be made on making space available in the journal, and so the\njournal should be aborted.  This assumption is false; it could be the\ncase that simply calling jbd2_cleanup_journal_tail() will recover the\nnecessary space, or, for small journals, the currently committing\ntransaction could be responsible for chewing up the required space in\nthe log, so we need to wait for the currently committing transaction\nto finish before trying to force a checkpoint operation.\n\nThis patch fixes a bug reported by Mihai Harpau at:\nhttps://bugzilla.redhat.com/show_bug.cgi?id\u003d469582\n\nThis patch fixes a bug reported by François Valenduc at:\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d11840\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: Duane Griffin \u003cduaneg@dghda.com\u003e\nCc: Toshiyuki Okajima \u003ctoshi.okajima@jp.fujitsu.com\u003e\n"
    }
  ],
  "next": "e219cca082f52e7dfea41f3be264b7b5eb204227"
}
