)]}'
{
  "log": [
    {
      "commit": "d1f3e68efb4c98fa229b39ff09a8984ef16cafa4",
      "tree": "48191a1e73f1afd1235331ce1597637ed71193aa",
      "parents": [
        "cb9cae0395d70fc4539f6904c11d3a14c0001006",
        "5dad6c39d156fbbde0b0ef170d9173feffdeb546"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 24 14:08:15 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 24 14:08:15 2010 -0700"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2:\n  o2dlm: force free mles during dlm exit\n  ocfs2: Sync inode flags with ext2.\n  ocfs2: Move \u0027wanted\u0027 into parens of ocfs2_resmap_resv_bits.\n  ocfs2: Use cpu_to_le16 for e_leaf_clusters in ocfs2_bg_discontig_add_extent.\n  ocfs2: update ctime when changing the file\u0027s permission by setfacl\n  ocfs2/net: fix uninitialized ret in o2net_send_message_vec()\n  Ocfs2: Handle empty list in lockres_seq_start() for dlmdebug.c\n  Ocfs2: Re-access the journal after ocfs2_insert_extent() in dxdir codes.\n  ocfs2: Fix lockdep warning in reflink.\n  ocfs2/lockdep: Move ip_xattr_sem out of ocfs2_xattr_get_nolock.\n"
    },
    {
      "commit": "5dad6c39d156fbbde0b0ef170d9173feffdeb546",
      "tree": "4e2f118c66f65746dec2c04ab2b792100b6b0e36",
      "parents": [
        "0000b862027d624ac564609b87c1aa4d14dd1e46"
      ],
      "author": {
        "name": "Srinivas Eeda",
        "email": "srinivas.eeda@oracle.com",
        "time": "Tue Sep 21 16:27:26 2010 -0700"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Sep 23 14:16:53 2010 -0700"
      },
      "message": "o2dlm: force free mles during dlm exit\n\nWhile umounting, a block mle doesn\u0027t get freed if dlm is shutdown after\nmaster request is received but before assert master. This results in unclean\nshutdown of dlm domain.\n\nThis patch frees all mles that lie around after other nodes were notified about\nexiting the dlm and marking dlm state as leaving. Only block mles are expected\nto be around, so we log ERROR for other mles but still free them.\n\nSigned-off-by: Srinivas Eeda \u003csrinivas.eeda@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "0000b862027d624ac564609b87c1aa4d14dd1e46",
      "tree": "992b9a62741b3527c71eff5b5e11133941ec70e1",
      "parents": [
        "4a452de4fdfe4dbb27e491904d8bfaf1262bdff4"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Sun Sep 19 13:42:29 2010 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Sep 23 14:16:49 2010 -0700"
      },
      "message": "ocfs2: Sync inode flags with ext2.\n\nWe sync our inode flags with ext2 and define them by hex\nvalues. But actually in commit 3669567(4 years ago), all\nthese values are moved to include/linux/fs.h. So we\u0027d\nbetter also use them as what ext2 did. So sync our inode\nflags with ext2 by using FS_*.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "4a452de4fdfe4dbb27e491904d8bfaf1262bdff4",
      "tree": "94b4e9fb4fc31ede4721bab8f2e9281bef034d79",
      "parents": [
        "47dea423799d98c53793237ab386a94976f305d5"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Sun Sep 19 13:42:28 2010 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Sep 23 14:16:47 2010 -0700"
      },
      "message": "ocfs2: Move \u0027wanted\u0027 into parens of ocfs2_resmap_resv_bits.\n\nThe first time I read the function ocfs2_resmap_resv_bits, I consider\nabout what \u0027wanted\u0027 will be used and consider about the comments.\nThen I find it is only used if the reservation is empty. ;)\n\nSo we\u0027d better move it to the parens so that it make the code more\nreadable, what\u0027s more, ocfs2_resmap_resv_bits is used so frequently\nand we should save some cpus.\n\nAcked-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "47dea423799d98c53793237ab386a94976f305d5",
      "tree": "779ad547dad2161b85c59576d127163892c25228",
      "parents": [
        "12828061cdacfb1db3eb03fd71952d5ebc555bbb"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Mon Sep 13 15:13:50 2010 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Sep 23 14:16:34 2010 -0700"
      },
      "message": "ocfs2: Use cpu_to_le16 for e_leaf_clusters in ocfs2_bg_discontig_add_extent.\n\ne_leaf_clusters is a le16, so use cpu_to_le16 instead\nof cpu_to_le32.\n\nWhat\u0027s more, we change \u0027clusters\u0027 to unsigned int to\nsignify that the size of \u0027clusters\u0027 isn\u0027t important here.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "12828061cdacfb1db3eb03fd71952d5ebc555bbb",
      "tree": "bbcaff70425e6a1f19d54292e9f647f0f3a2cabb",
      "parents": [
        "50aff040363d31f87e94f38f1710973d99489951"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Mon Sep 13 14:00:23 2010 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Sep 23 14:16:21 2010 -0700"
      },
      "message": "ocfs2: update ctime when changing the file\u0027s permission by setfacl\n\nIn commit 30e2bab, ext3 fixed it. So change it accordingly in ocfs2.\n\nSteps to reproduce:\n# touch aaa\n# stat -c %Z aaa\n1283760364\n# setfacl -m  \u0027u::x,g::x,o::x\u0027 aaa\n# stat -c %Z aaa\n1283760364\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "1c2499ae87f828eabddf6483b0dfc11da1100c07",
      "tree": "be394bdb6d8bd1732a2635eca62e5b2eca04c07a",
      "parents": [
        "142092e577255e33a4ab74c6baad04c9fb887927"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Wed Sep 22 13:05:06 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 22 17:22:39 2010 -0700"
      },
      "message": "/proc/pid/smaps: fix dirty pages accounting\n\nCurrently, /proc/\u003cpid\u003e/smaps has wrong dirty pages accounting.\nShared_Dirty and Private_Dirty output only pte dirty pages and ignore\nPG_dirty page flag.  It is difference against documentation, but also\ninconsistent against Referenced field.  (Referenced checks both pte and\npage flags)\n\nThis patch fixes it.\n\nTest program:\n\n large-array.c\n ---------------------------------------------------\n #include \u003cstdio.h\u003e\n #include \u003cstdlib.h\u003e\n #include \u003cstring.h\u003e\n #include \u003cunistd.h\u003e\n\n char array[1*1024*1024*1024L];\n\n int main(void)\n {\n         memset(array, 1, sizeof(array));\n         pause();\n\n         return 0;\n }\n ---------------------------------------------------\n\nTest case:\n 1. run ./large-array\n 2. cat /proc/`pidof large-array`/smaps\n 3. swapoff -a\n 4. cat /proc/`pidof large-array`/smaps again\n\nTest result:\n \u003cbefore patch\u003e\n\n00601000-40601000 rw-p 00000000 00:00 0\nSize:            1048576 kB\nRss:             1048576 kB\nPss:             1048576 kB\nShared_Clean:          0 kB\nShared_Dirty:          0 kB\nPrivate_Clean:    218992 kB   \u003c-- showed pages as clean incorrectly\nPrivate_Dirty:    829584 kB\nReferenced:       388364 kB\nSwap:                  0 kB\nKernelPageSize:        4 kB\nMMUPageSize:           4 kB\n\n \u003cafter patch\u003e\n\n00601000-40601000 rw-p 00000000 00:00 0\nSize:            1048576 kB\nRss:             1048576 kB\nPss:             1048576 kB\nShared_Clean:          0 kB\nShared_Dirty:          0 kB\nPrivate_Clean:         0 kB\nPrivate_Dirty:   1048576 kB  \u003c-- fixed\nReferenced:       388480 kB\nSwap:                  0 kB\nKernelPageSize:        4 kB\nMMUPageSize:           4 kB\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a0c42bac79731276c9b2f28d54f9e658fcf843a2",
      "tree": "c138e92f301f6f10ca684c1d83126928452f0ffa",
      "parents": [
        "d1908362ae0b97374eb8328fbb471576332f9fb1"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Sep 22 13:05:03 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 22 17:22:39 2010 -0700"
      },
      "message": "aio: do not return ERESTARTSYS as a result of AIO\n\nOCFS2 can return ERESTARTSYS from its write function when the process is\nsignalled while waiting for a cluster lock (and the filesystem is mounted\nwith intr mount option).  Generally, it seems reasonable to allow\nfilesystems to return this error code from its IO functions.  As we must\nnot leak ERESTARTSYS (and similar error codes) to userspace as a result of\nan AIO operation, we have to properly convert it to EINTR inside AIO code\n(restarting the syscall isn\u0027t really an option because other AIO could\nhave been already submitted by the same io_submit syscall).\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nReviewed-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Zach Brown \u003czach.brown@oracle.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c227e69028473c7c7994a9b0a2cc0034f3f7e0fe",
      "tree": "e11e51f5eec4c2c82a8ef7839de74407f470176c",
      "parents": [
        "a9e31765e7d528858e1b0c202b823cf4df7577ca"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Wed Sep 22 13:04:54 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 22 17:22:38 2010 -0700"
      },
      "message": "/proc/vmcore: fix seeking\n\nCommit 73296bc611 (\"procfs: Use generic_file_llseek in /proc/vmcore\")\nbroke seeking on /proc/vmcore.  This changes it back to use default_llseek\nin order to restore the original behaviour.\n\nThe problem with generic_file_llseek is that it only allows seeks up to\ninode-\u003ei_sb-\u003es_maxbytes, which is zero on procfs and some other virtual\nfile systems.  We should merge generic_file_llseek and default_llseek some\nday and clean this up in a proper way, but for 2.6.35/36, reverting vmcore\nis the safer solution.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nReported-by: CAI Qian \u003ccaiqian@redhat.com\u003e\nTested-by: CAI Qian \u003ccaiqian@redhat.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "767b68e96993e29e3480d7ecdd9c4b84667c5762",
      "tree": "d450dcf7832f0ec22f7371a9da7f3ab8be4ad875",
      "parents": [
        "c79bd89282136a4516e842fa542d6abf902ddeac"
      ],
      "author": {
        "name": "Dan Rosenberg",
        "email": "drosenberg@vsecurity.com",
        "time": "Wed Sep 22 14:32:56 2010 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 22 17:22:38 2010 -0700"
      },
      "message": "Prevent freeing uninitialized pointer in compat_do_readv_writev\n\nIn 32-bit compatibility mode, the error handling for\ncompat_do_readv_writev() may free an uninitialized pointer, potentially\nleading to all sorts of ugly memory corruption.  This is reliably\ntriggerable by unprivileged users by invoking the readv()/writev()\nsyscalls with an invalid iovec pointer.  The below patch fixes this to\nemulate the non-compat version.\n\nIntroduced by commit b83733639a49 (\"compat: factor out\ncompat_rw_copy_check_uvector from compat_do_readv_writev\")\n\nSigned-off-by: Dan Rosenberg \u003cdan.j.rosenberg@gmail.com\u003e\nCc: stable@kernel.org (2.6.35)\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b68e9d4581cbb211be3e174d3445b4917aacbcf6",
      "tree": "c7ea337b623abacdb546d30a39037dd029f20a34",
      "parents": [
        "62f1b494d82272819570d715eb6633887a9fde20",
        "692ebd17c2905313fff3c504c249c6a0faad16ec"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 22 09:12:37 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 22 09:12:37 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  bdi: Fix warnings in __mark_inode_dirty for /dev/zero and friends\n  char: Mark /dev/zero and /dev/kmem as not capable of writeback\n  bdi: Initialize noop_backing_dev_info properly\n  cfq-iosched: fix a kernel OOPs when usb key is inserted\n  block: fix blk_rq_map_kern bio direction flag\n  cciss: freeing uninitialized data on error path\n"
    },
    {
      "commit": "692ebd17c2905313fff3c504c249c6a0faad16ec",
      "tree": "656c80512505d5b117bd01e25d66d88d7cfe9851",
      "parents": [
        "371d217ee1ff8b418b8f73fb2a34990f951ec2d4"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Sep 21 11:51:01 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Wed Sep 22 09:48:47 2010 +0200"
      },
      "message": "bdi: Fix warnings in __mark_inode_dirty for /dev/zero and friends\n\nInodes of devices such as /dev/zero can get dirty for example via\nutime(2) syscall or due to atime update. Backing device of such inodes\n(zero_bdi, etc.) is however unable to handle dirty inodes and thus\n__mark_inode_dirty complains.  In fact, inode should be rather dirtied\nagainst backing device of the filesystem holding it. This is generally a\ngood rule except for filesystems such as \u0027bdev\u0027 or \u0027mtd_inodefs\u0027. Inodes\nin these pseudofilesystems are referenced from ordinary filesystem\ninodes and carry mapping with real data of the device. Thus for these\ninodes we have to use inode-\u003ei_mapping-\u003ebacking_dev_info as we did so\nfar. We distinguish these filesystems by checking whether sb-\u003es_bdi\npoints to a non-trivial backing device or not.\n\nExample: Assume we have an ext3 filesystem on /dev/sda1 mounted on /.\nThere\u0027s a device inode A described by a path \"/dev/sdb\" on this\nfilesystem. This inode will be dirtied against backing device \"8:0\"\nafter this patch. bdev filesystem contains block device inode B coupled\nwith our inode A. When someone modifies a page of /dev/sdb, it\u0027s B that\ngets dirtied and the dirtying happens against the backing device \"8:16\".\nThus both inodes get filed to a correct bdi list.\n\nCc: stable@kernel.org\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "371d217ee1ff8b418b8f73fb2a34990f951ec2d4",
      "tree": "74d5e95a0aa85b8a8b94621b247a78eb527ce609",
      "parents": [
        "976e48f8a5b02fc33f3e5cad87fb3fcea041a49c"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Sep 21 11:49:01 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Wed Sep 22 09:48:47 2010 +0200"
      },
      "message": "char: Mark /dev/zero and /dev/kmem as not capable of writeback\n\nThese devices don\u0027t do any writeback but their device inodes still can get\ndirty so mark bdi appropriately so that bdi code does the right thing and files\ninodes to lists of bdi carrying the device inodes.\n\nCc: stable@kernel.org\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "19746cad00a00a7a2e3eb0640d317d6e7c2e8cc0",
      "tree": "3dfd66dce28b3b02f7e293b28b57191ca23f691c",
      "parents": [
        "0ffe37de76a57ba38d960e370c2f8f1d799c94a1",
        "be4f104dfd3b5e3ae262bff607965cfc38027dec"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 21 11:20:10 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 21 11:20:10 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:\n  ceph: select CRYPTO\n  ceph: check mapping to determine if FILE_CACHE cap is used\n  ceph: only send one flushsnap per cap_snap per mds session\n  ceph: fix cap_snap and realm split\n  ceph: stop sending FLUSHSNAPs when we hit a dirty capsnap\n  ceph: correctly set \u0027follows\u0027 in flushsnap messages\n  ceph: fix dn offset during readdir_prepopulate\n  ceph: fix file offset wrapping at 4GB on 32-bit archs\n  ceph: fix reconnect encoding for old servers\n  ceph: fix pagelist kunmap tail\n  ceph: fix null pointer deref on anon root dentry release\n"
    },
    {
      "commit": "112d421df2fddc0278584b084f4fcfedd144c5f4",
      "tree": "29ae7aef63427f4163f25222e4712b08a80703c7",
      "parents": [
        "151b6a5f1d4c547c92ec67a5a6fedc16f435956e"
      ],
      "author": {
        "name": "Jan Harkes",
        "email": "jaharkes@cs.cmu.edu",
        "time": "Fri Sep 17 23:26:01 2010 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Sep 19 11:03:09 2010 -0700"
      },
      "message": "Coda: mount hangs because of missed REQ_WRITE rename\n\nCoda\u0027s REQ_* defines were renamed to avoid clashes with the block layer\n(commit 4aeefdc69f7b: \"coda: fixup clash with block layer REQ_*\ndefines\").\n\nHowever one was missed and response messages are no longer matched with\nrequests and waiting threads are no longer woken up.  This patch fixes\nthis.\n\nSigned-off-by: Jan Harkes \u003cjaharkes@cs.cmu.edu\u003e\n[ Also fixed up whitespace while at it  -Linus ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "50aff040363d31f87e94f38f1710973d99489951",
      "tree": "d29b62cf860f82c9cb977b83b2b193306beb2a44",
      "parents": [
        "228ac6357718df2d5c8d70210fa51b2225aab5ee"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Sat Aug 21 14:40:20 2010 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Sat Sep 18 08:48:54 2010 -0700"
      },
      "message": "ocfs2/net: fix uninitialized ret in o2net_send_message_vec()\n\nmmotm/fs/ocfs2/cluster/tcp.c: In function ‘o2net_send_message_vec’:\nmmotm/fs/ocfs2/cluster/tcp.c:980:6: warning: ‘ret’ may be used uninitialized in this function\n\nIt seems a real bug introduced by commit 9af0b38ff3 (ocfs2/net:\nUse wait_event() in o2net_send_message_vec()).\n\ncc: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "be4f104dfd3b5e3ae262bff607965cfc38027dec",
      "tree": "8b2f84afebe64730a83307ad9b18c6f6ca51962f",
      "parents": [
        "a43fb73101eaf6db0b33d22c152b338ab8b3edbb"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Sep 17 12:30:31 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Sep 17 12:30:31 2010 -0700"
      },
      "message": "ceph: select CRYPTO\n\nWe select CRYPTO_AES, but not CRYPTO.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "a43fb73101eaf6db0b33d22c152b338ab8b3edbb",
      "tree": "039276b81586a986f5b9662fc28b37cbf9271eb3",
      "parents": [
        "e835124c2be289515b918f2688ced4249e2de566"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Sep 17 09:54:08 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Sep 17 09:54:31 2010 -0700"
      },
      "message": "ceph: check mapping to determine if FILE_CACHE cap is used\n\nSee if the i_data mapping has any pages to determine if the FILE_CACHE\ncapability is currently in use, instead of assuming it is any time the\nrdcache_gen value is set (i.e., issued -\u003e used).\n\nThis allows the MDS RECALL_STATE process work for inodes that have cached\npages.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "e835124c2be289515b918f2688ced4249e2de566",
      "tree": "1bf9bc86a2d1c3e9508dc304830a3bb42ad7de9b",
      "parents": [
        "ae00d4f37f4df56821331deb1028748110dd6dc9"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Sep 17 08:03:08 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Sep 17 08:03:08 2010 -0700"
      },
      "message": "ceph: only send one flushsnap per cap_snap per mds session\n\nSending multiple flushsnap messages is problematic because we ignore\nthe response if the tid doesn\u0027t match, and the server may only respond to\neach one once.  It\u0027s also a waste.\n\nSo, skip cap_snaps that are already on the flushing list, unless the caller\ntells us to resend (because we are reconnecting).\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "5f4874903df3562b9d5649fc1cf7b8c6bb238e42",
      "tree": "b66dbafa2fd3f32c6df72752d95cad260abd35bd",
      "parents": [
        "03a7ab083e4d619136d6f07ce70fa9de0bc436fc"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Sep 09 14:45:00 2010 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Sep 17 14:00:10 2010 +0100"
      },
      "message": "GFS2: gfs2_logd should be using interruptible waits\n\nLooks like this crept in, in a recent update.\n\nReported-by:  Krzysztof Urbaniak \u003curban@bash.org.pl\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "ae00d4f37f4df56821331deb1028748110dd6dc9",
      "tree": "52437bde7370fc7a21193c27a08dc1d7238cee98",
      "parents": [
        "cfc0bf6640dfd0f43bf8bfec5a475284809baa4d"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Sep 16 16:26:51 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Sep 16 16:26:51 2010 -0700"
      },
      "message": "ceph: fix cap_snap and realm split\n\nThe cap_snap creation/queueing relies on both the current i_head_snapc\n_and_ the i_snap_realm pointers being correct, so that the new cap_snap\ncan properly reference the old context and the new i_head_snapc can be\nupdated to reference the new snaprealm\u0027s context.  To fix this, we:\n\n - move inodes completely to the new (split) realm so that i_snap_realm\n   is correct, and\n - generate the new snapc\u0027s _before_ queueing the cap_snaps in\n   ceph_update_snap_trace().\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "03a7ab083e4d619136d6f07ce70fa9de0bc436fc",
      "tree": "a6b54d32e2c43991cd60193843ebef076e38d6d0",
      "parents": [
        "7bb419041bab2c0efa6e78e9e9e3d9c6ebc75fae",
        "460cf3411b858ad509d5255e0dfaf862a83c0299"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 16 12:59:11 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 16 12:59:11 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:\n  cifs: fix potential double put of TCP session reference\n"
    },
    {
      "commit": "de8d4f5d758786a2cbcfa54a6a85ce747e5637e3",
      "tree": "a09c0a4f8fe995bea2dde0ea4fa5dbdd32cf3fd4",
      "parents": [
        "75e1c70fc31490ef8a373ea2a4bea2524099b478",
        "827e3457022d0bb0b1bb8a0eb88501876fe7dcf0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 14 17:04:48 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 14 17:04:48 2010 -0700"
      },
      "message": "Merge branch \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:\n  SUNRPC: Fix the NFSv4 and RPCSEC_GSS Kconfig dependencies\n  statfs() gives ESTALE error\n  NFS: Fix a typo in nfs_sockaddr_match_ipaddr6\n  sunrpc: increase MAX_HASHTABLE_BITS to 14\n  gss:spkm3 miss returning error to caller when import security context\n  gss:krb5 miss returning error to caller when import security context\n  Remove incorrect do_vfs_lock message\n  SUNRPC: cleanup state-machine ordering\n  SUNRPC: Fix a race in rpc_info_open\n  SUNRPC: Fix race corrupting rpc upcall\n  Fix null dereference in call_allocate\n"
    },
    {
      "commit": "75e1c70fc31490ef8a373ea2a4bea2524099b478",
      "tree": "4fc943276b4a34374ac26d69e63b815bf66c2451",
      "parents": [
        "bfa88ea7ee9e6b4fd673e45a8cc0a8e0b7ef4761"
      ],
      "author": {
        "name": "Jeff Moyer",
        "email": "jmoyer@redhat.com",
        "time": "Fri Sep 10 14:16:00 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 14 17:02:37 2010 -0700"
      },
      "message": "aio: check for multiplication overflow in do_io_submit\n\nTavis Ormandy pointed out that do_io_submit does not do proper bounds\nchecking on the passed-in iocb array:\n\n       if (unlikely(nr \u003c 0))\n               return -EINVAL;\n\n       if (unlikely(!access_ok(VERIFY_READ, iocbpp, (nr*sizeof(iocbpp)))))\n               return -EFAULT;                      ^^^^^^^^^^^^^^^^^^\n\nThe attached patch checks for overflow, and if it is detected, the\nnumber of iocbs submitted is scaled down to a number that will fit in\nthe long.  This is an ok thing to do, as sys_io_submit is documented as\nreturning the number of iocbs submitted, so callers should handle a\nreturn value of less than the \u0027nr\u0027 argument passed in.\n\nReported-by: Tavis Ormandy \u003ctaviso@cmpxchg8b.com\u003e\nSigned-off-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "460cf3411b858ad509d5255e0dfaf862a83c0299",
      "tree": "3ff261b74c1751b9b0edd904f8d2d7f09f7440f6",
      "parents": [
        "bfa88ea7ee9e6b4fd673e45a8cc0a8e0b7ef4761"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Sep 14 11:38:24 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Sep 14 23:21:03 2010 +0000"
      },
      "message": "cifs: fix potential double put of TCP session reference\n\ncifs_get_smb_ses must be called on a server pointer on which it holds an\nactive reference. It first does a search for an existing SMB session. If\nit finds one, it\u0027ll put the server reference and then try to ensure that\nthe negprot is done, etc.\n\nIf it encounters an error at that point then it\u0027ll return an error.\nThere\u0027s a potential problem here though. When cifs_get_smb_ses returns\nan error, the caller will also put the TCP server reference leading to a\ndouble-put.\n\nFix this by having cifs_get_smb_ses only put the server reference if\nit found an existing session that it could use and isn\u0027t returning an\nerror.\n\nCc: stable@kernel.org\nReviewed-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "cfc0bf6640dfd0f43bf8bfec5a475284809baa4d",
      "tree": "63ee1563bc9b844c48684e57ad03bc3c023014a2",
      "parents": [
        "8bef9239ee1a42eb37d3f83bacf6a75f019c028d"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Sep 14 15:50:59 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Sep 14 15:50:59 2010 -0700"
      },
      "message": "ceph: stop sending FLUSHSNAPs when we hit a dirty capsnap\n\nStop sending FLUSHSNAP messages when we hit a capsnap that has dirty_pages\nor is still writing.  We\u0027ll send the newer capsnaps only after the older\nones complete.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "8bef9239ee1a42eb37d3f83bacf6a75f019c028d",
      "tree": "aca21838744fd483b5a2e374315c095b98193647",
      "parents": [
        "467c525109d5d542d7d416b0c11bdd54610fe2f4"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Sep 14 15:45:44 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Sep 14 15:45:44 2010 -0700"
      },
      "message": "ceph: correctly set \u0027follows\u0027 in flushsnap messages\n\nThe \u0027follows\u0027 should match the seq for the snap context for the given snap\ncap, which is the context under which we have been dirtying and writing\ndata and metadata.  The snapshot that _contains_ those updates thus\n_follows_ that context\u0027s seq #.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "ed8f425f546a2242a97f61fabcbe9e50a2559a19",
      "tree": "5e580d4c654191b73fc5981785ebf1e52e575b4a",
      "parents": [
        "1421e98662f1cab802e0fa39d16b8dc6b874a4eb",
        "32670396e7fc6e4f37451a69339968985461a374"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 13 12:47:08 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 13 12:47:08 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:\n  cifs: prevent possible memory corruption in cifs_demultiplex_thread\n  cifs: eliminate some more premature cifsd exits\n  cifs: prevent cifsd from exiting prematurely\n  [CIFS] ntlmv2/ntlmssp remove-unused-function CalcNTLMv2_partial_mac_key\n  cifs: eliminate redundant xdev check in cifs_rename\n  Revert \"[CIFS] Fix ntlmv2 auth with ntlmssp\"\n  Revert \"missing changes during ntlmv2/ntlmssp auth and sign\"\n  Revert \"Eliminate sparse warning - bad constant expression\"\n  Revert \"[CIFS] Eliminate unused variable warning\"\n"
    },
    {
      "commit": "467c525109d5d542d7d416b0c11bdd54610fe2f4",
      "tree": "abde91184dc9ccecc9efc784520b184cae772fb1",
      "parents": [
        "a77d9f7dce7600058d56f0670ed29d77abffcde2"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Sep 13 11:39:20 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Sep 13 11:40:36 2010 -0700"
      },
      "message": "ceph: fix dn offset during readdir_prepopulate\n\nWhen adding the readdir results to the cache, ceph_set_dentry_offset was\nclobbered our just-set offset.  This can cause the readdir result offsets\nto get out of sync with the server.  Add an argument to the helper so\nthat it does not.\n\nThis bug was introduced by 1cd3935bedccf592d44343890251452a6dd74fc4.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "1d76e3135733a06aa12bb35891c05f306b27b2d6",
      "tree": "eec35444681ec5a7dee46ee3fdb95a361fb3ab33",
      "parents": [
        "3c30750ffafbc32af040b09f777b67aa2486b063"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Aug 30 17:43:07 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Sep 13 08:13:03 2010 -0500"
      },
      "message": "fs/9p: Don\u0027t use dotl version of mknod for dotu inode operations\n\nWe should not use dotlversion for the dotu inode operations\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "3c30750ffafbc32af040b09f777b67aa2486b063",
      "tree": "dd1a5e2ba2ab5a044a75187bd0fc5d8d58213016",
      "parents": [
        "62726a7ab3a6a3624256172af055ff0a38c6ffa2"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Aug 30 16:04:35 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Sep 13 08:13:03 2010 -0500"
      },
      "message": "fs/9p: Use the correct dentry operations\n\nWe should use the cached dentry operation only if caching mode is enabled\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "62726a7ab3a6a3624256172af055ff0a38c6ffa2",
      "tree": "fea6290c7232a1cbf9d144419a36ef62aaa04cdb",
      "parents": [
        "5c25f347a7b00b2ebe0a55c4a3cfe4c3e1e8725e"
      ],
      "author": {
        "name": "jvrao",
        "email": "jvrao@linux.vnet.ibm.com",
        "time": "Wed Aug 25 16:26:21 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Sep 13 08:13:03 2010 -0500"
      },
      "message": "9p: Check for NULL fid in v9fs_dir_release()\n\nNULL fid should be handled in cases where we endup calling v9fs_dir_release()\nbefore even we instantiate the fid in filp.\n\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "5c25f347a7b00b2ebe0a55c4a3cfe4c3e1e8725e",
      "tree": "14de9f8a3418b13cde4384f4cd42ad1030864c20",
      "parents": [
        "62b2be591a9b12c550308ef7718a31abfc815b50"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Aug 24 10:30:49 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Sep 13 08:13:02 2010 -0500"
      },
      "message": "fs/9p: Fix error handling in v9fs_get_sb\n\nThis was introduced by 7cadb63d58a932041afa3f957d5cbb6ce69dcee5\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "62b2be591a9b12c550308ef7718a31abfc815b50",
      "tree": "d07e2cdfa07fdcc0840d3c1e3209591c085fe1c3",
      "parents": [
        "49553c2ef88749dd502687f4eb9c258bb10a4f44"
      ],
      "author": {
        "name": "Latchesar Ionkov",
        "email": "lionkov@gmail.com",
        "time": "Tue Aug 24 18:13:59 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Sep 13 08:13:02 2010 -0500"
      },
      "message": "fs/9p, net/9p: memory leak fixes\n\nFour memory leak fixes in the 9P code.\n\nSigned-off-by: Latchesar Ionkov \u003clucho@ionkov.net\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "827e3457022d0bb0b1bb8a0eb88501876fe7dcf0",
      "tree": "d9ed145eb533745bdf043b263b97aac8735abffb",
      "parents": [
        "fbf3fdd2443965d9ba6fb4b5fecd1f6e0847218f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Sep 12 19:57:50 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Sep 12 19:57:50 2010 -0400"
      },
      "message": "SUNRPC: Fix the NFSv4 and RPCSEC_GSS Kconfig dependencies\n\nThe NFSv4 client\u0027s callback server calls svc_gss_principal(), which\nis defined in the auth_rpcgss.ko\n\nThe NFSv4 server has the same dependency, and in addition calls\nsvcauth_gss_flavor(), gss_mech_get_by_pseudoflavor(),\ngss_pseudoflavor_to_service() and gss_mech_put() from the same module.\n\nThe module auth_rpcgss itself has no dependencies aside from sunrpc,\nso we only need to select RPCSEC_GSS.\n\nReported-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fbf3fdd2443965d9ba6fb4b5fecd1f6e0847218f",
      "tree": "55e1b68c3304b35e8c7e8d1f0de54521189908b9",
      "parents": [
        "b20d37ca9561711c6a3c4b859c2855f49565e061"
      ],
      "author": {
        "name": "Menyhart Zoltan",
        "email": "Zoltan.Menyhart@bull.net",
        "time": "Sun Sep 12 19:55:26 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Sep 12 19:55:26 2010 -0400"
      },
      "message": "statfs() gives ESTALE error\n\nHi,\n\nAn NFS client executes a statfs(\"file\", \u0026buff) call.\n\"file\" exists / existed, the client has read / written it,\nbut it has already closed it.\n\nuser_path(pathname, \u0026path) looks up \"file\" successfully in the\ndirectory-cache  and restarts the aging timer of the directory-entry.\nEven if \"file\" has already been removed from the server, because the\nlookupcache\u003dpositive option I use, keeps the entries valid for a while.\n\nnfs_statfs() returns ESTALE if \"file\" has already been removed from the\nserver.\n\nIf the user application repeats the statfs(\"file\", \u0026buff) call, we\nare stuck: \"file\" remains young forever in the directory-cache.\n\nSigned-off-by: Zoltan Menyhart  \u003cZoltan.Menyhart@bull.net\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "b20d37ca9561711c6a3c4b859c2855f49565e061",
      "tree": "fa8aba0a2a7e7b2c246e9c35e04526aafdb623d3",
      "parents": [
        "db5fe26541b6b48460104a0d949a27cdc7786957"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Sep 12 19:55:26 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Sep 12 19:55:26 2010 -0400"
      },
      "message": "NFS: Fix a typo in nfs_sockaddr_match_ipaddr6\n\nReported-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "b1bde04c6d9a120dec602cc8a70b8a7f21600883",
      "tree": "2d2a53e0978e3f8e3d320260dc78bbbbbe749651",
      "parents": [
        "55576244eba805307a2b2b6a145b8f85f8c7c124"
      ],
      "author": {
        "name": "Fabio Olive Leite",
        "email": "fleite@redhat.com",
        "time": "Sun Sep 12 19:55:25 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Sep 12 19:55:25 2010 -0400"
      },
      "message": "Remove incorrect do_vfs_lock message\n\nThe do_vfs_lock function on fs/nfs/file.c is only called if NLM is\nnot being used, via the -onolock mount option. Therefore it cannot\nreally be \"out of sync with lock manager\" when the local locking\nfunction called returns an error, as there will be no corresponding\ncall to the NLM. For details, simply check the if/else on do_setlk\nand do_unlk on fs/nfs/file.c.\n\nSigned-Off-By: Fabio Olive Leite \u003cfleite@redhat.com\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a77d9f7dce7600058d56f0670ed29d77abffcde2",
      "tree": "60c0b90d2f3af86e9d65641f61ceca075ed61fdf",
      "parents": [
        "3612abbd5df6baa9ca3e0777c6c8646e202d3f66"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sat Sep 11 10:55:25 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sat Sep 11 10:55:25 2010 -0700"
      },
      "message": "ceph: fix file offset wrapping at 4GB on 32-bit archs\n\nCast the value before shifting so that we don\u0027t run out of bits with a\n32-bit unsigned long.  This fixes wrapping of high file offsets into the\nlow 4GB of a file on disk, and the subsequent data corruption for large\nfiles.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "3612abbd5df6baa9ca3e0777c6c8646e202d3f66",
      "tree": "6c4512ac7acf0ac12683ab330c600eef69346fe7",
      "parents": [
        "3d4401d9d0aef5c40706350685ddea3df6708496"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Sep 07 15:59:27 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sat Sep 11 10:52:47 2010 -0700"
      },
      "message": "ceph: fix reconnect encoding for old servers\n\nFix the reconnect encoding to encode the cap record when the MDS does not\nhave the FLOCK capability (i.e., pre v0.22).\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "3d4401d9d0aef5c40706350685ddea3df6708496",
      "tree": "91f92cdc2bb440ffd1baff6bf3efdc2b83855174",
      "parents": [
        "ca04d9c3ec721e474f00992efc1b1afb625507f5"
      ],
      "author": {
        "name": "Yehuda Sadeh",
        "email": "yehuda@hq.newdream.net",
        "time": "Fri Sep 03 12:57:11 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sat Sep 11 10:52:47 2010 -0700"
      },
      "message": "ceph: fix pagelist kunmap tail\n\nA wrong parameter was passed to the kunmap.\n\nSigned-off-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "ca04d9c3ec721e474f00992efc1b1afb625507f5",
      "tree": "9dfe95fe2a08ff008888a754db10f31ac04fbea4",
      "parents": [
        "2bfc96a127bc1cc94d26bfaa40159966064f9c8c"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Aug 26 16:12:01 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sat Sep 11 10:52:47 2010 -0700"
      },
      "message": "ceph: fix null pointer deref on anon root dentry release\n\nWhen we release a root dentry, particularly after a splice, the parent\n(actually our) inode was evaluating to NULL and was getting dereferenced\nby ceph_snap().  This is reproduced by something as simple as\n\n mount -t ceph monhost:/a/b mnt\n mount -t ceph monhost:/a mnt2\n ls mnt2\n\nA splice_dentry() would kill the old \u0027b\u0027 inode\u0027s root dentry, and we\u0027d\ncrash while releasing it.\n\nFix by checking for both the ROOT and NULL cases explicitly.  We only need\nto invalidate the parent dir when we have a correct parent to invalidate.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "fbc1487019d287bd869baac846dee97f39f8f07c",
      "tree": "b44f6573874fa2dc0fa8f9466380f530142b9bd7",
      "parents": [
        "5ee5e97ee9bca919af11c562beeaf61741ad33f1",
        "51749e47e191db8e588ad5cebea731caf7b705d7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 10 18:19:26 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 10 18:19:26 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs:\n  xfs: log IO completion workqueue is a high priority queue\n  xfs: prevent reading uninitialized stack memory\n"
    },
    {
      "commit": "228ac6357718df2d5c8d70210fa51b2225aab5ee",
      "tree": "4aaf7f05d03a5757b6c128d433c220b55d89fd88",
      "parents": [
        "0f4da216b8c3c35c90ecd18e1899c6f125957c2b"
      ],
      "author": {
        "name": "Tristan Ye",
        "email": "tristan.ye@oracle.com",
        "time": "Fri Sep 10 10:16:33 2010 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Sep 10 09:19:30 2010 -0700"
      },
      "message": "Ocfs2: Handle empty list in lockres_seq_start() for dlmdebug.c\n\nThis patch tries to handle the case in which list \u0027dlm-\u003etracking_list\u0027 is\nempty, to avoid accessing an invalid pointer. It fixes the following oops:\n\nhttp://oss.oracle.com/bugzilla/show_bug.cgi?id\u003d1287\n\nSigned-off-by: Tristan Ye \u003ctristan.ye@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "0f4da216b8c3c35c90ecd18e1899c6f125957c2b",
      "tree": "f51e02f001997b136a9c50c9cea007ae82b8ffc1",
      "parents": [
        "07eaac9438b13ec0b863111698b91ccec8f3b8d4"
      ],
      "author": {
        "name": "Tristan Ye",
        "email": "tristan.ye@oracle.com",
        "time": "Wed Sep 08 17:12:38 2010 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Sep 10 09:19:11 2010 -0700"
      },
      "message": "Ocfs2: Re-access the journal after ocfs2_insert_extent() in dxdir codes.\n\nIn ocfs2_dx_dir_rebalance(), we need to rejournal_acess the blocks after\ncalling ocfs2_insert_extent() since growing an extent tree may trigger\nocfs2_extend_trans(), which makes previous journal_access meaningless.\n\nSigned-off-by: Tristan Ye \u003ctristan.ye@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "07eaac9438b13ec0b863111698b91ccec8f3b8d4",
      "tree": "23236db1624fb57bff6c78186f3b62b48d342e21",
      "parents": [
        "5e64b0d9e86ffff8b299556341d85319117539e9"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Tue Sep 07 13:30:06 2010 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Sep 10 09:19:06 2010 -0700"
      },
      "message": "ocfs2: Fix lockdep warning in reflink.\n\nThis patch change mutex_lock to a new subclass and\nadd a new inode lock subclass for the target inode\nwhich caused this lockdep warning.\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ INFO: possible recursive locking detected ]\n2.6.35+ #5\n---------------------------------------------\nreflink/11086 is trying to acquire lock:\n (Meta){+++++.}, at: [\u003cffffffffa06f9d65\u003e] ocfs2_reflink_ioctl+0x898/0x1229 [ocfs2]\n\nbut task is already holding lock:\n (Meta){+++++.}, at: [\u003cffffffffa06f9aa0\u003e] ocfs2_reflink_ioctl+0x5d3/0x1229 [ocfs2]\n\nother info that might help us debug this:\n6 locks held by reflink/11086:\n #0:  (\u0026sb-\u003es_type-\u003ei_mutex_key#15/1){+.+.+.}, at: [\u003cffffffff820e09ec\u003e] lookup_create+0x26/0x97\n #1:  (\u0026sb-\u003es_type-\u003ei_mutex_key#15){+.+.+.}, at: [\u003cffffffffa06f99a0\u003e] ocfs2_reflink_ioctl+0x4d3/0x1229 [ocfs2]\n #2:  (Meta){+++++.}, at: [\u003cffffffffa06f9aa0\u003e] ocfs2_reflink_ioctl+0x5d3/0x1229 [ocfs2]\n #3:  (\u0026oi-\u003eip_xattr_sem){+.+.+.}, at: [\u003cffffffffa06f9b58\u003e] ocfs2_reflink_ioctl+0x68b/0x1229 [ocfs2]\n #4:  (\u0026oi-\u003eip_alloc_sem){+.+.+.}, at: [\u003cffffffffa06f9b67\u003e] ocfs2_reflink_ioctl+0x69a/0x1229 [ocfs2]\n #5:  (\u0026sb-\u003es_type-\u003ei_mutex_key#15/2){+.+...}, at: [\u003cffffffffa06f9d4f\u003e] ocfs2_reflink_ioctl+0x882/0x1229 [ocfs2]\n\nstack backtrace:\nPid: 11086, comm: reflink Not tainted 2.6.35+ #5\nCall Trace:\n [\u003cffffffff82063dd9\u003e] validate_chain+0x56e/0xd68\n [\u003cffffffff82062275\u003e] ? mark_held_locks+0x49/0x69\n [\u003cffffffff82064d6d\u003e] __lock_acquire+0x79a/0x7f1\n [\u003cffffffff82065a81\u003e] lock_acquire+0xc6/0xed\n [\u003cffffffffa06f9d65\u003e] ? ocfs2_reflink_ioctl+0x898/0x1229 [ocfs2]\n [\u003cffffffffa06c9ade\u003e] __ocfs2_cluster_lock+0x975/0xa0d [ocfs2]\n [\u003cffffffffa06f9d65\u003e] ? ocfs2_reflink_ioctl+0x898/0x1229 [ocfs2]\n [\u003cffffffffa06e107b\u003e] ? ocfs2_wait_for_recovery+0x15/0x8a [ocfs2]\n [\u003cffffffffa06cb6ea\u003e] ocfs2_inode_lock_full_nested+0x1ac/0xdc5 [ocfs2]\n [\u003cffffffffa06f9d65\u003e] ? ocfs2_reflink_ioctl+0x898/0x1229 [ocfs2]\n [\u003cffffffff820623a0\u003e] ? trace_hardirqs_on_caller+0x10b/0x12f\n [\u003cffffffff82060193\u003e] ? debug_mutex_free_waiter+0x4f/0x53\n [\u003cffffffffa06f9d65\u003e] ocfs2_reflink_ioctl+0x898/0x1229 [ocfs2]\n [\u003cffffffffa06ce24a\u003e] ? ocfs2_file_lock_res_init+0x66/0x78 [ocfs2]\n [\u003cffffffff820bb2d2\u003e] ? might_fault+0x40/0x8d\n [\u003cffffffffa06df9f6\u003e] ocfs2_ioctl+0x61a/0x656 [ocfs2]\n [\u003cffffffff820ee5d3\u003e] ? mntput_no_expire+0x1d/0xb0\n [\u003cffffffff820e07b3\u003e] ? path_put+0x2c/0x31\n [\u003cffffffff820e53ac\u003e] vfs_ioctl+0x2a/0x9d\n [\u003cffffffff820e5903\u003e] do_vfs_ioctl+0x45d/0x4ae\n [\u003cffffffff8233a7f6\u003e] ? _raw_spin_unlock+0x26/0x2a\n [\u003cffffffff8200299c\u003e] ? sysret_check+0x27/0x62\n [\u003cffffffff820e59ab\u003e] sys_ioctl+0x57/0x7a\n [\u003cffffffff8200296b\u003e] system_call_fastpath+0x16/0x1b\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "5e64b0d9e86ffff8b299556341d85319117539e9",
      "tree": "eb758ecfd28ceed287f7e1329d8b887123c1b326",
      "parents": [
        "152831be91dfe864e06c3b3ff2bf994e04df4cdf"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Tue Sep 07 13:30:05 2010 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Sep 10 09:19:05 2010 -0700"
      },
      "message": "ocfs2/lockdep: Move ip_xattr_sem out of ocfs2_xattr_get_nolock.\n\nAs the name shows, we shouldn\u0027t have any lock in\nocfs2_xattr_get_nolock. so lift ip_xattr_sem to the caller.\nThis should be safe for us since the only 2 callers are:\n1. ocfs2_xattr_get which will lock the resources.\n2. ocfs2_mknod which don\u0027t need this locking.\n\nAnd this also resolves the following lockdep warning.\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ INFO: possible circular locking dependency detected ]\n2.6.35+ #5\n-------------------------------------------------------\nreflink/30027 is trying to acquire lock:\n (\u0026oi-\u003eip_alloc_sem){+.+.+.}, at: [\u003cffffffffa0673b67\u003e] ocfs2_reflink_ioctl+0x69a/0x1226 [ocfs2]\n\nbut task is already holding lock:\n (\u0026oi-\u003eip_xattr_sem){++++..}, at: [\u003cffffffffa0673b58\u003e] ocfs2_reflink_ioctl+0x68b/0x1226 [ocfs2]\n\nwhich lock already depends on the new lock.\n\nthe existing dependency chain (in reverse order) is:\n\n-\u003e #3 (\u0026oi-\u003eip_xattr_sem){++++..}:\n       [\u003cffffffff82064d6d\u003e] __lock_acquire+0x79a/0x7f1\n       [\u003cffffffff82065a81\u003e] lock_acquire+0xc6/0xed\n       [\u003cffffffff82339650\u003e] down_read+0x34/0x47\n       [\u003cffffffffa0691cb8\u003e] ocfs2_xattr_get_nolock+0xa0/0x4e6 [ocfs2]\n       [\u003cffffffffa069d64f\u003e] ocfs2_get_acl_nolock+0x5c/0x132 [ocfs2]\n       [\u003cffffffffa069d9c7\u003e] ocfs2_init_acl+0x60/0x243 [ocfs2]\n       [\u003cffffffffa066499d\u003e] ocfs2_mknod+0xae8/0xfea [ocfs2]\n       [\u003cffffffffa0665041\u003e] ocfs2_create+0x9d/0x105 [ocfs2]\n       [\u003cffffffff820e1c83\u003e] vfs_create+0x9b/0xf4\n       [\u003cffffffff820e20bb\u003e] do_last+0x2fd/0x5be\n       [\u003cffffffff820e31c0\u003e] do_filp_open+0x1fb/0x572\n       [\u003cffffffff820d6cf6\u003e] do_sys_open+0x5a/0xe7\n       [\u003cffffffff820d6dac\u003e] sys_open+0x1b/0x1d\n       [\u003cffffffff8200296b\u003e] system_call_fastpath+0x16/0x1b\n\n-\u003e #2 (jbd2_handle){+.+...}:\n       [\u003cffffffff82064d6d\u003e] __lock_acquire+0x79a/0x7f1\n       [\u003cffffffff82065a81\u003e] lock_acquire+0xc6/0xed\n       [\u003cffffffffa0604ff8\u003e] start_this_handle+0x4a3/0x4bc [jbd2]\n       [\u003cffffffffa06051d6\u003e] jbd2__journal_start+0xba/0xee [jbd2]\n       [\u003cffffffffa0605218\u003e] jbd2_journal_start+0xe/0x10 [jbd2]\n       [\u003cffffffffa065ca34\u003e] ocfs2_start_trans+0xb7/0x19b [ocfs2]\n       [\u003cffffffffa06645f3\u003e] ocfs2_mknod+0x73e/0xfea [ocfs2]\n       [\u003cffffffffa0665041\u003e] ocfs2_create+0x9d/0x105 [ocfs2]\n       [\u003cffffffff820e1c83\u003e] vfs_create+0x9b/0xf4\n       [\u003cffffffff820e20bb\u003e] do_last+0x2fd/0x5be\n       [\u003cffffffff820e31c0\u003e] do_filp_open+0x1fb/0x572\n       [\u003cffffffff820d6cf6\u003e] do_sys_open+0x5a/0xe7\n       [\u003cffffffff820d6dac\u003e] sys_open+0x1b/0x1d\n       [\u003cffffffff8200296b\u003e] system_call_fastpath+0x16/0x1b\n\n-\u003e #1 (\u0026journal-\u003ej_trans_barrier){.+.+..}:\n       [\u003cffffffff82064d6d\u003e] __lock_acquire+0x79a/0x7f1\n       [\u003cffffffff82064fa9\u003e] lock_release_non_nested+0x1e5/0x24b\n       [\u003cffffffff82065999\u003e] lock_release+0x158/0x17a\n       [\u003cffffffff823389f6\u003e] __mutex_unlock_slowpath+0xbf/0x11b\n       [\u003cffffffff82338a5b\u003e] mutex_unlock+0x9/0xb\n       [\u003cffffffffa0679673\u003e] ocfs2_free_ac_resource+0x31/0x67 [ocfs2]\n       [\u003cffffffffa067c6bc\u003e] ocfs2_free_alloc_context+0x11/0x1d [ocfs2]\n       [\u003cffffffffa0633de0\u003e] ocfs2_write_begin_nolock+0x141e/0x159b [ocfs2]\n       [\u003cffffffffa0635523\u003e] ocfs2_write_begin+0x11e/0x1e7 [ocfs2]\n       [\u003cffffffff820a1297\u003e] generic_file_buffered_write+0x10c/0x210\n       [\u003cffffffffa0653624\u003e] ocfs2_file_aio_write+0x4cc/0x6d3 [ocfs2]\n       [\u003cffffffff820d822d\u003e] do_sync_write+0xc2/0x106\n       [\u003cffffffff820d897b\u003e] vfs_write+0xae/0x131\n       [\u003cffffffff820d8e55\u003e] sys_write+0x47/0x6f\n       [\u003cffffffff8200296b\u003e] system_call_fastpath+0x16/0x1b\n\n-\u003e #0 (\u0026oi-\u003eip_alloc_sem){+.+.+.}:\n       [\u003cffffffff82063f92\u003e] validate_chain+0x727/0xd68\n       [\u003cffffffff82064d6d\u003e] __lock_acquire+0x79a/0x7f1\n       [\u003cffffffff82065a81\u003e] lock_acquire+0xc6/0xed\n       [\u003cffffffff82339694\u003e] down_write+0x31/0x52\n       [\u003cffffffffa0673b67\u003e] ocfs2_reflink_ioctl+0x69a/0x1226 [ocfs2]\n       [\u003cffffffffa06599f6\u003e] ocfs2_ioctl+0x61a/0x656 [ocfs2]\n       [\u003cffffffff820e53ac\u003e] vfs_ioctl+0x2a/0x9d\n       [\u003cffffffff820e5903\u003e] do_vfs_ioctl+0x45d/0x4ae\n       [\u003cffffffff820e59ab\u003e] sys_ioctl+0x57/0x7a\n       [\u003cffffffff8200296b\u003e] system_call_fastpath+0x16/0x1b\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "51749e47e191db8e588ad5cebea731caf7b705d7",
      "tree": "35eecb6db9f24bdff527502bb4fd318f2c8be014",
      "parents": [
        "a122eb2fdfd78b58c6dd992d6f4b1aaef667eef9"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Wed Sep 08 09:00:22 2010 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Sep 10 10:16:54 2010 -0500"
      },
      "message": "xfs: log IO completion workqueue is a high priority queue\n\nThe workqueue implementation in 2.6.36-rcX has changed, resulting\nin the workqueues no longer having dedicated threads for work\nprocessing. This has caused severe livelocks under heavy parallel\ncreate workloads because the log IO completions have been getting\nheld up behind metadata IO completions.  Hence log commits would\nstall, memory allocation would stall because pages could not be\ncleaned, and lock contention on the AIL during inode IO completion\nprocessing was being seen to slow everything down even further.\n\nBy making the log Io completion workqueue a high priority workqueue,\nthey are queued ahead of all data/metadata IO completions and\nprocessed before the data/metadata completions. Hence the log never\ngets stalled, and operations needed to clean memory can continue as\nquickly as possible. This avoids the livelock conditions and allos\nthe system to keep running under heavy load as per normal.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "9aea5a65aa7a1af9a4236dfaeb0088f1624f9919",
      "tree": "c0e36c74dc511912f59e207c70893dc6bd13b543",
      "parents": [
        "7993bc1f4663c0db67bb8f0d98e6678145b387cd"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Tue Sep 07 19:37:06 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 10 08:10:26 2010 -0700"
      },
      "message": "execve: make responsive to SIGKILL with large arguments\n\nAn execve with a very large total of argument/environment strings\ncan take a really long time in the execve system call.  It runs\nuninterruptibly to count and copy all the strings.  This change\nmakes it abort the exec quickly if sent a SIGKILL.\n\nNote that this is the conservative change, to interrupt only for\nSIGKILL, by using fatal_signal_pending().  It would be perfectly\ncorrect semantics to let any signal interrupt the string-copying in\nexecve, i.e. use signal_pending() instead of fatal_signal_pending().\nWe\u0027ll save that change for later, since it could have user-visible\nconsequences, such as having a timer set too quickly make it so that\nan execve can never complete, though it always happened to work before.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7993bc1f4663c0db67bb8f0d98e6678145b387cd",
      "tree": "d283304f635cc5c36d8fa3319dd663209138988e",
      "parents": [
        "1b528181b2ffa14721fb28ad1bd539fe1732c583"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Tue Sep 07 19:36:28 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 10 08:10:26 2010 -0700"
      },
      "message": "execve: improve interactivity with large arguments\n\nThis adds a preemption point during the copying of the argument and\nenvironment strings for execve, in copy_strings().  There is already\na preemption point in the count() loop, so this doesn\u0027t add any new\npoints in the abstract sense.\n\nWhen the total argument+environment strings are very large, the time\nspent copying them can be much more than a normal user time slice.\nSo this change improves the interactivity of the rest of the system\nwhen one process is doing an execve with very large arguments.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1b528181b2ffa14721fb28ad1bd539fe1732c583",
      "tree": "c6c11dd4fb1845ce1a7d5c048fba40a62d5d94de",
      "parents": [
        "be6200aac985e0a3db56ec636763a32f3e32e7f1"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Tue Sep 07 19:35:49 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 10 08:10:26 2010 -0700"
      },
      "message": "setup_arg_pages: diagnose excessive argument size\n\nThe CONFIG_STACK_GROWSDOWN variant of setup_arg_pages() does not\ncheck the size of the argument/environment area on the stack.\nWhen it is unworkably large, shift_arg_pages() hits its BUG_ON.\nThis is exploitable with a very large RLIMIT_STACK limit, to\ncreate a crash pretty easily.\n\nCheck that the initial stack is not too large to make it possible\nto map in any executable.  We\u0027re not checking that the actual\nexecutable (or intepreter, for binfmt_elf) will fit.  So those\nmappings might clobber part of the initial stack mapping.  But\nthat is just userland lossage that userland made happen, not a\nkernel problem.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ff3cb3fec3c5bbb5110e652bbdd410bc99a47e9f",
      "tree": "5b6834a3a4ecd479d544f8cc8cd10811c1ae13e1",
      "parents": [
        "6ccaa3172941c0a97c7f1c5155b1d32ecd27ec2f",
        "be14eb619108fa8b7120eb2c42d66d5f623ae10e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 10 07:26:27 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 10 07:26:27 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  block: Range check cpu in blk_cpu_to_group\n  scatterlist: prevent invalid free when alloc fails\n  writeback: Fix lost wake-up shutting down writeback thread\n  writeback: do not lose wakeup events when forking bdi threads\n  cciss: fix reporting of max queue depth since init\n  block: switch s390 tape_block and mg_disk to elevator_change()\n  block: add function call to switch the IO scheduler from a driver\n  fs/bio-integrity.c: return -ENOMEM on kmalloc failure\n  bio-integrity.c: remove dependency on __GFP_NOFAIL\n  BLOCK: fix bio.bi_rw handling\n  block: put dev-\u003ekobj in blk_register_queue fail path\n  cciss: handle allocation failure\n  cfq-iosched: Documentation help for new tunables\n  cfq-iosched: blktrace print per slice sector stats\n  cfq-iosched: Implement tunable group_idle\n  cfq-iosched: Do group share accounting in IOPS when slice_idle\u003d0\n  cfq-iosched: Do not idle if slice_idle\u003d0\n  cciss: disable doorbell reset on reset_devices\n  blkio: Fix return code for mkdir calls\n"
    },
    {
      "commit": "a122eb2fdfd78b58c6dd992d6f4b1aaef667eef9",
      "tree": "754cbb6319fd3114c6aeb1bf456bf37cff699c69",
      "parents": [
        "cc491e27d31f1bb3dacb309407b47d65669ceb9d"
      ],
      "author": {
        "name": "Dan Rosenberg",
        "email": "dan.j.rosenberg@gmail.com",
        "time": "Mon Sep 06 18:24:57 2010 -0400"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Sep 10 07:39:28 2010 -0500"
      },
      "message": "xfs: prevent reading uninitialized stack memory\n\nThe XFS_IOC_FSGETXATTR ioctl allows unprivileged users to read 12\nbytes of uninitialized stack memory, because the fsxattr struct\ndeclared on the stack in xfs_ioc_fsgetxattr() does not alter (or zero)\nthe 12-byte fsx_pad member before copying it back to the user.  This\npatch takes care of it.\n\nSigned-off-by: Dan Rosenberg \u003cdan.j.rosenberg@gmail.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "eee743fd7eac9f2ea69ad06d093dfb5a12538fe5",
      "tree": "0d7d7f66393c76583007459b3ec5a19528cff8ab",
      "parents": [
        "9ee493ce0a60bf42c0f8fd0b0fe91df5704a1cbf"
      ],
      "author": {
        "name": "Jorge Boncompte [DTI2]",
        "email": "jorge@dti2.net",
        "time": "Thu Sep 09 16:38:19 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 09 18:57:25 2010 -0700"
      },
      "message": "minix: fix regression in minix_mkdir()\n\nCommit 9eed1fb721c (\"minix: replace inode uid,gid,mode init with helper\")\nbroke directory creation on minix filesystems.\n\nFix it by passing the needed mode flag to inode init helper.\n\nSigned-off-by: Jorge Boncompte [DTI2] \u003cjorge@dti2.net\u003e\nCc: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.35.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3ab04d5cf9736b7a4e9dfcf28285d8663b01aa0e",
      "tree": "1e8a52d0c2592d6d4a14d988dbf55331cc07fd24",
      "parents": [
        "3399446632739fcd05fd8b272b476a69c6e6d14a"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 09 16:38:12 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 09 18:57:25 2010 -0700"
      },
      "message": "vfs: take O_NONBLOCK out of the O_* uniqueness test\n\nO_NONBLOCK on parisc has a dual value:\n\n#define O_NONBLOCK\t000200004 /* HPUX has separate NDELAY \u0026 NONBLOCK */\n\nIt is caught by the O_* bits uniqueness check and leads to a parisc\ncompile error.  The fix would be to take O_NONBLOCK out.\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\nCc: Jamie Lokier \u003cjamie@shareable.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ee3aebdd8f5f8eac41c25c80ceee3d728f920f3b",
      "tree": "13eff87af7c86efa1d216ce7f4f98e81b5dd305f",
      "parents": [
        "152e0659fc001029c70fa4373af1792b1ae0d01c"
      ],
      "author": {
        "name": "Jan Sembera",
        "email": "jsembera@suse.cz",
        "time": "Thu Sep 09 16:37:54 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 09 18:57:24 2010 -0700"
      },
      "message": "binfmt_misc: fix binfmt_misc priority\n\nCommit 74641f584da (\"alpha: binfmt_aout fix\") (May 2009) introduced a\nregression - binfmt_misc is now consulted after binfmt_elf, which will\nunfortunately break ia32el.  ia32 ELF binaries on ia64 used to be matched\nusing binfmt_misc and executed using wrapper.  As 32bit binaries are now\nmatched by binfmt_elf before bindmt_misc kicks in, the wrapper is ignored.\n\nThe fix increases precedence of binfmt_misc to the original state.\n\nSigned-off-by: Jan Sembera \u003cjsembera@suse.cz\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nCc: Richard Henderson \u003crth@twiddle.net\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.everything.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ed430fec756ad65f7cfba24f8ad17c3d5a403290",
      "tree": "b0846b50b99ea2ec1e409bebb5ee13e18324dc8e",
      "parents": [
        "85a0fdfd0f967507f3903e8419bc7e408f5a59de"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Thu Sep 09 16:37:36 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 09 18:57:23 2010 -0700"
      },
      "message": "proc: export uncached bit properly in /proc/kpageflags\n\nFix the left-over old ifdef for PG_uncached in /proc/kpageflags.  Now it\u0027s\nused by x86, too.\n\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7a801ac6f5067539ceb5fad0fe90ec49fc156e47",
      "tree": "6c2219eccccb3e71f8930993b7460290e787cd12",
      "parents": [
        "4e70598c3b56e6fec551454c495d4d4025834749"
      ],
      "author": {
        "name": "Jeff Moyer",
        "email": "jmoyer@redhat.com",
        "time": "Thu Sep 09 16:37:33 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 09 18:57:22 2010 -0700"
      },
      "message": "O_DIRECT: fix the splitting up of contiguous I/O\n\ncommit c2c6ca4 (direct-io: do not merge logically non-contiguous requests)\nintroduced a bug whereby all O_DIRECT I/Os were submitted a page at a time\nto the block layer.  The problem is that the code expected\ndio-\u003eblock_in_file to correspond to the current page in the dio.  In fact,\nit corresponds to the previous page submitted via submit_page_section.\nThis was purely an oversight, as the dio-\u003ecur_page_fs_offset field was\nintroduced for just this purpose.  This patch simply uses the correct\nvariable when calculating whether there is a mismatch between contiguous\nlogical blocks and contiguous physical blocks (as described in the\ncomments).\n\nI also switched the if conditional following this check to an else if, to\nensure that we never call dio_bio_submit twice for the same dio (in\ntheory, this should not happen, anyway).\n\nI\u0027ve tested this by running blktrace and verifying that a 64KB I/O was\nsubmitted as a single I/O.  I also ran the patched kernel through\nxfstests\u0027 aio tests using xfs, ext4 (with 1k and 4k block sizes) and btrfs\nand verified that there were no regressions as compared to an unpatched\nkernel.\n\nSigned-off-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nAcked-by: Josef Bacik \u003cjbacik@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.35.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "39aa3cb3e8250db9188a6f1e3fb62ffa1a717678",
      "tree": "266640c10436e9bda9bc283fbe5db22761a7cc7c",
      "parents": [
        "26a94e81ded0fcdc0bf96b5fea7343311f1a220b"
      ],
      "author": {
        "name": "Stefan Bader",
        "email": "stefan.bader@canonical.com",
        "time": "Tue Aug 31 15:52:27 2010 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 09 09:05:06 2010 -0700"
      },
      "message": "mm: Move vma_stack_continue into mm.h\n\nSo it can be used by all that need to check for that.\n\nSigned-off-by: Stefan Bader \u003cstefan.bader@canonical.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cad46744a308299e1c33a549e3e9c9a5bc468f05",
      "tree": "cb63f5cf2f6f81b2ea13dce8e17185b1f8f781f2",
      "parents": [
        "cc491e27d31f1bb3dacb309407b47d65669ceb9d",
        "97b8f4a9dfd932997677136e11980eb2fafea91d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 09 08:57:02 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 09 08:57:02 2010 -0700"
      },
      "message": "Merge branch \u0027fixes\u0027 of git://oss.oracle.com/git/tma/linux-2.6\n\n* \u0027fixes\u0027 of git://oss.oracle.com/git/tma/linux-2.6:\n  ocfs2: Fix orphan add in ocfs2_create_inode_in_orphan\n  ocfs2: split out ocfs2_prepare_orphan_dir() into locking and prep functions\n  ocfs2: allow return of new inode block location before allocation of the inode\n  ocfs2: use ocfs2_alloc_dinode_update_counts() instead of open coding\n  ocfs2: split out inode alloc code from ocfs2_mknod_locked\n  Ocfs2: Fix a regression bug from mainline commit(6b933c8e6f1a2f3118082c455eef25f9b1ac7b45).\n  ocfs2: Fix deadlock when allocating page\n  ocfs2: properly set and use inode group alloc hint\n  ocfs2: Use the right group in nfs sync check.\n  ocfs2: Flush drive\u0027s caches on fdatasync\n  ocfs2: make __ocfs2_page_mkwrite handle file end properly.\n  ocfs2: Fix incorrect checksum validation error\n  ocfs2: Fix metaecc error messages\n"
    },
    {
      "commit": "32670396e7fc6e4f37451a69339968985461a374",
      "tree": "df01cb3461125f341d61bde1d527f575372803ef",
      "parents": [
        "7332f2a6217ee6925f83ef0e725013067ed316ba"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Sep 03 12:00:50 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Sep 08 21:22:35 2010 +0000"
      },
      "message": "cifs: prevent possible memory corruption in cifs_demultiplex_thread\n\ncifs_demultiplex_thread sets the addr.sockAddr.sin_port without any\nregard for the socket family. While it may be that the error in question\nhere never occurs on an IPv6 socket, it\u0027s probably best to be safe and\nset the port properly if it ever does.\n\nBreak the port setting code out of cifs_fill_sockaddr and into a new\nfunction, and call that from cifs_demultiplex_thread.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "7332f2a6217ee6925f83ef0e725013067ed316ba",
      "tree": "481c0774aa1620f9e3f20e2809307d9047dd7324",
      "parents": [
        "522bbe65a2415fabce618186fc7777eb4c502989"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Sep 03 12:00:49 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Sep 08 21:22:33 2010 +0000"
      },
      "message": "cifs: eliminate some more premature cifsd exits\n\nIf the tcpStatus is still CifsNew, the main cifs_demultiplex_loop can\nbreak out prematurely in some cases. This is wrong as we will almost\nalways have other structures with pointers to the TCP_Server_Info. If\nthe main loop breaks under any other condition other than tcpStatus \u003d\u003d\nCifsExiting, then it\u0027ll face a use-after-free situation.\n\nI don\u0027t see any reason to treat a CifsNew tcpStatus differently than\nCifsGood. I believe we\u0027ll still want to attempt to reconnect in either\ncase. What should happen in those situations is that the MIDs get marked\nas MID_RETRY_NEEDED. This will make CIFSSMBNegotiate return -EAGAIN, and\nthen the caller can retry the whole thing on a newly reconnected socket.\nIf that fails again in the same way, the caller of cifs_get_smb_ses\nshould tear down the TCP_Server_Info struct.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "522bbe65a2415fabce618186fc7777eb4c502989",
      "tree": "6eb66dac2892728d93e3220511c0ec7e35f40ce4",
      "parents": [
        "4266d9118f85b050a341992f0cfab40d392ef32c"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Sep 03 12:00:49 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Sep 08 21:22:30 2010 +0000"
      },
      "message": "cifs: prevent cifsd from exiting prematurely\n\nWhen cifs_demultiplex_thread exits, it does a number of cleanup tasks\nincluding freeing the TCP_Server_Info struct. Much of the existing code\nin cifs assumes that when there is a cisfSesInfo struct, that it holds a\nreference to a valid TCP_Server_Info struct.\n\nWe can never allow cifsd to exit when a cifsSesInfo struct is still\nholding a reference to the server. The server pointers will then point\nto freed memory.\n\nThis patch eliminates a couple of questionable conditions where it does\nthis.  The idea here is to make an -EINTR return from kernel_recvmsg\nbehave the same way as -ERESTARTSYS or -EAGAIN. If the task was\nsignalled from cifs_put_tcp_session, then tcpStatus will be CifsExiting,\nand the kernel_recvmsg call will return quickly.\n\nThere\u0027s also another condition where this can occur too -- if the\ntcpStatus is still in CifsNew, then it will also exit if the server\ncloses the socket prematurely.  I think we\u0027ll probably also need to fix\nthat situation, but that requires a bit more consideration.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "4266d9118f85b050a341992f0cfab40d392ef32c",
      "tree": "cb22f936daa584df64b1a9300a37c3505f678911",
      "parents": [
        "639e7a913d81f918bfbf506e6ecd54664f787cbd"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Sep 08 21:17:29 2010 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Sep 08 21:17:29 2010 +0000"
      },
      "message": "[CIFS] ntlmv2/ntlmssp remove-unused-function CalcNTLMv2_partial_mac_key\n\nThis function is not used, so remove the definition and declaration.\n\nReviewed-by: Jeff Layton \u003cjlayton@samba.org\u003e\nSigned-off-by: Shirish Pargaonkar \u003cshirishpargaonkar@gmail.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "639e7a913d81f918bfbf506e6ecd54664f787cbd",
      "tree": "2b786056d9c5db228b8d0a75943ff8a2bdb3b01a",
      "parents": [
        "c8e56f1f4fb9f82f63e4ce6d73a14501d0432c76"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Sep 03 11:50:09 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Sep 08 21:13:16 2010 +0000"
      },
      "message": "cifs: eliminate redundant xdev check in cifs_rename\n\nThe VFS always checks that the source and target of a rename are on the\nsame vfsmount, and hence have the same superblock. So, this check is\nredundant. Remove it and simplify the error handling.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "c8e56f1f4fb9f82f63e4ce6d73a14501d0432c76",
      "tree": "6d0988317a6eaf4b454c73a1dd95f89184f5b1ed",
      "parents": [
        "745e507a9c79c6e1385d3414d5e56f3d4621a375"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Sep 08 21:10:58 2010 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Sep 08 21:10:58 2010 +0000"
      },
      "message": "Revert \"[CIFS] Fix ntlmv2 auth with ntlmssp\"\n\nThis reverts commit 9fbc590860e75785bdaf8b83e48fabfe4d4f7d58.\n\nThe change to kernel crypto and fixes to ntlvm2 and ntlmssp\nseries, introduced a regression.  Deferring this patch series\nto 2.6.37 after Shirish fixes it.\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nCC: Shirish Pargaonkar \u003cshirishp@us.ibm.com\u003e\n"
    },
    {
      "commit": "745e507a9c79c6e1385d3414d5e56f3d4621a375",
      "tree": "14dff030b56724604256c9cfedd04804a586bbc0",
      "parents": [
        "56234e2767496c125a858f880f1b3a62e04a3406"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Sep 08 21:09:27 2010 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Sep 08 21:09:27 2010 +0000"
      },
      "message": "Revert \"missing changes during ntlmv2/ntlmssp auth and sign\"\n\nThis reverts commit 3ec6bbcdb4e85403f2c5958876ca9492afdf4031.\n\n    The change to kernel crypto and fixes to ntlvm2 and ntlmssp\n    series, introduced a regression.  Deferring this patch series\n    to 2.6.37 after Shirish fixes it.\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nCC: Shirish Pargaonkar \u003cshirishp@us.ibm.com\u003e\n"
    },
    {
      "commit": "56234e2767496c125a858f880f1b3a62e04a3406",
      "tree": "c83ff996256b7889d8e84d7b2a19eeb15467dad1",
      "parents": [
        "7100ae97266e387d25d0c8a5d9934931f0b07dbc"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Sep 08 20:57:05 2010 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Sep 08 20:57:05 2010 +0000"
      },
      "message": "Revert \"Eliminate sparse warning - bad constant expression\"\n\nThis reverts commit 2d20ca835867d93ead6ce61780d883a4b128106d.\n\n    The change to kernel crypto and fixes to ntlvm2 and ntlmssp\n    series, introduced a regression.  Deferring this patch series\n    to 2.6.37 after Shirish fixes it.\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nCC: Shirish Pargaonkar \u003cshirishp@us.ibm.com\u003e\n"
    },
    {
      "commit": "7100ae97266e387d25d0c8a5d9934931f0b07dbc",
      "tree": "f4280ef000936b8ddb3fad2494e7ac359a91dd0c",
      "parents": [
        "d56557af19867edb8c0e96f8e26399698a08857f"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Sep 08 20:54:49 2010 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Sep 08 20:54:49 2010 +0000"
      },
      "message": "Revert \"[CIFS] Eliminate unused variable warning\"\n\nThe change to kernel crypto and fixes to ntlvm2 and ntlmssp\nseries, introduced a regression.  Deferring this patch series\nto 2.6.37 after Shirish fixes it.\n\nThis reverts commit c89e5198b26a869ce2842bad8519264f3394dee9.\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nCC: Shirish Pargaonkar \u003cshirishp@us.ibm.com\u003e\n"
    },
    {
      "commit": "c8c727db413e18414dc6ebc2cc4f18f390763e17",
      "tree": "a57102fff430d3cb5d2db3a193409850e85047be",
      "parents": [
        "4f63e3c5be2ab55d47d89ea1d32d2c27254daf26",
        "b9ca67b2ddf021491a3741d9555e8ff59b2175ba"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 08 11:12:59 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 08 11:12:59 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:\n  fuse: fix lock annotations\n  fuse: flush background queue on connection close\n"
    },
    {
      "commit": "97b8f4a9dfd932997677136e11980eb2fafea91d",
      "tree": "63f1a6555c61f4ce421c7b9d7358a34a6e919c6a",
      "parents": [
        "dd43bcde23c527f64897eef41aa1fed2c9905ea9"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Aug 13 15:15:19 2010 -0700"
      },
      "committer": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Wed Sep 08 14:26:00 2010 +0800"
      },
      "message": "ocfs2: Fix orphan add in ocfs2_create_inode_in_orphan\n\nocfs2_create_inode_in_orphan() is used by reflink to create the newly\nreflinked inode simultaneously in the orphan dir. This allows us to easily\nhandle partially-reflinked files during recovery cleanup.\n\nWe have a problem though - the orphan dir stringifies inode # to determine\na unique name under which the orphan entry dirent can be created. Since\nocfs2_create_inode_in_orphan() needs the space allocated in the orphan dir\nbefore it can allocate the inode, we currently call into the orphan code:\n\n       /*\n        * We give the orphan dir the root blkno to fake an orphan name,\n        * and allocate enough space for our insertion.\n        */\n       status \u003d ocfs2_prepare_orphan_dir(osb, \u0026orphan_dir,\n                                         osb-\u003eroot_blkno,\n                                         orphan_name, \u0026orphan_insert);\n\nUsing osb-\u003eroot_blkno might work fine on unindexed directories, but the\norphan dir can have an index.  When it has that index, the above code fails\nto allocate the proper index entry.  Later, when we try to remove the file\nfrom the orphan dir (using the actual inode #), the reflink operation will\nfail.\n\nTo fix this, I created a function ocfs2_alloc_orphaned_file() which uses the\nnewly split out orphan and inode alloc code to figure out what the inode\nblock number will be (once allocated) and then prepare the orphan dir from\nthat data.\n\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\n"
    },
    {
      "commit": "dd43bcde23c527f64897eef41aa1fed2c9905ea9",
      "tree": "59a35711f0d21ef5198b6721e97a622b3e5f384d",
      "parents": [
        "e49e27674d1dd2717ad90b21ece8f83102153315"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Aug 13 15:15:18 2010 -0700"
      },
      "committer": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Wed Sep 08 14:26:00 2010 +0800"
      },
      "message": "ocfs2: split out ocfs2_prepare_orphan_dir() into locking and prep functions\n\nWe do this because ocfs2_create_inode_in_orphan() wants to order locking of\nthe orphan dir with respect to locking of the inode allocator *before*\nmaking any changes to the directory.\n\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\n"
    },
    {
      "commit": "e49e27674d1dd2717ad90b21ece8f83102153315",
      "tree": "3ef61e9e4273a236dde61af12cb1e43d8c421c21",
      "parents": [
        "d51349829c378c06ba4aa7d4b16ca23739858608"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Aug 13 15:15:17 2010 -0700"
      },
      "committer": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Wed Sep 08 14:25:59 2010 +0800"
      },
      "message": "ocfs2: allow return of new inode block location before allocation of the inode\n\nThis allows code which needs to know the eventual block number of an inode\nbut can\u0027t allocate it yet due to transaction or lock ordering. For example,\nocfs2_create_inode_in_orphan() currently gives a junk blkno for preparation\nof the orphan dir because it can\u0027t yet know where the actual inode is placed\n- that code is actually in ocfs2_mknod_locked. This is a problem when the\norphan dirs are indexed as the junk inode number will create an index entry\nwhich goes unused (and fails the later removal from the orphan dir).  Now\nwith these interfaces, ocfs2_create_inode_in_orphan() can run the block\ngroup search (and get back the inode block number) *before* any actual\nallocation occurs.\n\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\n"
    },
    {
      "commit": "d51349829c378c06ba4aa7d4b16ca23739858608",
      "tree": "972c0087222f803e7789a44e40e27585790333bf",
      "parents": [
        "021960cab320ae3cc4e9aba9cca42f9f5ce785f3"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Aug 13 15:15:16 2010 -0700"
      },
      "committer": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Wed Sep 08 14:25:58 2010 +0800"
      },
      "message": "ocfs2: use ocfs2_alloc_dinode_update_counts() instead of open coding\n\nocfs2_search_chain() makes the same updates as\nocfs2_alloc_dinode_update_counts to the alloc inode. Instead of open coding\nthe bitmap update, use our helper function.\n\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\n"
    },
    {
      "commit": "021960cab320ae3cc4e9aba9cca42f9f5ce785f3",
      "tree": "f8fde4ef51bae0f7c9979a586b0c8ccab67a5f0b",
      "parents": [
        "81c8c82b5a39f9127e8b239e9b406a6c3a41b228"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Aug 13 15:15:15 2010 -0700"
      },
      "committer": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Wed Sep 08 14:25:58 2010 +0800"
      },
      "message": "ocfs2: split out inode alloc code from ocfs2_mknod_locked\n\nDo this by splitting the bulk of the function away from the inode allocation\ncode at the very tom of ocfs2_mknod_locked(). Existing callers don\u0027t need to\nchange and won\u0027t see any difference. The new function created,\n__ocfs2_mknod_locked() will be used shortly.\n\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\n"
    },
    {
      "commit": "81c8c82b5a39f9127e8b239e9b406a6c3a41b228",
      "tree": "960d5e11585afea6bb4e24a87fb73a975e16883c",
      "parents": [
        "9b4c0ff32ccd87ab52d4c5bd0a0536febce11370"
      ],
      "author": {
        "name": "Tristan Ye",
        "email": "tristan.ye@oracle.com",
        "time": "Thu Aug 19 15:15:00 2010 +0800"
      },
      "committer": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Wed Sep 08 14:25:57 2010 +0800"
      },
      "message": "Ocfs2: Fix a regression bug from mainline commit(6b933c8e6f1a2f3118082c455eef25f9b1ac7b45).\n\nThe patch is to fix the regression bug brought from commit 6b933c8...( \u0027ocfs2:\nAvoid direct write if we fall back to buffered I/O\u0027):\n\nhttp://oss.oracle.com/bugzilla/show_bug.cgi?id\u003d1285\n\nThe commit 6b933c8e6f1a2f3118082c455eef25f9b1ac7b45 changed __generic_file_aio_write\nto generic_file_buffered_write, which didn\u0027t call filemap_{write,wait}_range to  flush\nthe pagecaches when we were falling O_DIRECT writes back to buffered ones. it did hurt\nthe O_DIRECT semantics somehow in extented odirect writes.\n\nThis patch tries to guarantee O_DIRECT writes of \u0027fall back to buffered\u0027 to be correctly\nflushed.\n\nSigned-off-by: Tristan Ye \u003ctristan.ye@oracle.com\u003e\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\n"
    },
    {
      "commit": "9b4c0ff32ccd87ab52d4c5bd0a0536febce11370",
      "tree": "b9e77d2798eac9051353b29f22e9315d9d9e13b5",
      "parents": [
        "b2b6ebf5f740e015b2155343958f067e594323ea"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Aug 24 14:28:03 2010 +0200"
      },
      "committer": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Wed Sep 08 14:25:57 2010 +0800"
      },
      "message": "ocfs2: Fix deadlock when allocating page\n\nWe cannot call grab_cache_page() when holding filesystem locks or with\na transaction started as grab_cache_page() calls page allocation with\nGFP_KERNEL flag and thus page reclaim can recurse back into the filesystem\ncausing deadlocks or various assertion failures. We have to use\nfind_or_create_page() instead and pass it GFP_NOFS as we do with other\nallocations.\n\nAcked-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\n"
    },
    {
      "commit": "b2b6ebf5f740e015b2155343958f067e594323ea",
      "tree": "c235f91c504cb95ce0b7b4a5c3cfed1df185eb88",
      "parents": [
        "889f004a8c83d515f275078687f859bc0d5ede9d"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Thu Aug 26 13:06:50 2010 -0700"
      },
      "committer": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Wed Sep 08 14:25:56 2010 +0800"
      },
      "message": "ocfs2: properly set and use inode group alloc hint\n\nWe were setting ac-\u003eac_last_group in ocfs2_claim_suballoc_bits from\nres-\u003esr_bg_blkno.  Unfortunately, res-\u003esr_bg_blkno is going to be zero under\nnormal (non-fragmented) circumstances. The discontig block group patches\neffectively turned off that feature. Fix this by correctly calculating what\nthe next group hint should be.\n\nAcked-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\nTested-by: Goldwyn Rodrigues \u003crgoldwyn@suse.de\u003e\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\n"
    },
    {
      "commit": "889f004a8c83d515f275078687f859bc0d5ede9d",
      "tree": "d1b35ad545a4a68fefd1618a591a9d26ccd15ced",
      "parents": [
        "04eda1a18019bb387dc7e97ee99979dd88dc608a"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Thu Sep 02 13:10:10 2010 +0800"
      },
      "committer": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Wed Sep 08 14:25:56 2010 +0800"
      },
      "message": "ocfs2: Use the right group in nfs sync check.\n\nWe have added discontig block group now, and now an inode\ncan be allocated in an discontig block group. So get\nit in ocfs2_get_suballoc_slot_bit.\n\nThe old ocfs2_test_suballoc_bit gets group block no\nfrom the allocation inode which is wrong. Fix it by\npassing the right group.\n\nAcked-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\n"
    },
    {
      "commit": "04eda1a18019bb387dc7e97ee99979dd88dc608a",
      "tree": "8162ad0ec77c7ef80903a1fec134b43b71a7d272",
      "parents": [
        "f63afdb2c32db850fa1bfccf84643a8885cbeb61"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Aug 05 20:32:45 2010 +0200"
      },
      "committer": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Wed Sep 08 14:25:55 2010 +0800"
      },
      "message": "ocfs2: Flush drive\u0027s caches on fdatasync\n\nWhen \u0027barrier\u0027 mount option is specified, we have to issue a cache flush\nduring fdatasync(2). We have to do this even if inode doesn\u0027t have\nI_DIRTY_DATASYNC set because we still have to get written *data* to disk so\nthat they are not lost in case of crash.\n\nAcked-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSinged-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\n"
    },
    {
      "commit": "f63afdb2c32db850fa1bfccf84643a8885cbeb61",
      "tree": "051bd8feb6eeb546d562e325157526dbc1018e49",
      "parents": [
        "f5ce5a08a40f2086435858ddc80cb40394b082eb"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Sat Jul 17 21:45:49 2010 +0800"
      },
      "committer": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Wed Sep 08 14:25:55 2010 +0800"
      },
      "message": "ocfs2: make __ocfs2_page_mkwrite handle file end properly.\n\n__ocfs2_page_mkwrite now is broken in handling file end.\n1. the last page should be the page contains i_size - 1.\n2. the len in the last page is also calculated wrong.\nSo change them accordingly.\n\nAcked-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\n"
    },
    {
      "commit": "f5ce5a08a40f2086435858ddc80cb40394b082eb",
      "tree": "b8880708bcddc0568b6746a7156b9ff21617750d",
      "parents": [
        "dc696aced9f09f05b1f927b93f5a7918017a3e49"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Thu Aug 12 16:24:26 2010 -0700"
      },
      "committer": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Wed Sep 08 14:25:54 2010 +0800"
      },
      "message": "ocfs2: Fix incorrect checksum validation error\n\nFor local mounts, ocfs2_read_locked_inode() calls ocfs2_read_blocks_sync() to\nread the inode off the disk. The latter first checks to see if that block is\ncached in the journal, and, if so, returns that block. That is ok.\n\nBut ocfs2_read_locked_inode() goes wrong when it tries to validate the checksum\nof such blocks. Blocks that are cached in the journal may not have had their\nchecksum computed as yet. We should not validate the checksums of such blocks.\n\nFixes ossbz#1282\nhttp://oss.oracle.com/bugzilla/show_bug.cgi?id\u003d1282\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nCc: stable@kernel.org\nSinged-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\n"
    },
    {
      "commit": "dc696aced9f09f05b1f927b93f5a7918017a3e49",
      "tree": "a2101f7a73a758118d11de70cbd0ad81180fb07f",
      "parents": [
        "2bfc96a127bc1cc94d26bfaa40159966064f9c8c"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Thu Aug 12 16:24:25 2010 -0700"
      },
      "committer": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Wed Sep 08 14:25:53 2010 +0800"
      },
      "message": "ocfs2: Fix metaecc error messages\n\nLike tools, the checksum validate function now prints the values in hex.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSinged-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\n"
    },
    {
      "commit": "4f63e3c5be2ab55d47d89ea1d32d2c27254daf26",
      "tree": "491c6d58ccb246e0b049fa60af4328f649c54089",
      "parents": [
        "e6f901bb85bc0707aaafb3c123c3013c0feaba7d",
        "8f34a430ac16d5fbd9d6b383184d35e152f5a963"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 07 19:21:02 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 07 19:21:02 2010 -0700"
      },
      "message": "Merge branch \u0027for-2.6.36\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.36\u0027 of git://linux-nfs.org/~bfields/linux:\n  nfsd4: mask out non-access bits in nfs4_access_to_omode\n"
    },
    {
      "commit": "fa2925cf90e612cb9c10c45d0cb8a7c7332e56a7",
      "tree": "b836666993fac5c9a157c2cb756c33fb66cb13e8",
      "parents": [
        "98e52c373cdc1239a9ec6a2763f519cc1d99dcbc",
        "cb7a93412ab52361bc255cbe2c767e0741c09f43"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 07 15:44:28 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 07 15:44:28 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs:\n  xfs: Make fiemap work with sparse files\n  xfs: prevent 32bit overflow in space reservation\n  xfs: Disallow 32bit project quota id\n  xfs: improve buffer cache hash scalability\n"
    },
    {
      "commit": "3c5dff7b5ec7ac1bf356d43ac37e2e4ec7ec063a",
      "tree": "1d6be67bfc1175333279da5934805be3921182b0",
      "parents": [
        "dc6f962eb5ad728086fcfa9967976e93ed68e0a5",
        "8f587df479c3cea14ba1a9b9d58f34fd2fd6d58b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 07 14:38:21 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 07 14:38:21 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:\n  9p: potential ERR_PTR() dereference\n"
    },
    {
      "commit": "d3de0eb1642feda3c53fb455e7cf07b222deafb5",
      "tree": "ee010c5fcbed7c42710e25ba1b7950b4c118f20a",
      "parents": [
        "b06ac5a3606d365a63e671273a441158ce3019bb",
        "57f9bdac2510cd7fda58e4a111d250861eb1ebeb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 07 14:04:59 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 07 14:04:59 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6:\n  sysfs: checking for NULL instead of ERR_PTR\n"
    },
    {
      "commit": "4848d7156943085c0d4ca0b0575474af25673699",
      "tree": "c6e81118a29ff29f6e88a4530cdabe9e9a1a6432",
      "parents": [
        "4eab8a5717f5a863cb0e2fc8b22d8b22f4aaa644",
        "4afc31345e5f543e5d89a47aeadaaad1d91a5bc8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 07 14:01:50 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 07 14:01:50 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2:\n  nilfs2: fix leak of shadow dat inode in error path of load_nilfs\n"
    },
    {
      "commit": "7a2e8a8faab76386d8eaae9ded739ee5615be174",
      "tree": "404b9c185f32e3e6ef871bb85c217314e4aff3e8",
      "parents": [
        "2bfc96a127bc1cc94d26bfaa40159966064f9c8c"
      ],
      "author": {
        "name": "Valerie Aurora",
        "email": "vaurora@redhat.com",
        "time": "Thu Aug 26 11:07:22 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 07 13:46:20 2010 -0700"
      },
      "message": "VFS: Sanity check mount flags passed to change_mnt_propagation()\n\nSanity check the flags passed to change_mnt_propagation().  Exactly\none flag should be set.  Return EINVAL otherwise.\n\nUserspace can pass in arbitrary combinations of MS_* flags to mount().\ndo_change_type() is called if any of MS_SHARED, MS_PRIVATE, MS_SLAVE,\nor MS_UNBINDABLE is set.  do_change_type() clears MS_REC and then\ncalls change_mnt_propagation() with the rest of the user-supplied\nflags.  change_mnt_propagation() clearly assumes only one flag is set\nbut do_change_type() does not check that this is true.  For example,\nmount() with flags MS_SHARED | MS_RDONLY does not actually make the\nmount shared or read-only but does clear MNT_UNBINDABLE.\n\nSigned-off-by: Valerie Aurora \u003cvaurora@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b9ca67b2ddf021491a3741d9555e8ff59b2175ba",
      "tree": "170010fef4f0b36ff01f1f9375d9beb9677178c7",
      "parents": [
        "595afaf9e6ee1b48e13ec4b8bcc8c7dee888161a"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Sep 07 13:42:41 2010 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Sep 07 13:42:41 2010 +0200"
      },
      "message": "fuse: fix lock annotations\n\nSparse doesn\u0027t understand lock annotations of the form\n__releases(\u0026foo-\u003elock).  Change them to __releases(foo-\u003elock).  Same\nfor __acquires().\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "595afaf9e6ee1b48e13ec4b8bcc8c7dee888161a",
      "tree": "18ec100cfce992b61aaca2e0a8d0897e67c72300",
      "parents": [
        "2bfc96a127bc1cc94d26bfaa40159966064f9c8c"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Sep 07 13:42:41 2010 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Sep 07 13:42:41 2010 +0200"
      },
      "message": "fuse: flush background queue on connection close\n\nDavid Bartly reported that fuse can hang in fuse_get_req_nofail() when\nthe connection to the filesystem server is no longer active.\n\nIf bg_queue is not empty then flush_bg_queue() called from\nrequest_end() can put more requests on to the pending queue.  If this\nhappens while ending requests on the processing queue then those\nbackground requests will be queued to the pending list and never\nended.\n\nAnother problem is that fuse_dev_release() didn\u0027t wake up processes\nsleeping on blocked_waitq.\n\nSolve this by:\n\n a) flushing the background queue before calling end_requests() on the\n    pending and processing queues\n\n b) setting blocked \u003d 0 and waking up processes waiting on\n    blocked_waitq()\n\nThanks to David for an excellent bug report.\n\nReported-by: David Bartley \u003candareed@gmail.com\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCC: stable@kernel.org\n"
    },
    {
      "commit": "57f9bdac2510cd7fda58e4a111d250861eb1ebeb",
      "tree": "c343e3d07fbab1cf7714b9bedebda95807e86cd9",
      "parents": [
        "2bfc96a127bc1cc94d26bfaa40159966064f9c8c"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Wed Aug 25 09:12:29 2010 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Sep 03 17:26:28 2010 -0700"
      },
      "message": "sysfs: checking for NULL instead of ERR_PTR\n\nd_path() returns an ERR_PTR and it doesn\u0027t return NULL.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nCc: stable \u003cstable@kernel.org\u003e\nReviewed-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "cb7a93412ab52361bc255cbe2c767e0741c09f43",
      "tree": "063b89ca160ac43b8df41cf6d12158c4ca7fe897",
      "parents": [
        "9af25465081480a75824fd7a16a37a5cfebeede9",
        "72656c46f50b8dfe50e15793692982e636e3df20"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Sep 03 09:02:32 2010 -0500"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Sep 03 09:02:32 2010 -0500"
      },
      "message": "Merge branch \u00272.6.36-xfs-misc\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/xfsdev\n"
    },
    {
      "commit": "9af25465081480a75824fd7a16a37a5cfebeede9",
      "tree": "475ea0ef9247b65b0ce8997ba581a87bd71c11b6",
      "parents": [
        "23963e54ce187ca6e907c83176c15508b0f6e60d"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Mon Aug 30 02:44:03 2010 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Sep 03 09:02:11 2010 -0500"
      },
      "message": "xfs: Make fiemap work with sparse files\n\nIn xfs_vn_fiemap, we set bvm_count to fi_extent_max + 1 and want\nto return fi_extent_max extents, but actually it won\u0027t work for\na sparse file. The reason is that in xfs_getbmap we will\ncalculate holes and set it in \u0027out\u0027, while out is malloced by\nbmv_count(fi_extent_max+1) which didn\u0027t consider holes. So in the\nworst case, if \u0027out\u0027 vector looks like\n[hole, extent, hole, extent, hole, ... hole, extent, hole],\nwe will only return half of fi_extent_max extents.\n\nThis patch add a new parameter BMV_IF_NO_HOLES for bvm_iflags.\nSo with this flags, we don\u0027t use our \u0027out\u0027 in xfs_getbmap for\na hole. The solution is a bit ugly by just don\u0027t increasing\nindex of \u0027out\u0027 vector. I felt that it is not easy to skip it\nat the very beginning since we have the complicated check and\nsome function like xfs_getbmapx_fix_eof_hole to adjust \u0027out\u0027.\n\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "72656c46f50b8dfe50e15793692982e636e3df20",
      "tree": "8841c80c9cf5873c915a821e98f3ae09746ec9d8",
      "parents": [
        "9bc08a45fb117c696e4940cfa1208cb1cc7a2f25"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Fri Sep 03 12:19:33 2010 +1000"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Fri Sep 03 12:19:33 2010 +1000"
      },
      "message": "xfs: prevent 32bit overflow in space reservation\n\nIf we attempt to preallocate more than 2^32 blocks of space in a\nsingle syscall, the transaction block reservation will overflow\nleading to a hangs in the superblock block accounting code. This\nis trivially reproduced with xfs_io. Fix the problem by capping the\nallocation reservation to the maximum number of blocks a single\nxfs_bmapi() call can allocate (2^21 blocks).\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "8f34a430ac16d5fbd9d6b383184d35e152f5a963",
      "tree": "34a2cbdacb782fb63a0096c28a1e8ab9d8770153",
      "parents": [
        "f6360efb83cd6dd1476cd758834c8277508c1f15"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu Sep 02 15:23:16 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu Sep 02 15:25:09 2010 -0400"
      },
      "message": "nfsd4: mask out non-access bits in nfs4_access_to_omode\n\nThis fixes an unnecessary BUG().\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "23963e54ce187ca6e907c83176c15508b0f6e60d",
      "tree": "9cac313a1dce67874c9711061ff10f82ccb7c4d0",
      "parents": [
        "2bfc96a127bc1cc94d26bfaa40159966064f9c8c"
      ],
      "author": {
        "name": "Arkadiusz Mi?kiewicz",
        "email": "arekm@maven.pl",
        "time": "Thu Aug 26 10:19:43 2010 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Thu Sep 02 10:29:08 2010 -0500"
      },
      "message": "xfs: Disallow 32bit project quota id\n\nCurrently on-disk structure is able to keep only 16bit project quota\nid, so disallow 32bit ones. This fixes a problem where parts of\nkernel structures holding project quota id are 32bit while parts\n(on-disk) are 16bit variables which causes project quota member\nfiles to be inaccessible for some operations (like mv/rm).\n\nSigned-off-by: Arkadiusz Mi?kiewicz \u003carekm@maven.pl\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "9bc08a45fb117c696e4940cfa1208cb1cc7a2f25",
      "tree": "610e4cb520d62c4ad6ae0f20ddd64cd15520c33a",
      "parents": [
        "2bfc96a127bc1cc94d26bfaa40159966064f9c8c"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Sep 02 15:14:38 2010 +1000"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Sep 02 15:14:38 2010 +1000"
      },
      "message": "xfs: improve buffer cache hash scalability\n\nWhen doing large parallel file creates on a 16p machines, large amounts of\ntime is being spent in _xfs_buf_find(). A system wide profile with perf top\nshows this:\n\n          1134740.00 19.3% _xfs_buf_find\n           733142.00 12.5% __ticket_spin_lock\n\nThe problem is that the hash contains 45,000 buffers, and the hash table width\nis only 256 buffers. That means we\u0027ve got around 200 buffers per chain, and\nsearching it is quite expensive. The hash table size needs to increase.\n\nSecondly, every time we do a lookup, we promote the buffer we find to the head\nof the hash chain. This is causing cachelines to be dirtied and causes\ninvalidation of cachelines across all CPUs that may have walked the hash chain\nrecently. hence every walk of the hash chain is effectively a cold cache walk.\nRemove the promotion to avoid this invalidation.\n\nThe results are:\n\n          1045043.00 21.2% __ticket_spin_lock\n           326184.00  6.6% _xfs_buf_find\n\nA 70% drop in the CPU usage when looking up buffers. Unfortunately that does\nnot result in an increase in performance underthis workload as contention on\nthe inode_lock soaks up most of the reduction in CPU usage.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "8f587df479c3cea14ba1a9b9d58f34fd2fd6d58b",
      "tree": "5c01cd8b1fa9ecea9af268890d39a49b017a8631",
      "parents": [
        "2bfc96a127bc1cc94d26bfaa40159966064f9c8c"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Wed Aug 04 16:27:45 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Aug 30 10:35:28 2010 -0500"
      },
      "message": "9p: potential ERR_PTR() dereference\n\np9_client_walk() can return error values if we run out of space or there\nis a problem with the network.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "4afc31345e5f543e5d89a47aeadaaad1d91a5bc8",
      "tree": "698cd37b9f285343e2c309a897d566501760bb9f",
      "parents": [
        "2bfc96a127bc1cc94d26bfaa40159966064f9c8c"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sun Aug 29 01:55:38 2010 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Aug 30 10:18:03 2010 +0900"
      },
      "message": "nilfs2: fix leak of shadow dat inode in error path of load_nilfs\n\nIf load_nilfs() gets an error while doing recovery, it will fail to\nfree the shadow inode of dat (nilfs-\u003ens_gc_dat).\n\nThis fixes the leak issue.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    }
  ],
  "next": "30c0f6a04975d557f3c1a4e640b3808b1231c3ef"
}
