)]}'
{
  "log": [
    {
      "commit": "8a9f772c14f85e2a580baadc50c194835da2d4e5",
      "tree": "4ac04e465fa8295944f997fb517dc9904bb8e4f3",
      "parents": [
        "25a34554d600b799cbf5159bef372b02d3b4e1c6",
        "cedb4a7d9f6aedb0dce94d6285b69dcb3c10fa05"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 08:52:47 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 08:52:47 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block: (27 commits)\n  block: remove unused copy_io_context()\n  Documentation: remove anticipatory scheduler info\n  block: remove REQ_HARDBARRIER\n  ioprio: rcu_read_lock/unlock protect find_task_by_vpid call (V2)\n  ioprio: fix RCU locking around task dereference\n  block: ioctl: fix information leak to userland\n  block: read i_size with i_size_read()\n  cciss: fix proc warning on attempt to remove non-existant directory\n  bio: take care not overflow page count when mapping/copying user data\n  block: limit vec count in bio_kmalloc() and bio_alloc_map_data()\n  block: take care not to overflow when calculating total iov length\n  block: check for proper length of iov entries in blk_rq_map_user_iov()\n  cciss: remove controllers supported by hpsa\n  cciss: use usleep_range not msleep for small sleeps\n  cciss: limit commands allocated on reset_devices\n  cciss: Use kernel provided PCI state save and restore functions\n  cciss: fix board status waiting code\n  drbd: Removed checks for REQ_HARDBARRIER on incomming BIOs\n  drbd: REQ_HARDBARRIER -\u003e REQ_FUA transition for meta data accesses\n  drbd: Removed the BIO_RW_BARRIER support form the receiver/epoch code\n  ...\n"
    },
    {
      "commit": "fb1cb7b27bba3446bed377c173dbdd2d288e3992",
      "tree": "914c2211472ab86696319e729290a1ad786621be",
      "parents": [
        "fe7e96f66b2622d8492ee9dd7fc08b811086caca",
        "ece413f59f257682de4a2e2e42af33b016af53f3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 08:11:03 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 08:11:03 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs:\n  xfs: remove incorrect assert in xfs_vm_writepage\n  xfs: use hlist_add_fake\n  xfs: fix a few compiler warnings with CONFIG_XFS_QUOTA\u003dn\n  xfs: tell lockdep about parent iolock usage in filestreams\n  xfs: move delayed write buffer trace\n  xfs: fix per-ag reference counting in inode reclaim tree walking\n  xfs: xfs_ioctl: fix information leak to userland\n  xfs: remove experimental tag from the delaylog option\n"
    },
    {
      "commit": "0f90933c477c061df6daf42d814ff2012aea43cc",
      "tree": "10c1e1ec16a1874416f9aa18e44a31a6d3087952",
      "parents": [
        "e2b348354112df63a9c2ea4219a6867c6c7ea100",
        "8896b93f42459b18b145c69d399b62870df48061"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 07:59:41 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 07:59:41 2010 -0800"
      },
      "message": "Merge branch \u0027for-2.6.37\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.37\u0027 of git://linux-nfs.org/~bfields/linux:\n  locks: remove dead lease error-handling code\n  locks: fix leak on merging leases\n  nfsd4: fix 4.1 connection registration race\n"
    },
    {
      "commit": "52ca0e84b05595cf74f1ff772b3f9807256b1b27",
      "tree": "365c7118481f79b12b31939e897dc85c4b27e8f6",
      "parents": [
        "27d20fddc8af539464fc3ba499d6a830054c3bd6"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Thu Nov 11 14:05:20 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 07:55:32 2010 -0800"
      },
      "message": "hugetlbfs: lessen the impact of a deprecation warning\n\nWARN_ONCE is a bit strong for a deprecation warning, given that it spews a\nhuge backtrace.\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ece413f59f257682de4a2e2e42af33b016af53f3",
      "tree": "fe26d60458a4bfbd39e7e319e41c0ceca011914d",
      "parents": [
        "c6f6cd0608b1826ee1797cf57a808416e4bdb806"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Nov 10 21:39:11 2010 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Wed Nov 10 15:51:10 2010 -0600"
      },
      "message": "xfs: remove incorrect assert in xfs_vm_writepage\n\nIn commit 20cb52ebd1b5ca6fa8a5d9b6b1392292f5ca8a45, titled\n\"xfs: simplify xfs_vm_writepage\" I added an assert that any !mapped and\nuptodate buffers are not dirty.  That asserts turns out to trigger a lot\nwhen running fsx on filesystems with small block sizes.  The reason for\nthat is that the assert is simply incorrect.  !mapped and uptodate\njust mean this buffer covers a hole, and whenever we do a set_page_dirty\nwe mark all blocks in the page dirty, no matter if they have data or\nnot.  So remove the assert, and update the comment above the condition\nto match reality.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "8896b93f42459b18b145c69d399b62870df48061",
      "tree": "661b82f867391d16345c75b693f29b24c062d478",
      "parents": [
        "3df057ac9afe83c4af84016df3baf3a0eb1d3d33"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Nov 03 18:09:18 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Nov 10 14:31:29 2010 -0500"
      },
      "message": "locks: remove dead lease error-handling code\n\nA minor oversight from f7347ce4ee7c65415f84be915c018473e7076f31,\n\"fasync: re-organize fasync entry insertion to allow it under a\nspinlock\": this cleanup-on-error was only needed to handle -ENOMEM.  Now\nthat we\u0027re preallocating it\u0027s unneeded.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "3df057ac9afe83c4af84016df3baf3a0eb1d3d33",
      "tree": "ae1d30a596abef618d2913cbead649253fa7acfc",
      "parents": [
        "21b75b019983dfa5c2dda588f4b60b4ca69844a4"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Nov 03 16:49:44 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Nov 10 14:31:23 2010 -0500"
      },
      "message": "locks: fix leak on merging leases\n\nWe must also free the passed-in lease in the case it wasn\u0027t used because\nan existing lease was upgrade/downgraded or already existed.\n\nNote the nfsd caller doesn\u0027t care because it\u0027s fl_change callback\nreturns an error in those cases.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "c6f6cd0608b1826ee1797cf57a808416e4bdb806",
      "tree": "4c82ec811ef359f71c83f2a68c46498f0b59618b",
      "parents": [
        "5d2bf8a55e03b0e59ed5a4ac2ff7f9ee3ba7e40d"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sat Nov 06 11:43:08 2010 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Wed Nov 10 12:00:48 2010 -0600"
      },
      "message": "xfs: use hlist_add_fake\n\nXFS does not need it\u0027s inodes to actuall be hashed in the VFS inode\ncache, but we require the inode to be marked hashed for the\nwriteback code to work.\n\nInsted of using insert_inode_hash, which requires a second\ninode_lock roundtrip after the partial merge of the inode\nscalability patches in 2.6.37-rc simply use the new hlist_add_fake\nhelper to mark it hashed without requiring a lock or touching a\nglobal cache line.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "5d2bf8a55e03b0e59ed5a4ac2ff7f9ee3ba7e40d",
      "tree": "fc46c4d8f0504fd64504a30e4590267d1bfed9fe",
      "parents": [
        "785ce41805ea7b6a9b2775ed9f4cf10cd7a90c03"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sat Nov 06 11:42:56 2010 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Wed Nov 10 12:00:48 2010 -0600"
      },
      "message": "xfs: fix a few compiler warnings with CONFIG_XFS_QUOTA\u003dn\n\nAndi Kleen reported that gcc-4.5 gives lots of warnings for him\ninside the XFS code.  It turned out most of them are due to the\nquota stubs beeing macros, and gcc now complaining about macros\nevaluating to 0 that are not assigned to variables.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "785ce41805ea7b6a9b2775ed9f4cf10cd7a90c03",
      "tree": "8b56f215db003db8984465697cebf2ce9aa119c9",
      "parents": [
        "bfe2741967eaa3434fa9b3d8f24b1422d4540e7d"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sat Nov 06 11:42:44 2010 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Wed Nov 10 12:00:48 2010 -0600"
      },
      "message": "xfs: tell lockdep about parent iolock usage in filestreams\n\nThe filestreams code may take the iolock on the parent inode while\nholding it on a child.  This is the only place in XFS where we take\nboth the child and parent iolock, so just telling lockdep about it\nis enough.  The lock flag required for that was already added as\npart of the ilock lockdep annotations and unused so far.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "bfe2741967eaa3434fa9b3d8f24b1422d4540e7d",
      "tree": "d012589ede1f1d7e571d7dc75868f445531cccf8",
      "parents": [
        "f83282a8ef799c0bdcb0c32971487087da1bc216"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Mon Nov 08 08:55:05 2010 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Wed Nov 10 12:00:48 2010 -0600"
      },
      "message": "xfs: move delayed write buffer trace\n\nThe delayed write buffer split trace currently issues a trace for\nevery buffer it scans. These buffers are not necessarily queued for\ndelayed write. Indeed, when buffers are pinned, there can be\nthousands of traces of buffers that aren\u0027t actually queued for\ndelayed write and the ones that are are lost in the noise. Move the\ntrace point to record only buffers that are split out for IO to be\nissued on.\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": "f83282a8ef799c0bdcb0c32971487087da1bc216",
      "tree": "953c706c4c96a85348cc6e1404436411919b6d80",
      "parents": [
        "6762b938eac878a30a90e770ac655874c36bc642"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Mon Nov 08 08:55:04 2010 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Wed Nov 10 12:00:48 2010 -0600"
      },
      "message": "xfs: fix per-ag reference counting in inode reclaim tree walking\n\nThe walk fails to decrement the per-ag reference count when the\nnon-blocking walk fails to obtain the per-ag reclaim lock, leading\nto an assert failure on debug kernels when unmounting a filesystem.\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": "6762b938eac878a30a90e770ac655874c36bc642",
      "tree": "424b9893aa5494104b8d93de2b9c52fbdce37b75",
      "parents": [
        "5d0af85cd0964bb845b63d5059bb20e8f7731e65"
      ],
      "author": {
        "name": "Kulikov Vasiliy",
        "email": "segooon@gmail.com",
        "time": "Sat Oct 30 14:26:17 2010 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Wed Nov 10 12:00:47 2010 -0600"
      },
      "message": "xfs: xfs_ioctl: fix information leak to userland\n\nal_hreq is copied from userland.  If al_hreq.buflen is not properly aligned\nthen xfs_attr_list will ignore the last bytes of kbuf.  These bytes are\nunitialized.  It leads to leaking of contents of kernel stack memory.\n\nSigned-off-by: Vasiliy Kulikov \u003csegooon@gmail.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "5d0af85cd0964bb845b63d5059bb20e8f7731e65",
      "tree": "8c3bb47546b361be20e972cf6069ccd29f38ba41",
      "parents": [
        "f6614b7bb405a9b35dd28baea989a749492c46b2"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 28 21:37:10 2010 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Wed Nov 10 12:00:47 2010 -0600"
      },
      "message": "xfs: remove experimental tag from the delaylog option\n\nWe promised to do this for 2.6.37, and the code looks stable enough to\nkeep that promise.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "f85acd81aa623e3dcf268c90e5cd8ecf36830984",
      "tree": "cb6baded85812573ad2f42bfe47b9d185b61918b",
      "parents": [
        "1447399b3e34af016c368b4178db7ef0e04e15b0"
      ],
      "author": {
        "name": "Sergey Senozhatsky",
        "email": "sergey.senozhatsky@gmail.com",
        "time": "Tue Nov 09 21:26:56 2010 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Wed Nov 10 14:40:53 2010 +0100"
      },
      "message": "ioprio: rcu_read_lock/unlock protect find_task_by_vpid call (V2)\n\nCommit 4221a9918e38b7494cee341dda7b7b4bb8c04bde \"Add RCU check for\nfind_task_by_vpid()\" introduced rcu_lockdep_assert to find_task_by_pid_ns\u003d\n\nAssertion failed in sys_ioprio_get. The patch is fixing assertion\nfailure in ioprio_set as well.\n\n kernel/pid.c:419 invoked rcu_dereference_check() without protection!\n\n stack backtrace:\n Pid: 4254, comm: iotop Not tainted\n Call Trace:\n [\u003cffffffff810656f2\u003e] lockdep_rcu_dereference+0xaa/0xb2\n [\u003cffffffff81053c67\u003e] find_task_by_pid_ns+0x4f/0x68\n [\u003cffffffff81053c9d\u003e] find_task_by_vpid+0x1d/0x1f\n [\u003cffffffff811104e2\u003e] sys_ioprio_get+0x50/0x2da\n [\u003cffffffff81002182\u003e] system_call_fastpath+0x16/0x1b\n\nV2: rcu critical section expanded according to comment by Paul E. McKenney\n\nSigned-off-by: Sergey Senozhatsky \u003csergey.senozhatsky@gmail.com\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "1447399b3e34af016c368b4178db7ef0e04e15b0",
      "tree": "e5de50c5520b2c20359c2afbf903e052b88bb995",
      "parents": [
        "a014741c0adfb8fb79952939ca087cf03d272bb9"
      ],
      "author": {
        "name": "Daniel J Blueman",
        "email": "daniel.blueman@gmail.com",
        "time": "Tue Nov 09 21:33:02 2010 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Wed Nov 10 14:40:53 2010 +0100"
      },
      "message": "ioprio: fix RCU locking around task dereference\n\nWith 2.6.37-rc1, I observe sys_ioprio_set not taking the RCU lock [1]\nacross access to the task credentials.\n\nInspecting the code in fs/ioprio.c, the tasklist_lock is held for read\nacross the __task_cred call, which is presumably sufficient to prevent\nthe task credentials becoming stale.\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\n\n[ INFO: suspicious rcu_dereference_check() usage. ]\n\n---------------------------------------------------\n\nkernel/pid.c:419 invoked rcu_dereference_check() without protection!\n\nother info that might help us debug this:\n\nrcu_scheduler_active \u003d 1, debug_locks \u003d 1\n\n1 lock held by start-stop-daem/2246:\n\n #0:  (tasklist_lock){.?.?..}, at: [\u003cffffffff811a2dfa\u003e]\nsys_ioprio_set+0x8a/0x400\n\nstack backtrace:\n\nPid: 2246, comm: start-stop-daem Not tainted 2.6.37-rc1-330cd+ #2\n\nCall Trace:\n\n [\u003cffffffff8109f5f4\u003e] lockdep_rcu_dereference+0xa4/0xc0\n\n [\u003cffffffff81085651\u003e] find_task_by_pid_ns+0x81/0x90\n\n [\u003cffffffff8108567d\u003e] find_task_by_vpid+0x1d/0x20\n\n [\u003cffffffff811a3160\u003e] sys_ioprio_set+0x3f0/0x400\n\n [\u003cffffffff816efa79\u003e] ? trace_hardirqs_on_thunk+0x3a/0x3f\n\n [\u003cffffffff81003482\u003e] system_call_fastpath+0x16/0x1b\n\nTake the RCU lock for read across acquiring the pointer to the task\ncredentials and dereferencing it.\n\nSigned-off-by: Daniel J Blueman \u003cdaniel.blueman@gmail.com\u003e\n\nFixed up by Jens to fix missing rcu_read_unlock() on mismatches.\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "cb4644cac4a2797afc847e6c92736664d4b0ea34",
      "tree": "14170d74d5040be49af14b484f252d888141a99f",
      "parents": [
        "f3f63c1c28bc861a931fac283b5bc3585efb8967"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Wed Nov 10 14:36:25 2010 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Wed Nov 10 14:40:43 2010 +0100"
      },
      "message": "bio: take care not overflow page count when mapping/copying user data\n\nIf the iovec is being set up in a way that causes uaddr + PAGE_SIZE\nto overflow, we could end up attempting to map a huge number of\npages. Check for this invalid input type.\n\nReported-by: Dan Rosenberg \u003cdrosenberg@vsecurity.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "f3f63c1c28bc861a931fac283b5bc3585efb8967",
      "tree": "79c05b76488d9595bbb365b8185842357f8b3eec",
      "parents": [
        "9f864c80913467312c7b8690e41fb5ebd1b50e92"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri Oct 29 11:46:56 2010 -0600"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Wed Nov 10 14:40:42 2010 +0100"
      },
      "message": "block: limit vec count in bio_kmalloc() and bio_alloc_map_data()\n\nReported-by: Dan Rosenberg \u003cdrosenberg@vsecurity.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "f6614b7bb405a9b35dd28baea989a749492c46b2",
      "tree": "3a6bc580d98fb191ff44a374b61a3a55641f94ac",
      "parents": [
        "63bfd7384b119409685a17d5c58f0b56e5dc03da",
        "3565bd46b1c6a3dbf1f670d3275aa4018a4c65ae"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 09 10:34:48 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 09 10:34:48 2010 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:\n  cifs: fix a memleak in cifs_setattr_nounix()\n  cifs: make cifs_ioctl handle NULL filp-\u003eprivate_data correctly\n"
    },
    {
      "commit": "3565bd46b1c6a3dbf1f670d3275aa4018a4c65ae",
      "tree": "76e5a4468175b5ca45e674abf5bd87d4fc6ec704",
      "parents": [
        "618763958b2291a09057dbfa553da6ded93dcfad"
      ],
      "author": {
        "name": "Suresh Jayaraman",
        "email": "sjayaraman@suse.de",
        "time": "Tue Nov 09 12:27:41 2010 +0530"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Nov 09 15:17:53 2010 +0000"
      },
      "message": "cifs: fix a memleak in cifs_setattr_nounix()\n\nAndrew Hendry reported a kmemleak warning in 2.6.37-rc1 while editing a\ntext file with gedit over cifs.\n\nunreferenced object 0xffff88022ee08b40 (size 32):\n  comm \"gedit\", pid 2524, jiffies 4300160388 (age 2633.655s)\n  hex dump (first 32 bytes):\n    5c 2e 67 6f 75 74 70 75 74 73 74 72 65 61 6d 2d  \\.goutputstream-\n    35 42 41 53 4c 56 00 de 09 00 00 00 2c 26 78 ee  5BASLV......,\u0026x.\n  backtrace:\n    [\u003cffffffff81504a4d\u003e] kmemleak_alloc+0x2d/0x60\n    [\u003cffffffff81136e13\u003e] __kmalloc+0xe3/0x1d0\n    [\u003cffffffffa0313db0\u003e] build_path_from_dentry+0xf0/0x230 [cifs]\n    [\u003cffffffffa031ae1e\u003e] cifs_setattr+0x9e/0x770 [cifs]\n    [\u003cffffffff8115fe90\u003e] notify_change+0x170/0x2e0\n    [\u003cffffffff81145ceb\u003e] sys_fchmod+0x10b/0x140\n    [\u003cffffffff8100c172\u003e] system_call_fastpath+0x16/0x1b\n    [\u003cffffffffffffffff\u003e] 0xffffffffffffffff\n\nThe commit 1025774c that removed inode_setattr() seems to have introduced this\nmemleak by returning early without freeing \u0027full_path\u0027.\n\nReported-by: Andrew Hendry \u003candrew.hendry@gmail.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "0e15482566b752718e7225168380904f1d0cdfa3",
      "tree": "5f7f6b774b0d6d35606dd5ef755f8f9ef6b3738a",
      "parents": [
        "a7bcf21e60c73cb7f7c13fad928967d7e47c3cac"
      ],
      "author": {
        "name": "Meelis Roos",
        "email": "mroos@linux.ee",
        "time": "Mon Nov 08 13:38:14 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 08 14:29:39 2010 -0800"
      },
      "message": "sparc: fix openpromfs compile\n\nFix openpromfs compilation by adding a missing semicolon in\nfs/openpromfs/inode.c openprom_mount().\n\nSigned-off-by: Meelis Roos \u003cmroos@linux.ee\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a7bcf21e60c73cb7f7c13fad928967d7e47c3cac",
      "tree": "e24ae9d2c35508f68016b8cde848b7608e737b32",
      "parents": [
        "5398a64c63a69a0ac33dbae458ea4aab0dc23f14",
        "7ff9c073dd4d7200399076554f7ab9b876f196f6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 08 11:54:53 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 08 11:54:53 2010 -0800"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:\n  ext4: Add new ext4 inode tracepoints\n  ext4: Don\u0027t call sb_issue_discard() in ext4_free_blocks()\n  ext4: do not try to grab the s_umount semaphore in ext4_quota_off\n  ext4: fix potential race when freeing ext4_io_page structures\n  ext4: handle writeback of inodes which are being freed\n  ext4: initialize the percpu counters before replaying the journal\n  ext4: \"ret\" may be used uninitialized in ext4_lazyinit_thread()\n  ext4: fix lazyinit hang after removing request\n"
    },
    {
      "commit": "618763958b2291a09057dbfa553da6ded93dcfad",
      "tree": "985c2e8eba7e0b63f0c9ac314fa1bf6c311aee73",
      "parents": [
        "151f52f09c5728ecfdd0c289da1a4b30bb416f2c"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Nov 08 07:28:32 2010 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Nov 08 18:56:36 2010 +0000"
      },
      "message": "cifs: make cifs_ioctl handle NULL filp-\u003eprivate_data correctly\n\nCommit 13cfb7334e made cifs_ioctl use the tlink attached to the\ncifsFileInfo for a filp. This ignores the case of an open directory\nhowever, which in CIFS can have a NULL private_data until a readdir\nis done on it.\n\nThis patch re-adds the NULL pointer checks that were removed in commit\n50ae28f01 and moves the setting of tcon and \"caps\" variables lower.\n\nLong term, a better fix would be to establish a f_op-\u003eopen routine for\ndirectories that populates that field at open time, but that requires\nsome other changes to how readdir calls are handled.\n\nReported-by: Kjell Rune Skaaraas \u003ckjella79@yahoo.no\u003e\nReviewed-and-Tested-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": "7ff9c073dd4d7200399076554f7ab9b876f196f6",
      "tree": "6ca4eb4ca9b2f6f7b11e8197bd8a9417d7307b00",
      "parents": [
        "b56ff9d397cecdaad6c98c9d57cc6fea475e1f50"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Nov 08 13:51:33 2010 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Nov 08 13:51:33 2010 -0500"
      },
      "message": "ext4: Add new ext4 inode tracepoints\n\nAdd ext4_evict_inode, ext4_drop_inode, ext4_mark_inode_dirty, and\next4_begin_ordered_truncate()\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "b56ff9d397cecdaad6c98c9d57cc6fea475e1f50",
      "tree": "659c007ed6a4d4e389b164d0b63f8f4ba8be0b08",
      "parents": [
        "87009d86dc045d228e21242467a67a5f99347553"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Nov 08 13:49:33 2010 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Nov 08 13:49:33 2010 -0500"
      },
      "message": "ext4: Don\u0027t call sb_issue_discard() in ext4_free_blocks()\n\nCommit 5c521830cf (ext4: Support discard requests when running in\nno-journal mode) attempts to add sb_issue_discard() for data blocks\n(in data\u003dwriteback mode) and in no-journal mode.  Unfortunately, this\nno longer works, because in commit dd3932eddf (block: remove\nBLKDEV_IFL_WAIT), sb_issue_discard() only presents a synchronous\ninterface, and there are times when we call ext4_free_blocks() when we\nare are holding a spinlock, or are otherwise in an atomic context.\n\nFor now, I\u0027ve removed the call to sb_issue_discard() to prevent a\ndeadlock or (if spinlock debugging is enabled) failures like this:\n\nBUG: scheduling while atomic: rc.sysinit/1376/0x00000002\nPid: 1376, comm: rc.sysinit Not tainted 2.6.36-ARCH #1\nCall Trace:\n[\u003cffffffff810397ce\u003e] __schedule_bug+0x5e/0x70\n[\u003cffffffff81403110\u003e] schedule+0x950/0xa70\n[\u003cffffffff81060bad\u003e] ? insert_work+0x7d/0x90\n[\u003cffffffff81060fbd\u003e] ? queue_work_on+0x1d/0x30\n[\u003cffffffff81061127\u003e] ? queue_work+0x37/0x60\n[\u003cffffffff8140377d\u003e] schedule_timeout+0x21d/0x360\n[\u003cffffffff812031c3\u003e] ? generic_make_request+0x2c3/0x540\n[\u003cffffffff81402680\u003e] wait_for_common+0xc0/0x150\n[\u003cffffffff81041490\u003e] ? default_wake_function+0x0/0x10\n[\u003cffffffff812034bc\u003e] ? submit_bio+0x7c/0x100\n[\u003cffffffff810680a0\u003e] ? wake_bit_function+0x0/0x40\n[\u003cffffffff814027b8\u003e] wait_for_completion+0x18/0x20\n[\u003cffffffff8120a969\u003e] blkdev_issue_discard+0x1b9/0x210\n[\u003cffffffff811ba03e\u003e] ext4_free_blocks+0x68e/0xb60\n[\u003cffffffff811b1650\u003e] ? __ext4_handle_dirty_metadata+0x110/0x120\n[\u003cffffffff811b098c\u003e] ext4_ext_truncate+0x8cc/0xa70\n[\u003cffffffff810d713e\u003e] ? pagevec_lookup+0x1e/0x30\n[\u003cffffffff81191618\u003e] ext4_truncate+0x178/0x5d0\n[\u003cffffffff810eacbb\u003e] ? unmap_mapping_range+0xab/0x280\n[\u003cffffffff810d8976\u003e] vmtruncate+0x56/0x70\n[\u003cffffffff811925cb\u003e] ext4_setattr+0x14b/0x460\n[\u003cffffffff811319e4\u003e] notify_change+0x194/0x380\n[\u003cffffffff81117f80\u003e] do_truncate+0x60/0x90\n[\u003cffffffff811e08fa\u003e] ? security_inode_permission+0x1a/0x20\n[\u003cffffffff811eaec1\u003e] ? tomoyo_path_truncate+0x11/0x20\n[\u003cffffffff81127539\u003e] do_last+0x5d9/0x770\n[\u003cffffffff811278bd\u003e] do_filp_open+0x1ed/0x680\n[\u003cffffffff8140644f\u003e] ? page_fault+0x1f/0x30\n[\u003cffffffff81132bfc\u003e] ? alloc_fd+0xec/0x140\n[\u003cffffffff81118db1\u003e] do_sys_open+0x61/0x120\n[\u003cffffffff81118e8b\u003e] sys_open+0x1b/0x20\n[\u003cffffffff81002e6b\u003e] system_call_fastpath+0x16/0x1b\n\nhttps://bugzilla.kernel.org/show_bug.cgi?id\u003d22302\n\nReported-by: Mathias Burén \u003cmathias.buren@gmail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: jiayingz@google.com\n"
    },
    {
      "commit": "87009d86dc045d228e21242467a67a5f99347553",
      "tree": "2c24052844da18e7a736680b5af9ea97581cebd0",
      "parents": [
        "83668e7141c7a0aa4035bde94344b81f9cf966ab"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Mon Nov 08 13:47:33 2010 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Nov 08 13:47:33 2010 -0500"
      },
      "message": "ext4: do not try to grab the s_umount semaphore in ext4_quota_off\n\nIt\u0027s not needed to sync the filesystem, and it fixes a lock_dep complaint.\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@gmail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nReviewed-by: Jan Kara \u003cjack@suse.cz\u003e\n\n"
    },
    {
      "commit": "83668e7141c7a0aa4035bde94344b81f9cf966ab",
      "tree": "34d9fd52470b475d6e9d88ece8ca1ba80bf85a42",
      "parents": [
        "f7ad6d2e9201a6e1c9ee6530a291452eb695feb8"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Nov 08 13:45:33 2010 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Nov 08 13:45:33 2010 -0500"
      },
      "message": "ext4: fix potential race when freeing ext4_io_page structures\n\nUse an atomic_t and make sure we don\u0027t free the structure while we\nmight still be submitting I/O for that page.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "f7ad6d2e9201a6e1c9ee6530a291452eb695feb8",
      "tree": "006cdcfd487404fb61986e3030d96cb33866755d",
      "parents": [
        "ce7e010aef63dc6b37a2354f7c9f5f4aedb37978"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Nov 08 13:43:33 2010 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Nov 08 13:43:33 2010 -0500"
      },
      "message": "ext4: handle writeback of inodes which are being freed\n\nThe following BUG can occur when an inode which is getting freed when\nit still has dirty pages outstanding, and it gets deleted (in this\nbecause it was the target of a rename).  In ordered mode, we need to\nmake sure the data pages are written just in case we crash before the\nrename (or unlink) is committed.  If the inode is being freed then\nwhen we try to igrab the inode, we end up tripping the BUG_ON at\nfs/ext4/page-io.c:146.\n\nTo solve this problem, we need to keep track of the number of io\ncallbacks which are pending, and avoid destroying the inode until they\nhave all been completed.  That way we don\u0027t have to bump the inode\ncount to keep the inode from being destroyed; an approach which\ndoesn\u0027t work because the count could have already been dropped down to\nzero before the inode writeback has started (at which point we\u0027re not\nallowed to bump the count back up to 1, since it\u0027s already started\ngetting freed).\n\nThanks to Dave Chinner for suggesting this approach, which is also\nused by XFS.\n\n  kernel BUG at /scratch_space/linux-2.6/fs/ext4/page-io.c:146!\n  Call Trace:\n   [\u003cffffffff811075b1\u003e] ext4_bio_write_page+0x172/0x307\n   [\u003cffffffff811033a7\u003e] mpage_da_submit_io+0x2f9/0x37b\n   [\u003cffffffff811068d7\u003e] mpage_da_map_and_submit+0x2cc/0x2e2\n   [\u003cffffffff811069b3\u003e] mpage_add_bh_to_extent+0xc6/0xd5\n   [\u003cffffffff81106c66\u003e] write_cache_pages_da+0x2a4/0x3ac\n   [\u003cffffffff81107044\u003e] ext4_da_writepages+0x2d6/0x44d\n   [\u003cffffffff81087910\u003e] do_writepages+0x1c/0x25\n   [\u003cffffffff810810a4\u003e] __filemap_fdatawrite_range+0x4b/0x4d\n   [\u003cffffffff810815f5\u003e] filemap_fdatawrite_range+0xe/0x10\n   [\u003cffffffff81122a2e\u003e] jbd2_journal_begin_ordered_truncate+0x7b/0xa2\n   [\u003cffffffff8110615d\u003e] ext4_evict_inode+0x57/0x24c\n   [\u003cffffffff810c14a3\u003e] evict+0x22/0x92\n   [\u003cffffffff810c1a3d\u003e] iput+0x212/0x249\n   [\u003cffffffff810bdf16\u003e] dentry_iput+0xa1/0xb9\n   [\u003cffffffff810bdf6b\u003e] d_kill+0x3d/0x5d\n   [\u003cffffffff810be613\u003e] dput+0x13a/0x147\n   [\u003cffffffff810b990d\u003e] sys_renameat+0x1b5/0x258\n   [\u003cffffffff81145f71\u003e] ? _atomic_dec_and_lock+0x2d/0x4c\n   [\u003cffffffff810b2950\u003e] ? cp_new_stat+0xde/0xea\n   [\u003cffffffff810b29c1\u003e] ? sys_newlstat+0x2d/0x38\n   [\u003cffffffff810b99c6\u003e] sys_rename+0x16/0x18\n   [\u003cffffffff81002a2b\u003e] system_call_fastpath+0x16/0x1b\n\nReported-by: Nick Bowler \u003cnbowler@elliptictech.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nTested-by: Nick Bowler \u003cnbowler@elliptictech.com\u003e\n"
    },
    {
      "commit": "2e5c36722d4c9c86281f25a1e963a6078c7fce6a",
      "tree": "373e6d3f2858d69feb9828835e4856bec294d98e",
      "parents": [
        "e0a70217107e6f9844628120412cb27bb4cea194",
        "c67236281c5d749741f5414103903a7c1b9c4636"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 05 14:17:01 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 05 14:17:01 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: make cifs_set_oplock_level() take a cifsInodeInfo pointer\n  cifs: dereferencing first then checking\n  cifs: trivial comment fix: tlink_tree is now a rbtree\n  [CIFS] Cleanup unused variable build warning\n  cifs: convert tlink_tree to a rbtree\n  cifs: store pointer to master tlink in superblock (try #2)\n  cifs: trivial doc fix: note setlease implemented\n  CIFS: Add cifs_set_oplock_level\n  FS: cifs, remove unneeded NULL tests\n"
    },
    {
      "commit": "c67236281c5d749741f5414103903a7c1b9c4636",
      "tree": "ddc93fd5fcf47db18ce067309475a12a32b4c00c",
      "parents": [
        "d38922949d377da7d47473c7868334408ae3b373"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastryyy@gmail.com",
        "time": "Wed Nov 03 10:58:57 2010 +0300"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Nov 05 17:39:01 2010 +0000"
      },
      "message": "cifs: make cifs_set_oplock_level() take a cifsInodeInfo pointer\n\nAll the callers already have a pointer to struct cifsInodeInfo. Use it.\n\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "d38922949d377da7d47473c7868334408ae3b373",
      "tree": "322cf984f274c45da08d57acc74d29bb5c5e5048",
      "parents": [
        "6ef933a38ade555a175ecab9d803e6bb73399763"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Nov 02 16:22:50 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Nov 04 19:39:07 2010 +0000"
      },
      "message": "cifs: dereferencing first then checking\n\nThis patch is based on Dan\u0027s original patch. His original description is\nbelow:\n\nSmatch complained about a couple checking for NULL after dereferencing\nbugs.  I\u0027m not super familiar with the code so I did the conservative\nthing and move the dereferences after the checks.\n\nThe dereferences in cifs_lock() and cifs_fsync() were added in\nba00ba64cf0 \"cifs: make various routines use the cifsFileInfo-\u003etcon\npointer\".  The dereference in find_writable_file() was added in\n6508d904e6f \"cifs: have find_readable/writable_file filter by fsuid\".\nThe comments there say it\u0027s possible to trigger the NULL dereference\nunder stress.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "6ef933a38ade555a175ecab9d803e6bb73399763",
      "tree": "4def2e603604ce790709748e7729688bee3f2a3a",
      "parents": [
        "54eeafe1e4fb7b11da17adacacb1fbe279e0cf6e"
      ],
      "author": {
        "name": "Suresh Jayaraman",
        "email": "sjayaraman@suse.de",
        "time": "Wed Nov 03 10:53:49 2010 +0530"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Nov 04 19:35:30 2010 +0000"
      },
      "message": "cifs: trivial comment fix: tlink_tree is now a rbtree\n\nNoticed while reviewing (late) the rbtree conversion patchset (which has been merged\nalready).\n\nCc: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "ce7e010aef63dc6b37a2354f7c9f5f4aedb37978",
      "tree": "458ee0c4887e989522e62701350edf9571dfce48",
      "parents": [
        "b2c78cd09b6ef78c8f20190f0b3e6df1d3651b70"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Nov 03 12:03:21 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Nov 03 12:03:21 2010 -0400"
      },
      "message": "ext4: initialize the percpu counters before replaying the journal\n\nWe now initialize the percpu counters before replaying the journal,\nbut after the journal, we recalculate the global counters, to deal\nwith the possibility of the per-blockgroup counts getting updated by\nthe journal replay.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "21b75b019983dfa5c2dda588f4b60b4ca69844a4",
      "tree": "c1e0a8c4e136a0de35fc996a7ed6c5db1e6bb9cc",
      "parents": [
        "c8ddb2713c624f432fa5fe3c7ecffcdda46ea0d4"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Oct 26 10:07:17 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Nov 02 17:13:52 2010 -0400"
      },
      "message": "nfsd4: fix 4.1 connection registration race\n\nIf a connection is closed just after a sequence or create_session\nis sent over it, we could end up trying to register a callback that will\nnever get called since the xprt is already marked dead.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "54eeafe1e4fb7b11da17adacacb1fbe279e0cf6e",
      "tree": "834e7946a6518745ce168dfb6cbd7ffc6c21739c",
      "parents": [
        "b647c35f77af9c07d336247b23014596e9f0a593"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Nov 02 19:22:45 2010 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Nov 02 19:22:45 2010 +0000"
      },
      "message": "[CIFS] Cleanup unused variable build warning\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "b647c35f77af9c07d336247b23014596e9f0a593",
      "tree": "653949250681fd1c23ad529b631da793f95778a6",
      "parents": [
        "413e661c136c52290de1ee19a1b049a4da9dbf51"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu Oct 28 11:16:44 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Nov 02 19:20:23 2010 +0000"
      },
      "message": "cifs: convert tlink_tree to a rbtree\n\nRadix trees are ideal when you want to track a bunch of pointers and\ncan\u0027t embed a tracking structure within the target of those pointers.\nThe tradeoff is an increase in memory, particularly if the tree is\nsparse.\n\nIn CIFS, we use the tlink_tree to track tcon_link structs. A tcon_link\ncan never be in more than one tlink_tree, so there\u0027s no impediment to\nusing a rb_tree here instead of a radix tree.\n\nConvert the new multiuser mount code to use a rb_tree instead. This\nshould reduce the memory required to manage the tlink_tree.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "413e661c136c52290de1ee19a1b049a4da9dbf51",
      "tree": "cd875b7b3cab4c9df89b360734a2d55d220acd43",
      "parents": [
        "df098db12ada832c0232ee1f91eff21a8701889c"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu Oct 28 13:33:38 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Nov 02 19:15:09 2010 +0000"
      },
      "message": "cifs: store pointer to master tlink in superblock (try #2)\n\nThis is the second version of this patch, the only difference between\nit and the first one is that this explicitly makes cifs_sb_master_tlink\na static inline.\n\nInstead of keeping a tag on the master tlink in the tree, just keep a\npointer to the master in the superblock. That eliminates the need for\nusing the radix tree to look up a tagged entry.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "df098db12ada832c0232ee1f91eff21a8701889c",
      "tree": "272b78491e0c78e8173f5fe2aef3c371b375cf84",
      "parents": [
        "e66673e39ac9d4749bd9676dd1caf928095409f5"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Sat Oct 30 17:06:21 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Nov 02 18:48:14 2010 +0000"
      },
      "message": "cifs: trivial doc fix: note setlease implemented\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "e66673e39ac9d4749bd9676dd1caf928095409f5",
      "tree": "f16191d689910a4f939992d8836e575195633116",
      "parents": [
        "ce2f6fb8bd8c1e85f288033020dfc31c9fc2be94"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastryyy@gmail.com",
        "time": "Tue Nov 02 12:00:42 2010 +0300"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Nov 02 18:40:54 2010 +0000"
      },
      "message": "CIFS: Add cifs_set_oplock_level\n\nSimplify many places when we need to set oplock level on an inode.\n\nSigned-off-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "b2c78cd09b6ef78c8f20190f0b3e6df1d3651b70",
      "tree": "d137e42bb765f5ea2b9bf9692ab7f965422447ec",
      "parents": [
        "f4245bd4ebf903541ba758ad06c118626d8c6f18"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Nov 02 14:19:30 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Nov 02 14:19:30 2010 -0400"
      },
      "message": "ext4: \"ret\" may be used uninitialized in ext4_lazyinit_thread()\n\nNewer GCC\u0027s reported the following build warning:\n\n   fs/ext4/super.c: In function \u0027ext4_lazyinit_thread\u0027:\n   fs/ext4/super.c:2702: warning: \u0027ret\u0027 may be used uninitialized in this function\n\nFix it by removing the need for the ret variable in the first place.\n\nSigned-off-by: \"Lukas Czerner\" \u003clczerner@redhat.com\u003e\nReported-by: \"Stefan Richter\" \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "f4245bd4ebf903541ba758ad06c118626d8c6f18",
      "tree": "a599839d8d3ed672d147036b885d4fec548adf65",
      "parents": [
        "c8ddb2713c624f432fa5fe3c7ecffcdda46ea0d4"
      ],
      "author": {
        "name": "Lukas Czerner",
        "email": "lczerner@redhat.com",
        "time": "Tue Nov 02 14:07:17 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Nov 02 14:07:17 2010 -0400"
      },
      "message": "ext4: fix lazyinit hang after removing request\n\nWhen the request has been removed from the list and no other request\nhas been issued, we will end up with next wakeup scheduled to\nMAX_JIFFY_OFFSET which is bad. So check for that.\n\nSigned-off-by: Lukas Czerner \u003clczerner@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "eb8abb927ae2fd1730e24ea94cd9527f3c086292",
      "tree": "e0ae72934040e8d840db503c311ac070d9850bc8",
      "parents": [
        "7fe19da4ca38fc20cdbc7020fcf2eca8fc756410"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Nov 02 09:34:50 2010 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 02 10:38:30 2010 -0400"
      },
      "message": "ext4: Remove useless spinlock in ext4_getattr()\n\nLinus noted, and complained to me, that doing while lots of \"git diff\"\u0027s\nof kernel sources, these spinlocks were responsible for 27% of the\nspinlock cost on his two-processor system as reported by perf.\n\nGit was doing lots of parallel stats, and this was putting a lot of\npressure on ext4_getattr().  A spinlock to protect a single\nmemory-to-memory copy is pointless, so remove it.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ce2f6fb8bd8c1e85f288033020dfc31c9fc2be94",
      "tree": "4b6365efb0c3b6fc4d5989d7128cbbe815b4ee79",
      "parents": [
        "50ae28f0144a790fc63a5b89b9aca3ffa9f88522",
        "e99d11d19977c74b18411cdb59cdebb788237a6e"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Nov 02 03:48:02 2010 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Nov 02 03:48:02 2010 +0000"
      },
      "message": "Merge branch \u0027master\u0027 of /pub/scm/linux/kernel/git/torvalds/linux-2.6\n"
    },
    {
      "commit": "50ae28f0144a790fc63a5b89b9aca3ffa9f88522",
      "tree": "b0e77798ad82428f4f0026cf8f72cc0608ab3223",
      "parents": [
        "c8ddb2713c624f432fa5fe3c7ecffcdda46ea0d4"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Mon Nov 01 16:08:55 2010 +0100"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Nov 02 03:47:21 2010 +0000"
      },
      "message": "FS: cifs, remove unneeded NULL tests\n\nStanse found that pSMBFile in cifs_ioctl and file-\u003ef_path.dentry in\ncifs_user_write are dereferenced prior their test to NULL.\n\nThe alternative is not to dereference them before the tests. The patch is\nto point out the problem, you have to decide.\n\nWhile at it we cache the inode in cifs_user_write to a local variable\nand use all over the function.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: Steve French \u003csfrench@samba.org\u003e\nCc: linux-cifs@vger.kernel.org\nCc: Jeff Layton \u003cjlayton@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "e99d11d19977c74b18411cdb59cdebb788237a6e",
      "tree": "6e38134e1d07e7d81236fa4bfb3747d835e14ce1",
      "parents": [
        "c8ddb2713c624f432fa5fe3c7ecffcdda46ea0d4"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Tue Nov 02 05:29:21 2010 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 01 16:34:56 2010 -0400"
      },
      "message": "fs: logfs: Fix up MTD\u003dy build.\n\nCommit 7d945a3aa760 (\"logfs get_sb, part 3\") broke the logfs build when\nCONFIG_MTD is set due to a mangled logfs_get_sb_mtd() definition.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "82279e6bd7643da1b3fbda42555c3238c7b00d38",
      "tree": "e3f846e0a7daf6966375809ff4317f9eb57a9af9",
      "parents": [
        "bb8430a2c8fe2b726033017daadf73c69b0348ea",
        "4600d7c493f354a3e338a35bcf8a3bfbe815776a",
        "4882720b267b7b1d1b0ce08334b205f0329d4615"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 31 20:40:24 2010 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 31 20:40:24 2010 -0400"
      },
      "message": "Merge branches \u0027irq-core-for-linus\u0027 and \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  genirq: Fix up irq_node() for irq_data changes.\n  genirq: Add single IRQ reservation helper\n  genirq: Warn if enable_irq is called before irq is set up\n\n* \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  semaphore: Remove mutex emulation\n  staging: Final semaphore cleanup\n  jbd2: Convert jbd2_slab_create_sem to mutex\n  hpfs: Convert sbi-\u003ehpfs_creation_de to mutex\n\nFix up trivial change/delete conflicts with deleted \u0027dream\u0027 drivers\n(drivers/staging/dream/camera/{mt9d112.c,mt9p012_fox.c,mt9t013.c,s5k3e2fx.c})\n"
    },
    {
      "commit": "bb8430a2c8fe2b726033017daadf73c69b0348ea",
      "tree": "feb6063cab812816bc67bca4e509995b5ad9217d",
      "parents": [
        "51ee4b84f5c86935b438d6636f34b523edb415a8"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sun Oct 31 08:35:31 2010 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 31 06:35:15 2010 -0700"
      },
      "message": "locks: remove fl_copy_lock lock_manager operation\n\nThis one was only used for a nasty hack in nfsd, which has recently\nbeen removed.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "51ee4b84f5c86935b438d6636f34b523edb415a8",
      "tree": "c60e0da8f8b6393477d79ef6d6ce321ee3b8ecaa",
      "parents": [
        "96f935934591b72f5b05fd6923bc8cdcae92f2e5"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sun Oct 31 08:35:10 2010 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 31 06:35:15 2010 -0700"
      },
      "message": "locks: let the caller free file_lock on -\u003esetlease failure\n\nThe caller allocated it, the caller should free it.\n\nThe only issue so far is that we could change the flp pointer even on an\nerror return if the fl_change callback failed.  But we can simply move\nthe flp assignment after the fl_change invocation, as the callers don\u0027t\ncare about the flp return value if the setlease call failed.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fcf744a96c66ca6ad7301a372034b771e57f30c4",
      "tree": "4d4094cb2e04b391bd11eedf1466245dc8403704",
      "parents": [
        "05fa3135fdc7b9b510b502a35b6b97d2b38c6f48"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Sat Oct 30 17:31:16 2010 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 30 18:08:15 2010 -0700"
      },
      "message": "nfsd4: initialize delegation pointer to lease\n\nThe NFSv4 server was initializing the dp-\u003edl_flock pointer by the\nsomewhat ridiculous method of a locks_copy_lock callback.\n\nNow that setlease uses the passed-in lock instead of doing a copy,\ndl_flock no longer gets set, resulting in the lock leaking on delegation\nrelease, and later possible hangs (among other problems).\n\nSo, initialize dl_flock and get rid of the callback.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "05fa3135fdc7b9b510b502a35b6b97d2b38c6f48",
      "tree": "d533e8112111202ae890b2061c0386669002d080",
      "parents": [
        "096657b65e1ac197e20be5ce7cff6b6ca2532787"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Sat Oct 30 17:31:15 2010 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 30 18:08:15 2010 -0700"
      },
      "message": "locks: fix setlease methods to free passed-in lock\n\nWe modified setlease to require the caller to allocate the new lease in\nthe case of creating a new lease, but forgot to fix up the filesystem\nmethods.\n\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Steve French \u003csfrench@samba.org\u003e\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "096657b65e1ac197e20be5ce7cff6b6ca2532787",
      "tree": "61265f8d8075aee437597ffe050f339b207356e7",
      "parents": [
        "0ceaf6c700f8245946a163e387add8675a0c302f"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Sat Oct 30 17:31:14 2010 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 30 18:08:15 2010 -0700"
      },
      "message": "locks: fix leaks on setlease errors\n\nWe\u0027re depending on setlease to free the passed-in lease on failure.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0ceaf6c700f8245946a163e387add8675a0c302f",
      "tree": "8f1657caff93050e416503b418c11c6e6b62b781",
      "parents": [
        "0d07025effd3da8b9c74f18448823175f4c63a73"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Sat Oct 30 17:31:13 2010 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 30 18:08:14 2010 -0700"
      },
      "message": "locks: prevent ENOMEM on lease unlock\n\nRemoving a lock shouldn\u0027t require any allocations; a failure due to\nENOMEM leaves the caller with a choice between retrying or giving up and\nleaking an unused lease.\n\nNext we should split the other lease calls into add and delete cases.\nI wanted to start with just the bugfix.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1792f17b7210280a3d7ff29da9614ba779cfcedb",
      "tree": "e45797137b7fc4877dd60b289d6fb75c6bdcdcf0",
      "parents": [
        "f02a38d86a14b6e544e218d806ffb0442785f62b",
        "6bff7eccb0d9bdef4123aad5399e73cbc26683a6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 30 11:50:37 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 30 11:50:37 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.infradead.org/users/eparis/notify\n\n* \u0027for-linus\u0027 of git://git.infradead.org/users/eparis/notify: (22 commits)\n  Ensure FMODE_NONOTIFY is not set by userspace\n  make fanotify_read() restartable across signals\n  fsnotify: remove alignment padding from fsnotify_mark on 64 bit builds\n  fs/notify/fanotify/fanotify_user.c: fix warnings\n  fanotify: Fix FAN_CLOSE comments\n  fanotify: do not recalculate the mask if the ignored mask changed\n  fanotify: ignore events on directories unless specifically requested\n  fsnotify: rename FS_IN_ISDIR to FS_ISDIR\n  fanotify: do not send events for irregular files\n  fanotify: limit number of listeners per user\n  fanotify: allow userspace to override max marks\n  fanotify: limit the number of marks in a single fanotify group\n  fanotify: allow userspace to override max queue depth\n  fsnotify: implement a default maximum queue depth\n  fanotify: ignore fanotify ignore marks if open writers\n  fanotify: allow userspace to flush all marks\n  fsnotify: call fsnotify_parent in perm events\n  fsnotify: correctly handle return codes from listeners\n  fanotify: use __aligned_u64 in fanotify userspace metadata\n  fanotify: implement fanotify listener ordering\n  ...\n"
    },
    {
      "commit": "1a5cea7215f7c6bd3c960d7b44e864f3a73d1ad4",
      "tree": "d8bdd846e5ef83c1707eaf9e9040705d80869260",
      "parents": [
        "d8c0fca68da25ca3df534dfb12ce628675c828e4"
      ],
      "author": {
        "name": "Lino Sanfilippo",
        "email": "LinoSanfilippo@gmx.de",
        "time": "Fri Oct 29 12:06:42 2010 +0200"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Sat Oct 30 14:07:35 2010 -0400"
      },
      "message": "make fanotify_read() restartable across signals\n\n    In fanotify_read() return -ERESTARTSYS instead of -EINTR to\n    make read() restartable across signals (BSD semantic).\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "925d169f5b86fe57e2f5264ea574cce9a89b719d",
      "tree": "241d3156b427c6398bd3fc5efa9108635d0e189b",
      "parents": [
        "cdf01dd5443d0befc8c6a32cb2e3d2f568fd2558",
        "6418c96107a2b399848bb8cfc6e29f11ca74fb94"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 30 09:05:48 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 30 09:05:48 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: (39 commits)\n  Btrfs: deal with errors from updating the tree log\n  Btrfs: allow subvol deletion by unprivileged user with -o user_subvol_rm_allowed\n  Btrfs: make SNAP_DESTROY async\n  Btrfs: add SNAP_CREATE_ASYNC ioctl\n  Btrfs: add START_SYNC, WAIT_SYNC ioctls\n  Btrfs: async transaction commit\n  Btrfs: fix deadlock in btrfs_commit_transaction\n  Btrfs: fix lockdep warning on clone ioctl\n  Btrfs: fix clone ioctl where range is adjacent to extent\n  Btrfs: fix delalloc checks in clone ioctl\n  Btrfs: drop unused variable in block_alloc_rsv\n  Btrfs: cleanup warnings from gcc 4.6 (nonbugs)\n  Btrfs: Fix variables set but not read (bugs found by gcc 4.6)\n  Btrfs: Use ERR_CAST helpers\n  Btrfs: use memdup_user helpers\n  Btrfs: fix raid code for removing missing drives\n  Btrfs: Switch the extent buffer rbtree into a radix tree\n  Btrfs: restructure try_release_extent_buffer()\n  Btrfs: use the flusher threads for delalloc throttling\n  Btrfs: tune the chunk allocation to 5% of the FS as metadata\n  ...\n\nFix up trivial conflicts in fs/btrfs/super.c and fs/fs-writeback.c, and\nremove use of INIT_RCU_HEAD in fs/btrfs/extent_io.c (that init macro was\nuseless and removed in commit 5e8067adfdba: \"rcu head remove init\")\n"
    },
    {
      "commit": "cdf01dd5443d0befc8c6a32cb2e3d2f568fd2558",
      "tree": "97ff92f14a00146ad20b168559bb13f11db7fafb",
      "parents": [
        "847f877600313e65c5659476b30d74a6f66e388e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 30 08:55:52 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 30 08:55:52 2010 -0700"
      },
      "message": "fs-writeback.c: unify some common code\n\nThe btrfs merge looks like hell, because it changes fs-writeback.c, and\nthe crazy code has this repeated \"estimate number of dirty pages\"\ncounting that involves three different helper functions.  And it\u0027s done\nin two different places.\n\nJust unify that whole calculation as a \"get_nr_dirty_pages()\" helper\nfunction, and the merge result will look half-way decent.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "79346507ad48895f41b438fa562b1965721f36b9",
      "tree": "5c115ce87f1fbc0b530f30db56cecf824e9f6e05",
      "parents": [
        "706d4b12f8d7edd28d7e879a77235472da393edb",
        "40847437f15221b5822ba70550e8b9fcccfb9bb3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 30 08:31:35 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 30 08:31:35 2010 -0700"
      },
      "message": "Merge git://git.infradead.org/mtd-2.6\n\n* git://git.infradead.org/mtd-2.6: (82 commits)\n  mtd: fix build error in m25p80.c\n  mtd: Remove redundant mutex from mtd_blkdevs.c\n  MTD: Fix wrong check register_blkdev return value\n  Revert \"mtd: cleanup Kconfig dependencies\"\n  mtd: cfi_cmdset_0002: make sector erase command variable\n  mtd: cfi_cmdset_0002: add CFI detection for SST 38VF640x chips\n  mtd: cfi_util: add support for switching SST 39VF640xB chips into QRY mode\n  mtd: cfi_cmdset_0001: use defined value of P_ID_INTEL_PERFORMANCE instead of hardcoded one\n  block2mtd: dubious assignment\n  P4080/mtd: Fix the freescale lbc issue with 36bit mode\n  P4080/eLBC: Make Freescale elbc interrupt common to elbc devices\n  mtd: phram: use KBUILD_MODNAME\n  mtd: OneNAND: S5PC110: Fix double call suspend \u0026 resume function\n  mtd: nand: fix MTD_MODE_RAW writes\n  jffs2: use kmemdup\n  mtd: sm_ftl: cosmetic, use bool when possible\n  mtd: r852: remove useless pci powerup/down from suspend/resume routines\n  mtd: blktrans: fix a race vs kthread_stop\n  mtd: blktrans: kill BKL\n  mtd: allow to unload the mtdtrans module if its block devices aren\u0027t open\n  ...\n\nFix up trivial whitespace-introduced conflict in drivers/mtd/mtdchar.c\n"
    },
    {
      "commit": "504b701bb1655747575095543c083267418e02ac",
      "tree": "2533953d8b2546ddb24cee560512d776c29e8815",
      "parents": [
        "2d10d8737ccdba752d60106abbc6ed4f37404923"
      ],
      "author": {
        "name": "wu zhangjin",
        "email": "wuzhangjin@gmail.com",
        "time": "Sat Oct 30 08:19:35 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 30 08:19:35 2010 -0700"
      },
      "message": "fs/compat.c: fix build on MIPS/s390\n\nThe definition of PAGE_CACHE_MASK in \u003clinux/pagemap.h\u003e is needed to use\nMAX_RW_COUNT, and on x86-64 that gets done indirectly through the\narchitecture header includes.  But on MIPS and s390 that doesn\u0027t happen,\nand we need to make sure that fs/compat.c includes pagemap.h explicitly.\n\nIntroduced in commit 435f49a518c7 (\"readv/writev: do the same\nMAX_RW_COUNT truncation that read/write does\").\n\nReported-by: Sachin Sant \u003csachinp@in.ibm.com\u003e (S390)\nReported-by: wu zhangjin \u003cwuzhangjin@gmail.com\u003e (MIPS)\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "67577927e8d7a1f4b09b4992df640eadc6aacb36",
      "tree": "2e9efe6b5745965faf0dcc084d4613d9356263f9",
      "parents": [
        "6fe4c590313133ebd5dadb769031489ff178ece1",
        "51f00a471ce8f359627dd99aeac322947a0e491b"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Sat Oct 30 12:35:11 2010 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Sat Oct 30 12:35:11 2010 +0100"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git\n\nConflicts:\n\tdrivers/mtd/mtd_blkdevs.c\n\nMerge Grant\u0027s device-tree bits so that we can apply the subsequent fixes.\n\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "6418c96107a2b399848bb8cfc6e29f11ca74fb94",
      "tree": "38064798bde148760a7a3b555c0eb097bfd29fb2",
      "parents": [
        "4260f7c7516f4c209cf0ca34fda99cc9a0847772"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sat Oct 30 07:34:24 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sat Oct 30 07:34:24 2010 -0400"
      },
      "message": "Btrfs: deal with errors from updating the tree log\n\nDuring unlink we remove any references to the inode from\nthe tree log.  It can return -ENOENT and other errors,\nand this changes the unlink code to deal with it.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "51dfacdef38b1dd6fc58b03dd1725d517516b115",
      "tree": "71db75044a42f316c5956bb807f9846c14d12b16",
      "parents": [
        "117bf5fbdbdc7a5394e5718b3354238961c83067"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Oct 16 22:34:39 2010 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Oct 30 12:12:50 2010 +0200"
      },
      "message": "jbd2: Convert jbd2_slab_create_sem to mutex\n\njbd2_slab_create_sem is used as a mutex, so make it one.\n\n[ akpm muttered: We may as well make it local to\njbd2_journal_create_slab() also. ]\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ted Ts\u0027o \u003ctytso@mit.edu\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLKML-Reference: \u003calpine.LFD.2.00.1010162231480.2496@localhost6.localdomain6\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "117bf5fbdbdc7a5394e5718b3354238961c83067",
      "tree": "06a063f3a3b92bd1896a87ff14bdb0f8900dbf6f",
      "parents": [
        "18cb657ca1bafe635f368346a1676fb04c512edf"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Sep 07 14:32:56 2010 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Oct 30 10:12:03 2010 +0200"
      },
      "message": "hpfs: Convert sbi-\u003ehpfs_creation_de to mutex\n\nsbi-\u003ehpfs_creation_de is used as mutex so make it a mutex.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: linux-fsdevel@vger.kernel.org\nLKML-Reference: \u003c20100907125056.228874895@linutronix.de\u003e\n\n"
    },
    {
      "commit": "4260f7c7516f4c209cf0ca34fda99cc9a0847772",
      "tree": "7feb5ab81d074b17a7c5b12bcc019c2e1bb010e2",
      "parents": [
        "531cb13f1e417c060b54f979e1659ecd69bea650"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Oct 29 15:46:43 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 29 21:42:10 2010 -0400"
      },
      "message": "Btrfs: allow subvol deletion by unprivileged user with -o user_subvol_rm_allowed\n\nAdd a mount option user_subvol_rm_allowed that allows users to delete a\n(potentially non-empty!) subvol when they would otherwise we allowed to do\nan rmdir(2).  We duplicate the may_delete() checks from the core VFS code\nto implement identical security checks (minus the directory size check).\nWe additionally require that the user has write+exec permission on the\nsubvol root inode.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "531cb13f1e417c060b54f979e1659ecd69bea650",
      "tree": "6b421ac1ddf7cad271cd0c767f0c19e6c4f826df",
      "parents": [
        "72fd032e94240d001b1d22f2c1dfd2592b02e44e"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Oct 29 15:41:32 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 29 21:42:10 2010 -0400"
      },
      "message": "Btrfs: make SNAP_DESTROY async\n\nThere is no reason to force an immediate commit when deleting a snapshot.\nUsers have some expectation that space from a deleted snapshot be freed\nimmediately, but even if we do commit the reclaim is a background process.\n\nIf users _do_ want the deletion to be durable, they can call \u0027sync\u0027.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "72fd032e94240d001b1d22f2c1dfd2592b02e44e",
      "tree": "7671ea5585f79a8cecc9708e869aa37e24eb74de",
      "parents": [
        "462045928bda777c86919a396a42991fcf235378"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Oct 29 15:41:32 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 29 21:41:57 2010 -0400"
      },
      "message": "Btrfs: add SNAP_CREATE_ASYNC ioctl\n\nCreate a snap without waiting for it to commit to disk.  The ioctl is\nordered such that subsequent operations will not be contained by the\ncreated snapshot, and the commit is initiated, but the ioctl does not\nwait for the snapshot to commit to disk.\n\nWe return the specific transid to userspace so that an application can wait\nfor this specific snapshot creation to commit via the WAIT_SYNC ioctl.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "12462f2df4d10ea4f6d55b9d438ff788badec3f0",
      "tree": "7ef2335c9df9b9cb45aa64c9dfcf8819bdcdf06f",
      "parents": [
        "d2df40857fd57f02906e6ac1484d10cb7accbc86",
        "8747f954817212b4623f9067d4909cbde04b4d89"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 29 14:15:12 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 29 14:15:12 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6:\n  eCryptfs: Print mount_auth_tok_only param in ecryptfs_show_options\n  ecryptfs: added ecryptfs_mount_auth_tok_only mount parameter\n  ecryptfs: checking return code of ecryptfs_find_auth_tok_for_sig()\n  ecryptfs: release keys loaded in ecryptfs_keyring_auth_tok_for_sig()\n  eCryptfs: Clear LOOKUP_OPEN flag when creating lower file\n  ecryptfs: call vfs_setxattr() in ecryptfs_setxattr()\n"
    },
    {
      "commit": "462045928bda777c86919a396a42991fcf235378",
      "tree": "c2b12ff8e9ef1951b5960b853034bd4165578f99",
      "parents": [
        "bb9c12c945cbd1b0eaa1589546dde772ccabeeba"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Oct 29 15:41:32 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 29 15:41:32 2010 -0400"
      },
      "message": "Btrfs: add START_SYNC, WAIT_SYNC ioctls\n\nSTART_SYNC will start a sync/commit, but not wait for it to\ncomplete.  Any modification started after the ioctl returns is\nguaranteed not to be included in the commit.  If a non-NULL\npointer is passed, the transaction id will be returned to\nuserspace.\n\nWAIT_SYNC will wait for any in-progress commit to complete.  If a\ntransaction id is specified, the ioctl will block and then\nreturn (success) when the specified transaction has committed.\nIf it has already committed when we call the ioctl, it returns\nimmediately.  If the specified transaction doesn\u0027t exist, it\nreturns EINVAL.\n\nIf no transaction id is specified, WAIT_SYNC will wait for the\ncurrently committing transaction to finish it\u0027s commit to disk.\nIf there is no currently committing transaction, it returns\nsuccess.\n\nThese ioctls are useful for applications which want to impose an\nordering on when fs modifications reach disk, but do not want to\nwait for the full (slow) commit process to do so.\n\nPicky callers can take the transid returned by START_SYNC and\nfeed it to WAIT_SYNC, and be certain to wait only as long as\nnecessary for the transaction _they_ started to reach disk.\n\nSloppy callers can START_SYNC and WAIT_SYNC without a transid,\nand provided they didn\u0027t wait too long between the calls, they\nwill get the same result.  However, if a second commit starts\nbefore they call WAIT_SYNC, they may end up waiting longer for\nit to commit as well.  Even so, a START_SYNC+WAIT_SYNC still\nguarantees that any operation completed before the START_SYNC\nreaches disk.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "bb9c12c945cbd1b0eaa1589546dde772ccabeeba",
      "tree": "92f0bb01dce5125547c590d7c06b3e02d5c9d4fa",
      "parents": [
        "99d16cbcaf694c803a1b6bf7e851694ffe1d255d"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Oct 29 15:37:34 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 29 15:37:34 2010 -0400"
      },
      "message": "Btrfs: async transaction commit\n\nAdd support for an async transaction commit that is ordered such that any\nsubsequent operations will join the following transaction, but does not\nwait until the current commit is fully on disk.  This avoids much of the\nlatency associated with the btrfs_commit_transaction for callers concerned\nwith serialization and not safety.\n\nThe wait_for_unblock flag controls whether we wait for the \u0027middle\u0027 portion\nof commit_transaction to complete, which is necessary if the caller expects\nsome of the modifications contained in the commit to be available (this is\nthe case for subvol/snapshot creation).\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "99d16cbcaf694c803a1b6bf7e851694ffe1d255d",
      "tree": "dacf7f8eca75dc0d92566b5d3876f3efe8196e35",
      "parents": [
        "fccdae435c1b295cca546f23f6f43126a28ffac3"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Oct 29 15:37:34 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 29 15:37:34 2010 -0400"
      },
      "message": "Btrfs: fix deadlock in btrfs_commit_transaction\n\nWe calculate timeout (either 1 or MAX_SCHEDULE_TIMEOUT) based on whether\nnum_writers \u003e 1 or should_grow at the top of the loop.  Then, much much\nlater, we wait for that timeout if either num_writers or should_grow is\ntrue.  However, it\u0027s possible for a racing process (calling\nbtrfs_end_transaction()) to decrement num_writers such that we wait\nforever instead of for 1.\n\nFix this by deciding how long to wait when we wait.  Include a smp_mb()\nbefore checking if the waitqueue is active to ensure the num_writers\nis visible.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "fccdae435c1b295cca546f23f6f43126a28ffac3",
      "tree": "e5c84325114cd554c62e7e275e85596200b45d19",
      "parents": [
        "050006a753bab8ba05f2113cc57ba49398cd5521"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Oct 29 15:37:33 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 29 15:37:33 2010 -0400"
      },
      "message": "Btrfs: fix lockdep warning on clone ioctl\n\nI\u0027m no lockdep expert, but this appears to make the lockdep warning go\naway for the i_mutex locking in the clone ioctl.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "050006a753bab8ba05f2113cc57ba49398cd5521",
      "tree": "43b8bdc0ce9f76d2726096dbfbc72a04c141afa6",
      "parents": [
        "9a019196ecaa57780141ef5d1f0bb31050d6ed5b"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Oct 29 15:37:33 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 29 15:37:33 2010 -0400"
      },
      "message": "Btrfs: fix clone ioctl where range is adjacent to extent\n\nWe had an edge case issue where the requested range was just\nfollowing an existing extent. Instead of skipping to the next\nextent, we used the previous one which lead to having zero\nsized extents.\n\nSigned-off-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "9a019196ecaa57780141ef5d1f0bb31050d6ed5b",
      "tree": "abd838acff1d6407d2d91efeb38e76e53271aadb",
      "parents": [
        "d8e39c457bc1ca2a7304bc086c7b0f0c10854921"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Oct 29 15:37:33 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 29 15:37:33 2010 -0400"
      },
      "message": "Btrfs: fix delalloc checks in clone ioctl\n\nThe lookup_first_ordered_extent() was done on the wrong inode, and the\n-\u003edelalloc_bytes test was wrong, as the following\nbtrfs_wait_ordered_range() would only invoke a range write and wouldn\u0027t\nwrite the entire file data range. Also, a bad parameter was passed to\nbtrfs_wait_ordered_range().\n\nSigned-off-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "d8e39c457bc1ca2a7304bc086c7b0f0c10854921",
      "tree": "da2f37292b8021dfe90aa9803ee85f9f95acedf5",
      "parents": [
        "559af8211433b8c0b20e6c43c61409cb9c9c2996"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 29 15:17:41 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 29 15:17:41 2010 -0400"
      },
      "message": "Btrfs: drop unused variable in block_alloc_rsv\n\nThe alloc_target variable is not really used.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "559af8211433b8c0b20e6c43c61409cb9c9c2996",
      "tree": "702ebd4c4f5b610daa36f65d814a518356a9a46b",
      "parents": [
        "411fc6bcef54f828a5458f4730c68abdf13c6bf0"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Fri Oct 29 15:14:37 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 29 15:14:37 2010 -0400"
      },
      "message": "Btrfs: cleanup warnings from gcc 4.6 (nonbugs)\n\nThese are all the cases where a variable is set, but not read which are\nnot bugs as far as I can see, but simply leftovers.\n\nStill needs more review.\n\nFound by gcc 4.6\u0027s new warnings\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "411fc6bcef54f828a5458f4730c68abdf13c6bf0",
      "tree": "89b91cd7e0d7633e9d6e386e388bd0493165f66c",
      "parents": [
        "d0b678cb0a26783ab7238784f1e7e608e5caafa3"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Fri Oct 29 15:14:31 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 29 15:14:31 2010 -0400"
      },
      "message": "Btrfs: Fix variables set but not read (bugs found by gcc 4.6)\n\nThese are all the cases where a variable is set, but not\nread which are really bugs.\n\n- Couple of incorrect error handling fixed.\n- One incorrect use of a allocation policy\n- Some other things\n\nStill needs more review.\n\nFound by gcc 4.6\u0027s new warnings.\n\n[akpm@linux-foundation.org: fix build.  Might have been bitrot]\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "d0b678cb0a26783ab7238784f1e7e608e5caafa3",
      "tree": "a912b938a6558550960f6b07139bd119d86f89eb",
      "parents": [
        "2354d08fe9aeec3e451b85cb5387a6b28dbca0b1"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Fri Oct 29 15:14:23 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 29 15:14:23 2010 -0400"
      },
      "message": "Btrfs: Use ERR_CAST helpers\n\nUse ERR_CAST(x) rather than ERR_PTR(PTR_ERR(x)).  The former makes more\nclear what is the purpose of the operation, which otherwise looks like a\nno-op.\n\nThe semantic patch that makes this change is as follows:\n(http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@@\ntype T;\nT x;\nidentifier f;\n@@\n\nT f (...) { \u003c+...\n- ERR_PTR(PTR_ERR(x))\n+ x\n ...+\u003e }\n\n@@\nexpression x;\n@@\n\n- ERR_PTR(PTR_ERR(x))\n+ ERR_CAST(x)\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "2354d08fe9aeec3e451b85cb5387a6b28dbca0b1",
      "tree": "7a3f43dfac81fc54faf231400a4b871ca24bb031",
      "parents": [
        "18e503d695ff8ff9a43768555aa74575bf6b77f3"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Fri Oct 29 15:14:18 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 29 15:14:18 2010 -0400"
      },
      "message": "Btrfs: use memdup_user helpers\n\nUse memdup_user when user data is immediately copied into the\nallocated region.\n\nThe semantic patch that makes this change is as follows:\n(http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@@\nexpression from,to,size,flag;\nposition p;\nidentifier l1,l2;\n@@\n\n-  to \u003d \\(kmalloc@p\\|kzalloc@p\\)(size,flag);\n+  to \u003d memdup_user(from,size);\n   if (\n-      to\u003d\u003dNULL\n+      IS_ERR(to)\n                 || ...) {\n   \u003c+... when !\u003d goto l1;\n-  -ENOMEM\n+  PTR_ERR(to)\n   ...+\u003e\n   }\n-  if (copy_from_user(to, from, size) !\u003d 0) {\n-    \u003c+... when !\u003d goto l2;\n-    -EFAULT\n-    ...+\u003e\n-  }\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "b4020c1b198c0f0c0b0ff0cfdd824a26b93edd6f",
      "tree": "f2d0dcca7bae865606e90ffc2599c993da1a888f",
      "parents": [
        "435f49a518c78eec8e2edbbadd912737246cbe20",
        "d3686d54c7902a303bd65d751226aa1647319863"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 29 10:37:27 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 29 10:37:27 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: Cleanup and thus reduce smb session structure and fields used during authentication\n  NTLM auth and sign - Use appropriate server challenge\n  cifs: add kfree() on error path\n  NTLM auth and sign - minor error corrections and cleanup\n  NTLM auth and sign - Use kernel crypto apis to calculate hashes and smb signatures\n  NTLM auth and sign - Define crypto hash functions and create and send keys needed for key exchange\n  cifs: cifs_convert_address() returns zero on error\n  NTLM auth and sign - Allocate session key/client response dynamically\n  cifs: update comments - [s/GlobalSMBSesLock/cifs_file_list_lock/g]\n  cifs: eliminate cifsInodeInfo-\u003ewrite_behind_rc (try #6)\n  [CIFS] Fix checkpatch warnings and bump cifs version number\n  cifs: wait for writeback to complete in cifs_flush\n  cifs: convert cifsFileInfo-\u003ecount to non-atomic counter\n"
    },
    {
      "commit": "435f49a518c78eec8e2edbbadd912737246cbe20",
      "tree": "106df2617d42ace231e2fa9fcf1e0fd1075874ea",
      "parents": [
        "f56f44001cb5b40089deac094dbb74e5c9f64d81"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 29 10:36:49 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 29 10:36:49 2010 -0700"
      },
      "message": "readv/writev: do the same MAX_RW_COUNT truncation that read/write does\n\nWe used to protect against overflow, but rather than return an error, do\nwhat read/write does, namely to limit the total size to MAX_RW_COUNT.\nThis is not only more consistent, but it also means that any broken\nlow-level read/write routine that still keeps counts in \u0027int\u0027 can\u0027t\nbreak.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "162164f7e92da970666e7492fd58644f3c1f8574",
      "tree": "c69448e73d24bf83cd412c04d525eb541a84cdc0",
      "parents": [
        "d8d048f69a618c531575cb1f398a7186f0532ef2",
        "5f3b321da1aa5936c85ed6dec67358239a9d3cfd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 29 08:48:58 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 29 08:48:58 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus:\n  Squashfs: fix function prototype\n  Squashfs: fix use of __le64 annotated variable\n"
    },
    {
      "commit": "8747f954817212b4623f9067d4909cbde04b4d89",
      "tree": "d303bd72ad84fa11764813c018c1f38532aea0ae",
      "parents": [
        "f16feb5119a87f5e683be7e8916c060abfb0e8d6"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Fri Oct 15 16:43:41 2010 -0500"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Fri Oct 29 10:31:36 2010 -0500"
      },
      "message": "eCryptfs: Print mount_auth_tok_only param in ecryptfs_show_options\n\nWhen printing mount options, print the new ecryptfs_mount_auth_tok_only\nmount option.\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "f16feb5119a87f5e683be7e8916c060abfb0e8d6",
      "tree": "ed80e0f8d2d8c5b63c8b48e11da4eca0163bb9f4",
      "parents": [
        "39fac853a758306285404368fbe392408057b136"
      ],
      "author": {
        "name": "Roberto Sassu",
        "email": "roberto.sassu@polito.it",
        "time": "Wed Oct 06 18:31:32 2010 +0200"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Fri Oct 29 10:31:36 2010 -0500"
      },
      "message": "ecryptfs: added ecryptfs_mount_auth_tok_only mount parameter\n\nThis patch adds a new mount parameter \u0027ecryptfs_mount_auth_tok_only\u0027 to\nforce ecryptfs to use only authentication tokens which signature has\nbeen specified at mount time with parameters \u0027ecryptfs_sig\u0027 and\n\u0027ecryptfs_fnek_sig\u0027. In this way, after disabling the passthrough and\nthe encrypted view modes, it\u0027s possible to make available to users only\nfiles encrypted with the specified authentication token.\n\nSigned-off-by: Roberto Sassu \u003croberto.sassu@polito.it\u003e\nCc: Dustin Kirkland \u003ckirkland@canonical.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\n[Tyler: Clean up coding style errors found by checkpatch]\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "39fac853a758306285404368fbe392408057b136",
      "tree": "920cc8e2ed51b568c6c63d15dfa98931f5926d04",
      "parents": [
        "aee683b9e77e17237b0e146025c3d363c9203634"
      ],
      "author": {
        "name": "Roberto Sassu",
        "email": "roberto.sassu@polito.it",
        "time": "Wed Oct 06 18:31:15 2010 +0200"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Fri Oct 29 10:31:36 2010 -0500"
      },
      "message": "ecryptfs: checking return code of ecryptfs_find_auth_tok_for_sig()\n\nThis patch replaces the check of the \u0027matching_auth_tok\u0027 pointer with\nthe exit status of ecryptfs_find_auth_tok_for_sig().\nThis avoids to use authentication tokens obtained through the function\necryptfs_keyring_auth_tok_for_sig which are not valid.\n\nSigned-off-by: Roberto Sassu \u003croberto.sassu@polito.it\u003e\nCc: Dustin Kirkland \u003ckirkland@canonical.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "aee683b9e77e17237b0e146025c3d363c9203634",
      "tree": "79ec9b8a2ff2d2e433bbe7a6959a34aeb75c25b6",
      "parents": [
        "2e21b3f124eceb6ab5a07c8a061adce14ac94e14"
      ],
      "author": {
        "name": "Roberto Sassu",
        "email": "roberto.sassu@polito.it",
        "time": "Wed Oct 06 18:31:06 2010 +0200"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Fri Oct 29 10:31:35 2010 -0500"
      },
      "message": "ecryptfs: release keys loaded in ecryptfs_keyring_auth_tok_for_sig()\n\nThis patch allows keys requested in the function\necryptfs_keyring_auth_tok_for_sig()to be released when they are no\nlonger required. In particular keys are directly released in the same\nfunction if the obtained authentication token is not valid.\n\nFurther, a new function parameter \u0027auth_tok_key\u0027 has been added to\necryptfs_find_auth_tok_for_sig() in order to provide callers the key\npointer to be passed to key_put().\n\nSigned-off-by: Roberto Sassu \u003croberto.sassu@polito.it\u003e\nCc: Dustin Kirkland \u003ckirkland@canonical.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\n[Tyler: Initialize auth_tok_key to NULL in ecryptfs_parse_packet_set]\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "2e21b3f124eceb6ab5a07c8a061adce14ac94e14",
      "tree": "0997d7430d83a976b5e7ff0e2201032a45ccb759",
      "parents": [
        "48b512e6857139393cdfce26348c362b87537018"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Thu Sep 23 02:35:04 2010 -0500"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Fri Oct 29 10:31:35 2010 -0500"
      },
      "message": "eCryptfs: Clear LOOKUP_OPEN flag when creating lower file\n\neCryptfs was passing the LOOKUP_OPEN flag through to the lower file\nsystem, even though ecryptfs_create() doesn\u0027t support the flag. A valid\nfilp for the lower filesystem could be returned in the nameidata if the\nlower file system\u0027s create() function supported LOOKUP_OPEN, possibly\nresulting in unencrypted writes to the lower file.\n\nHowever, this is only a potential problem in filesystems (FUSE, NFS,\nCIFS, CEPH, 9p) that eCryptfs isn\u0027t known to support today.\n\nhttps://bugs.launchpad.net/ecryptfs/+bug/641703\n\nReported-by: Kevin Buhr\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "48b512e6857139393cdfce26348c362b87537018",
      "tree": "9ea39b5232052cbcd8d675058d3d7ab735b3a4f7",
      "parents": [
        "f6f94e2ab1b33f0082ac22d71f66385a60d8157f"
      ],
      "author": {
        "name": "Roberto Sassu",
        "email": "roberto.sassu@polito.it",
        "time": "Tue Oct 05 18:53:45 2010 +0200"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Fri Oct 29 10:31:35 2010 -0500"
      },
      "message": "ecryptfs: call vfs_setxattr() in ecryptfs_setxattr()\n\nEcryptfs is a stackable filesystem which relies on lower filesystems the\nability of setting/getting extended attributes.\n\nIf there is a security module enabled on the system it updates the\n\u0027security\u0027 field of inodes according to the owned extended attribute set\nwith the function vfs_setxattr().  When this function is performed on a\necryptfs filesystem the \u0027security\u0027 field is not updated for the lower\nfilesystem since the call security_inode_post_setxattr() is missing for\nthe lower inode.\nFurther, the call security_inode_setxattr() is missing for the lower inode,\nleading to policy violations in the security module because specific\nchecks for this hook are not performed (i. e. filesystem\n\u0027associate\u0027 permission on SELinux is not checked for the lower filesystem).\n\nThis patch replaces the call of the setxattr() method of the lower inode\nin the function ecryptfs_setxattr() with vfs_setxattr().\n\nSigned-off-by: Roberto Sassu \u003croberto.sassu@polito.it\u003e\nCc: stable \u003cstable@kernel.org\u003e\nCc: Dustin Kirkland \u003ckirkland@canonical.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "18e503d695ff8ff9a43768555aa74575bf6b77f3",
      "tree": "c17c34762dcf9988e9739ae0cdf5628885bf8828",
      "parents": [
        "19fe0a8b787d7c7f9318975b5a8c6e7e5e54e925"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Oct 28 15:30:42 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 29 11:25:46 2010 -0400"
      },
      "message": "Btrfs: fix raid code for removing missing drives\n\nWhen btrfs is mounted in degraded mode, it has some internal structures\nto track the missing devices.  This missing device is setup as readonly,\nbut the mapping code can get upset when we try to write to it.\n\nThis changes the mapping code to return -EIO instead of oops when we try\nto write to the readonly device.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "19fe0a8b787d7c7f9318975b5a8c6e7e5e54e925",
      "tree": "78aea56ede5735ae3183f2c4b846773b8fd8155b",
      "parents": [
        "897ca6e9b4fef86d5dfb6b31fd9f592ce6a47a42"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Tue Oct 26 20:57:29 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 29 11:25:45 2010 -0400"
      },
      "message": "Btrfs: Switch the extent buffer rbtree into a radix tree\n\nThis patch reduces the CPU time spent in the extent buffer search by using the\nradix tree instead of the rbtree and using the rcu lock instead of the spin\nlock.\n\nI did a quick test by the benchmark tool[1] and found the patch improve the\nfile creation/deletion performance problem that I have reported[2].\n\nBefore applying this patch:\nCreate files:\n\tTotal files: 50000\n\tTotal time: 0.971531\n\tAverage time: 0.000019\nDelete files:\n\tTotal files: 50000\n\tTotal time: 1.366761\n\tAverage time: 0.000027\n\nAfter applying this patch:\nCreate files:\n\tTotal files: 50000\n\tTotal time: 0.927455\n\tAverage time: 0.000019\nDelete files:\n\tTotal files: 50000\n\tTotal time: 1.292280\n\tAverage time: 0.000026\n\n[1] http://marc.info/?l\u003dlinux-btrfs\u0026m\u003d128212635122920\u0026q\u003dp3\n[2] http://marc.info/?l\u003dlinux-btrfs\u0026m\u003d128212635122920\u0026w\u003d2\n\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "897ca6e9b4fef86d5dfb6b31fd9f592ce6a47a42",
      "tree": "8cb79f54090e84290122652aa9fbd1c51c642526",
      "parents": [
        "bf9022e06af553553bc8f4e21ce36147ca6eae68"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Tue Oct 26 20:57:29 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 29 11:25:45 2010 -0400"
      },
      "message": "Btrfs: restructure try_release_extent_buffer()\n\nrestructure try_release_extent_buffer() and write a function to release the\nextent buffer. It will be used later.\n\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "bf9022e06af553553bc8f4e21ce36147ca6eae68",
      "tree": "e33d9a25fc5ec8e03c1f0d5a4775c865e0520811",
      "parents": [
        "e5bc2458293b2af6c0b94435965c68cc70974b56"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Oct 26 13:40:45 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 29 11:25:36 2010 -0400"
      },
      "message": "Btrfs: use the flusher threads for delalloc throttling\n\nWe have a fairly complex set of loops around walking our list of\ndelalloc inodes when we find metadata delalloc space running low.\nIt doesn\u0027t work very well, can use large amounts of CPU and doesn\u0027t\ndo very efficient writeback.\n\nThis switches us to kick the bdi flusher threads instead.  All dirty\ndata in btrfs is accounted as delalloc data, so this is very similar\nin terms of what it writes, but we\u0027re able to just kick off the IO\nand wait for progress.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "e5bc2458293b2af6c0b94435965c68cc70974b56",
      "tree": "d4b79f61f2ff236b080583345b4dfd617b0fca07",
      "parents": [
        "3259f8bed2f0f57c2fdcdac1b510c3fa319ef97e"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Oct 26 13:37:56 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 29 11:25:35 2010 -0400"
      },
      "message": "Btrfs: tune the chunk allocation to 5% of the FS as metadata\n\nAn earlier commit tried to keep us from allocating too many\nempty metadata chunks.  It was somewhat too restrictive and could\nlead to ENOSPC errors on empty filesystems.\n\nThis increases the limits to about 5% of the FS size, allowing more\nmetadata chunks to be preallocated.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "3259f8bed2f0f57c2fdcdac1b510c3fa319ef97e",
      "tree": "5f06f6c83413ca2fc7aec85ba0811a8c91904097",
      "parents": [
        "cb44921a09221f0a90217b44044448f63190f3e5"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 29 11:16:17 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 29 11:25:29 2010 -0400"
      },
      "message": "Add new functions for triggering inode writeback\n\nWhen btrfs is running low on metadata space, it needs to force delayed\nallocation pages to disk.  It currently does this with a suboptimal walk\nof a private list of inodes with delayed allocation, and it would be\nmuch better if we used the generic flusher threads.\n\nwriteback_inodes_sb_if_idle would be ideal, but it waits for the flusher\nthread to start IO on all the dirty pages in the FS before it returns.\nThis adds variants of writeback_inodes_sb* that allow the caller to\ncontrol how many pages get sent down.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "cb44921a09221f0a90217b44044448f63190f3e5",
      "tree": "5580522b6db6868c02d3072320e338442272cb2b",
      "parents": [
        "6b5b817f103450444f3f658a498f435d92a197e5"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Oct 24 11:01:27 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 29 09:31:30 2010 -0400"
      },
      "message": "Btrfs: don\u0027t loop forever on bad btree blocks\n\nWhen btrfs discovers the generation number in a btree block is\nincorrect, it can loop forever without forcing the RAID\ncode to try a valid mirror, and without returning EIO.\n\nThis changes things to properly kick out the EIO.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "6b5b817f103450444f3f658a498f435d92a197e5",
      "tree": "2896588127c4dd6c2867ef09e7e3cdd83391f8ae",
      "parents": [
        "8216ef866df1119fd5a72372b8b29bce49c18590",
        "e9bb7f10d3617304ef94ff7aa8fefbce3078f08b"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 29 09:27:49 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 29 09:27:49 2010 -0400"
      },
      "message": "Merge branch \u0027bug-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/josef/btrfs-work\n\nConflicts:\n\tfs/btrfs/extent-tree.c\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "8216ef866df1119fd5a72372b8b29bce49c18590",
      "tree": "8536ec3e5a308639eeef15ac7d6cb55b655fa0fb",
      "parents": [
        "88c2ba3b069f1e0f4694124d02985fa7620a19f1"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Thu Oct 28 16:55:47 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 29 09:26:37 2010 -0400"
      },
      "message": "Btrfs: let the user know space caching is enabled\n\nIf you mount -o space_cache, the option will be persistent across mounts, but to\nmake sure the user knows that they did this, emit a message telling them if they\ndidn\u0027t mount with -o space_cache but the feature is still used.\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\n"
    },
    {
      "commit": "88c2ba3b069f1e0f4694124d02985fa7620a19f1",
      "tree": "e41859aca299e14e2658d75e2bf1ef2aea9ab077",
      "parents": [
        "67377734fd24c32cbdfeb697c2e2bd7fed519e75"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Tue Sep 21 14:21:34 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 29 09:26:36 2010 -0400"
      },
      "message": "Btrfs: Add a clear_cache mount option\n\nIf something goes wrong with the free space cache we need a way to make sure\nit\u0027s not loaded on mount and that it\u0027s cleared for everybody.  When you pass the\nclear_cache option it will make it so all block groups are setup to be cleared,\nwhich keeps them from being loaded and then they will be truncated when the\ntransaction is committed.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\n"
    },
    {
      "commit": "67377734fd24c32cbdfeb697c2e2bd7fed519e75",
      "tree": "5b295333ab943d24b190bd3fef2486dfffa7de47",
      "parents": [
        "dde5abee12327d59f968bbfc8151e1b04082a2c4"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Thu Sep 16 16:19:09 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 29 09:26:36 2010 -0400"
      },
      "message": "Btrfs: add support for mixed data+metadata block groups\n\nThere are just a few things that need to be fixed in the kernel to support mixed\ndata+metadata block groups.  Mostly we just need to make sure that if we are\nusing mixed block groups that we continue to allocate mixed block groups as we\nneed them.  Also we need to make sure __find_space_info will find our space info\nif we search for DATA or METADATA only.  Tested this with xfstests and it works\nnicely.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\n"
    },
    {
      "commit": "dde5abee12327d59f968bbfc8151e1b04082a2c4",
      "tree": "eba52b161a83f77c902ecb365ad661d317499717",
      "parents": [
        "9d66e233c7042da27ec699453770f41e567a0442"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Thu Sep 16 16:17:03 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 29 09:26:35 2010 -0400"
      },
      "message": "Btrfs: check cache-\u003ecaching_ctl before returning if caching has started\n\nWith the free space disk caching we can mark the block group as started with the\ncaching, but we don\u0027t have a caching ctl.  This can race with anybody else who\ntries to get the caching ctl before we cache (this is very hard to do btw).  So\ninstead check to see if cache-\u003ecaching_ctl is set, and if not return NULL.\nThanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\n"
    },
    {
      "commit": "9d66e233c7042da27ec699453770f41e567a0442",
      "tree": "27fd70c6c07cb96a48123bdec07e9c2feed90f13",
      "parents": [
        "0cb59c9953171e9adf6da8142a5c85ceb77bb60d"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Wed Aug 25 16:54:15 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 29 09:26:35 2010 -0400"
      },
      "message": "Btrfs: load free space cache if it exists\n\nThis patch actually loads the free space cache if it exists.  The only thing\nthat really changes here is that we need to cache the block group if we\u0027re going\nto remove an extent from it.  Previously we did not do this since the caching\nkthread would pick it up.  With the on disk cache we don\u0027t have this luxury so\nwe need to make sure we read the on disk cache in first, and then remove the\nextent, that way when the extent is unpinned the free space is added to the\nblock group.  This has been tested with all sorts of things.\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\n"
    },
    {
      "commit": "0cb59c9953171e9adf6da8142a5c85ceb77bb60d",
      "tree": "f72af47fa18815491814290a1b4907082bd9316d",
      "parents": [
        "0af3d00bad38d3bb9912a60928ad0669f17bdb76"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Fri Jul 02 12:14:14 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 29 09:26:29 2010 -0400"
      },
      "message": "Btrfs: write out free space cache\n\nThis is a simple bit, just dump the free space cache out to our preallocated\ninode when we\u0027re writing out dirty block groups.  There are a bunch of changes\nin inode.c in order to account for special cases.  Mostly when we\u0027re doing the\nwriteout we\u0027re holding trans_mutex, so we need to use the nolock transacation\nfunctions.  Also we can\u0027t do asynchronous completions since the async thread\ncould be blocked on already completed IO waiting for the transaction lock.  This\nhas been tested with xfstests and btrfs filesystem balance, as well as my ENOSPC\ntests.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\n"
    }
  ],
  "next": "a4cdbd8bfb87ceff455aae85727077889b75001b"
}
