)]}'
{
  "log": [
    {
      "commit": "939a9421eb53d3ea83188ae13802779041caefdb",
      "tree": "e782e64e6e3e545a4b7c8ab108b2fcf8d01aa952",
      "parents": [
        "bc6a6008e5e3c7a30191a7f19ab19e85b14b1705"
      ],
      "author": {
        "name": "Amerigo Wang",
        "email": "amwang@redhat.com",
        "time": "Thu Aug 20 19:29:03 2009 -0700"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Aug 21 14:25:48 2009 +1000"
      },
      "message": "vfs: allow file truncations when both suid and write permissions set\n\nWhen suid is set and the non-owner user has write permission, any writing\ninto this file should be allowed and suid should be removed after that.\n\nHowever, current kernel only allows writing without truncations, when we\ndo truncations on that file, we get EPERM.  This is a bug.\n\nSteps to reproduce this bug:\n\n% ls -l rootdir/file1\n-rwsrwsrwx 1 root root 3 Jun 25 15:42 rootdir/file1\n% echo h \u003e rootdir/file1\nzsh: operation not permitted: rootdir/file1\n% ls -l rootdir/file1\n-rwsrwsrwx 1 root root 3 Jun 25 15:42 rootdir/file1\n% echo h \u003e\u003e rootdir/file1\n% ls -l rootdir/file1\n-rwxrwxrwx 1 root root 5 Jun 25 16:34 rootdir/file1\n\nSigned-off-by: WANG Cong \u003camwang@redhat.com\u003e\nCc: Eric Sandeen \u003cesandeen@redhat.com\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nCc: Eugene Teo \u003ceteo@redhat.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "ece13879e74313e62109e0755dd3d4f172df89e2",
      "tree": "1fe96ab392c1ff203a6fb3f67ed0ed577056572e",
      "parents": [
        "b08dc3eba0c34027010caeda258f495074ae3a54",
        "6c30c53fd5ae6a99a23ad78e90c428d2c8ffb07f"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Aug 20 09:18:42 2009 +1000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Aug 20 09:18:42 2009 +1000"
      },
      "message": "Merge branch \u0027master\u0027 into next\n\nConflicts:\n\tsecurity/Kconfig\n\nManual fix.\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "6c30c53fd5ae6a99a23ad78e90c428d2c8ffb07f",
      "tree": "b840fbfc5453d307ff9211f0b0e5015dc9e5a345",
      "parents": [
        "0dc9aa845c20ed1f46c85f229591b811dffc4b3b",
        "a924586036833086b262a371b09d1266c23bb4d1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 19 10:40:24 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 19 10:40:24 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2:\n  nilfs2: fix oopses with doubly mounted snapshots\n  nilfs2: missing a read lock for segment writer in nilfs_attach_checkpoint()\n"
    },
    {
      "commit": "0753ba01e126020bf0f8150934903b48935b697d",
      "tree": "fbfd7e2d0abbe724a8c5e0e17fb9af522ed2e097",
      "parents": [
        "89a4eb4b66e8f4d395e14a14d262dac4d6ca52f0"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Tue Aug 18 14:11:10 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 18 16:31:13 2009 -0700"
      },
      "message": "mm: revert \"oom: move oom_adj value\"\n\nThe commit 2ff05b2b (oom: move oom_adj value) moveed the oom_adj value to\nthe mm_struct.  It was a very good first step for sanitize OOM.\n\nHowever Paul Menage reported the commit makes regression to his job\nscheduler.  Current OOM logic can kill OOM_DISABLED process.\n\nWhy? His program has the code of similar to the following.\n\n\t...\n\tset_oom_adj(OOM_DISABLE); /* The job scheduler never killed by oom */\n\t...\n\tif (vfork() \u003d\u003d 0) {\n\t\tset_oom_adj(0); /* Invoked child can be killed */\n\t\texecve(\"foo-bar-cmd\");\n\t}\n\t....\n\nvfork() parent and child are shared the same mm_struct.  then above\nset_oom_adj(0) doesn\u0027t only change oom_adj for vfork() child, it\u0027s also\nchange oom_adj for vfork() parent.  Then, vfork() parent (job scheduler)\nlost OOM immune and it was killed.\n\nActually, fork-setting-exec idiom is very frequently used in userland program.\nWe must not break this assumption.\n\nThen, this patch revert commit 2ff05b2b and related commit.\n\nReverted commit list\n---------------------\n- commit 2ff05b2b4e (oom: move oom_adj value from task_struct to mm_struct)\n- commit 4d8b9135c3 (oom: avoid unnecessary mm locking and scanning for OOM_DISABLE)\n- commit 8123681022 (oom: only oom kill exiting tasks with attached memory)\n- commit 933b787b57 (mm: copy over oom_adj value at fork time)\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "89a4eb4b66e8f4d395e14a14d262dac4d6ca52f0",
      "tree": "e8dfb8f3c70700c44a3a56f87541d45c86eec3f7",
      "parents": [
        "6b6f0b6c131321e1bc34c47b7f671b0360315402"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Aug 18 14:11:08 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 18 16:31:12 2009 -0700"
      },
      "message": "vfs: make get_sb_pseudo set s_maxbytes to value that can be cast to signed\n\nget_sb_pseudo sets s_maxbytes to ~0ULL which becomes negative when cast\nto a signed value.  Fix it to use MAX_LFS_FILESIZE which casts properly\nto a positive signed value.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: Steve French \u003csmfrench@gmail.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Robert Love \u003crlove@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a924586036833086b262a371b09d1266c23bb4d1",
      "tree": "d8fb67221f6614c00e9a645eb98e79f015ec81f2",
      "parents": [
        "1154ecbd2f8298ef75609f5f8ed5aca96be599fb"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Wed Aug 19 00:29:43 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Wed Aug 19 02:10:13 2009 +0900"
      },
      "message": "nilfs2: fix oopses with doubly mounted snapshots\n\nwill fix kernel oopses like the following:\n\n # mount -t nilfs2 -r -o cp\u003d20 /dev/sdb1 /test1\n # mount -t nilfs2 -r -o cp\u003d20 /dev/sdb1 /test2\n # umount /test1\n # umount /test2\n\nBUG: sleeping function called from invalid context at arch/x86/mm/fault.c:1069\nin_atomic(): 0, irqs_disabled(): 1, pid: 3886, name: umount.nilfs2\n1 lock held by umount.nilfs2/3886:\n #0:  (\u0026type-\u003es_umount_key#31){+.+...}, at: [\u003cc10b398a\u003e] deactivate_super+0x52/0x6c\nirq event stamp: 1219\nhardirqs last  enabled at (1219): [\u003cc135c774\u003e] __mutex_unlock_slowpath+0xf8/0x119\nhardirqs last disabled at (1218): [\u003cc135c6d5\u003e] __mutex_unlock_slowpath+0x59/0x119\nsoftirqs last  enabled at (1214): [\u003cc1033316\u003e] __do_softirq+0x1a5/0x1ad\nsoftirqs last disabled at (1205): [\u003cc1033354\u003e] do_softirq+0x36/0x5a\nPid: 3886, comm: umount.nilfs2 Not tainted 2.6.31-rc6 #55\nCall Trace:\n [\u003cc1023549\u003e] __might_sleep+0x107/0x10e\n [\u003cc13603c0\u003e] do_page_fault+0x246/0x397\n [\u003cc136017a\u003e] ? do_page_fault+0x0/0x397\n [\u003cc135e753\u003e] error_code+0x6b/0x70\n [\u003cc136017a\u003e] ? do_page_fault+0x0/0x397\n [\u003cc104f805\u003e] ? __lock_acquire+0x91/0x12fd\n [\u003cc1050a62\u003e] ? __lock_acquire+0x12ee/0x12fd\n [\u003cc1050a62\u003e] ? __lock_acquire+0x12ee/0x12fd\n [\u003cc1050b2b\u003e] lock_acquire+0xba/0xdd\n [\u003cd0d17d3f\u003e] ? nilfs_detach_segment_constructor+0x2f/0x2fa [nilfs2]\n [\u003cc135d4fe\u003e] down_write+0x2a/0x46\n [\u003cd0d17d3f\u003e] ? nilfs_detach_segment_constructor+0x2f/0x2fa [nilfs2]\n [\u003cd0d17d3f\u003e] nilfs_detach_segment_constructor+0x2f/0x2fa [nilfs2]\n [\u003cc104ea2c\u003e] ? mark_held_locks+0x43/0x5b\n [\u003cc104ecb1\u003e] ? trace_hardirqs_on_caller+0x10b/0x133\n [\u003cc104ece4\u003e] ? trace_hardirqs_on+0xb/0xd\n [\u003cd0d09ac1\u003e] nilfs_put_super+0x2f/0xca [nilfs2]\n [\u003cc10b3352\u003e] generic_shutdown_super+0x49/0xb8\n [\u003cc10b33de\u003e] kill_block_super+0x1d/0x31\n [\u003cc10e6599\u003e] ? vfs_quota_off+0x0/0x12\n [\u003cc10b398f\u003e] deactivate_super+0x57/0x6c\n [\u003cc10c4bc3\u003e] mntput_no_expire+0x8c/0xb4\n [\u003cc10c5094\u003e] sys_umount+0x27f/0x2a4\n [\u003cc10c50c6\u003e] sys_oldumount+0xd/0xf\n [\u003cc10031a4\u003e] sysenter_do_call+0x12/0x38\n ...\n\nThis turns out to be a bug brought by an -rc1 patch (\"nilfs2: simplify\nremaining sget() use\").\n\nIn the patch, a new \"put resource\" function, nilfs_put_sbinfo()\nwas introduced to delay freeing nilfs_sb_info struct.\n\nBut the nilfs_put_sbinfo() mistakenly used atomic_dec_and_test()\nfunction to check the reference count, and it caused the nilfs_sb_info\nwas freed when user mounted a snapshot twice.\n\nThis bug also suggests there was unseen memory leak in usual mount\n/umount operations for nilfs.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "1154ecbd2f8298ef75609f5f8ed5aca96be599fb",
      "tree": "a6801fc442fecf4c0b2a1dc1d7a5350910983041",
      "parents": [
        "64f1607ffbbc772685733ea63e6f7f4183df1b16"
      ],
      "author": {
        "name": "Zhang Qiang",
        "email": "zhangqiang.buaa@gmail.com",
        "time": "Tue Aug 18 14:58:24 2009 +0800"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Tue Aug 18 17:32:27 2009 +0900"
      },
      "message": "nilfs2: missing a read lock for segment writer in nilfs_attach_checkpoint()\n\n\u0027ns_cno\u0027 of structure \u0027the_nilfs\u0027 must be protected from segment\nwriter, in other words, the caller of nilfs_get_checkpoint should hold\nread lock for nilfs-\u003ens_segctor_sem.  This patch adds the lock/unlock\noperations in nilfs_attach_checkpoint() when calling\nnilfs_cpfile_get_checkpoint().\n\nSigned-off-by: Zhang Qiang \u003czhangqiang.buaa@gmail.com\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "c58afec8b2576b121eced7b94eb94eaf4626bacc",
      "tree": "092290136ab7cba84b8a6a5f53e2a73b9ef8318f",
      "parents": [
        "52dec22e739eec8f3a0154f768a599f5489048bd",
        "bc990f5cb424cdca9dda866785d088e2c2110ecc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 17 13:39:30 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 17 13:39:30 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs:\n  xfs: fix locking in xfs_iget_cache_hit\n"
    },
    {
      "commit": "08e53fcb0db34baca3db84a457b6d67faabee4c6",
      "tree": "c9c112a0aa290895a416b5bfc3f58aa328bc74e8",
      "parents": [
        "cd94c8bbef8d4b796a7ed4c551355a334604fd36"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Sun Aug 16 21:51:55 2009 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 17 13:37:37 2009 -0700"
      },
      "message": "inotify: start watch descriptor count at 1\n\nThe inotify_add_watch man page specifies that inotify_add_watch() will\nreturn a non-negative integer.  However, historically the inotify\nwatches started at 1, not at 0.\n\nTurns out that the inotifywait program provided by the inotify-tools\npackage doesn\u0027t properly handle a 0 watch descriptor.  In 7e790dd5 we\nchanged from starting at 1 to starting at 0.  This patch starts at 1,\njust like in previous kernels, but also just like in previous kernels\nit\u0027s possible for it to wrap back to 0.  This preserves the kernel\nfunctionality exactly like it was before the patch (neither method broke\nthe spec)\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cd94c8bbef8d4b796a7ed4c551355a334604fd36",
      "tree": "ac448f253eb01a7fd1872daa15938b5d72fee796",
      "parents": [
        "eef3a116be11d35396efb2a8cc7345fd3221e294"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Sun Aug 16 21:51:49 2009 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 17 13:37:37 2009 -0700"
      },
      "message": "inotify: tail drop inotify q_overflow events\n\nIn f44aebcc the tail drop logic of events with no file backing\n(q_overflow and in_ignored) was reversed so IN_IGNORED events would\nnever be tail dropped.  This now means that Q_OVERFLOW events are NOT\ntail dropped.  The fix is to not tail drop IN_IGNORED, but to tail drop\nQ_OVERFLOW.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eef3a116be11d35396efb2a8cc7345fd3221e294",
      "tree": "2a5d0b36dd5985f29eac43f51b03e610e40b7c9b",
      "parents": [
        "0f66f96d21b4bbff49baaa337546e687d7c58e87"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Sun Aug 16 21:51:44 2009 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 17 13:37:37 2009 -0700"
      },
      "message": "notify: unused event private race\n\ninotify decides if private data it passed to get added to an event was\nused by checking list_empty().  But it\u0027s possible that the event may\nhave been dequeued and the private event removed so it would look empty.\n\nThe fix is to use the return code from fsnotify_add_notify_event rather\nthan looking at the list.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bc990f5cb424cdca9dda866785d088e2c2110ecc",
      "tree": "4264beb9538533d136e41f0e93933160fe925008",
      "parents": [
        "894ef820b10d77e2d6d717342fc408bdd9825139"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sun Aug 16 20:36:34 2009 -0400"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Mon Aug 17 01:23:48 2009 -0500"
      },
      "message": "xfs: fix locking in xfs_iget_cache_hit\n\nThe locking in xfs_iget_cache_hit currently has numerous problems:\n\n - we clear the reclaim tag without i_flags_lock which protects\n   modifications to it\n - we call inode_init_always which can sleep with pag_ici_lock\n   held (this is oss.sgi.com BZ #819)\n - we acquire and drop i_flags_lock a lot and thus provide no\n   consistency between the various flags we set/clear under it\n\nThis patch fixes all that with a major revamp of the locking in\nthe function.  The new version acquires i_flags_lock early and\nonly drops it once we need to call into inode_init_always or before\ncalling xfs_ilock.\n\nThis patch fixes a bug seen in the wild where we race modifying the\nreclaim tag.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "b2add73dbf93fd50f00564d7abc3e2b9aa9dd20c",
      "tree": "c9da78bdbdcfb29d5fc1ac3a967d75911fc5d6b4",
      "parents": [
        "5d12dc1fd6b0ba31d3166e42ed01996df6dad34e"
      ],
      "author": {
        "name": "Guillaume Knispel",
        "email": "gknispel@proformatique.com",
        "time": "Sat Aug 15 19:30:24 2009 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 15 18:40:11 2009 -0700"
      },
      "message": "poll/select: initialize triggered field of struct poll_wqueues\n\nThe triggered field of struct poll_wqueues introduced in commit\n5f820f648c92a5ecc771a96b3c29aa6e90013bba (\"poll: allow f_op-\u003epoll to\nsleep\").\n\nIt was first set to 1 in pollwake() (now __pollwake() ), tested and\nlater set to 0 in poll_schedule_timeout(), but not initialized before.\n\nAs a result when the process needs to sleep, triggered was likely to be\nnon-zero even if pollwake() is not called before the first\npoll_schedule_timeout(), meaning schedule_hrtimeout_range() would not be\ncalled and an extra loop calling all -\u003epoll() would be done.\n\nThis patch initialize triggered to 0 in poll_initwait() so the -\u003epoll()\nare not called twice before the process goes to sleep when it needs to.\n\nSigned-off-by: Guillaume Knispel \u003cgknispel@proformatique.com\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d7e623da1a757fbd8c117fa29190ca8bef14dab3",
      "tree": "96fd46643f1b381a6985da15ea984a9e1f66e8f5",
      "parents": [
        "64f1607ffbbc772685733ea63e6f7f4183df1b16"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Aug 11 11:20:11 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Aug 14 14:04:46 2009 +0100"
      },
      "message": "GFS2: Fix permissions on \"recover\" file\n\nAlthough this file is only ever written and not read by\nuserspace, it seems that the utils are opening this\nfile O_RDWR, so we need to allow that.\n\nAlso fixes the whitespace which seemed to be broken.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "bc7af9ba154f648598bf92b391e446e31b09330a",
      "tree": "01f1e0c9f7410c059e91ba9f7a5727fbeb25dd8b",
      "parents": [
        "d58d2d1adec90e7bc0c56e09b3ac0e9a5a471e68",
        "b409d7a0ab46fe530efe52734984b4ed5d46c3eb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 13 11:17:40 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 13 11:17:40 2009 -0700"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2: (22 commits)\n  ocfs2: Fix possible deadlock when extending quota file\n  ocfs2: keep index within status_map[]\n  ocfs2: Initialize the cluster we\u0027re writing to in a non-sparse extend\n  ocfs2: Remove redundant BUG_ON in __dlm_queue_ast()\n  ocfs2/quota: Release lock for error in ocfs2_quota_write.\n  ocfs2: Define credit counts for quota operations\n  ocfs2: Remove syncjiff field from quota info\n  ocfs2: Fix initialization of blockcheck stats\n  ocfs2: Zero out padding of on disk dquot structure\n  ocfs2: Initialize blocks allocated to local quota file\n  ocfs2: Mark buffer uptodate before calling ocfs2_journal_access_dq()\n  ocfs2: Make global quota files blocksize aligned\n  ocfs2: Use ocfs2_rec_clusters in ocfs2_adjust_adjacent_records.\n  ocfs2: Fix deadlock on umount\n  ocfs2: Add extra credits and access the modified bh in update_edge_lengths.\n  ocfs2: Fail ocfs2_get_block() immediately when a block needs allocation\n  ocfs2: Fix error return in ocfs2_write_cluster()\n  ocfs2: Fix compilation warning for fs/ocfs2/xattr.c\n  ocfs2: Initialize count in aio_write before generic_write_checks\n  ocfs2: log the actual return value of ocfs2_file_aio_write()\n  ...\n"
    },
    {
      "commit": "78efd1ddd95d2fac1ed8d5fadd9dab885ea70e55",
      "tree": "c1f6fc2afe93250f7dd5e37f3ee1f57281b19bf0",
      "parents": [
        "b637dc0dba6a243da2c74f5d02b42ba5eeb9425e",
        "a8914f3a6d72c97328597a556a99daaf5cc288ae"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 12 08:49:35 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 12 08:49:35 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs:\n  xfs: fix spin_is_locked assert on uni-processor builds\n  xfs: check for dinode realtime flag corruption\n  use XFS_CORRUPTION_ERROR in xfs_btree_check_sblock\n  xfs: switch to NOFS allocation under i_lock in xfs_attr_rmtval_get\n  xfs: switch to NOFS allocation under i_lock in xfs_readlink_bmap\n  xfs: switch to NOFS allocation under i_lock in xfs_attr_rmtval_set\n  xfs: switch to NOFS allocation under i_lock in xfs_buf_associate_memory\n  xfs: switch to NOFS allocation under i_lock in xfs_dir_cilookup_result\n  xfs: switch to NOFS allocation under i_lock in xfs_da_buf_make\n  xfs: switch to NOFS allocation under i_lock in xfs_da_state_alloc\n  xfs: switch to NOFS allocation under i_lock in xfs_getbmap\n  xfs: avoid memory allocation under m_peraglock in growfs code\n"
    },
    {
      "commit": "1ae88b2e446261c038f2c0c3150ffae142b227a2",
      "tree": "b3c9c11e4391c59086308e2674661688db5b12f5",
      "parents": [
        "7cb7beb31aa3d941833b6a6e553687422c31e4b6"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Aug 12 09:12:30 2009 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 12 08:21:39 2009 -0700"
      },
      "message": "NFS: Fix an O_DIRECT Oops...\n\nWe can\u0027t call nfs_readdata_release()/nfs_writedata_release() without\nfirst initialising and referencing args.context. Doing so inside\nnfs_direct_read_schedule_segment()/nfs_direct_write_schedule_segment()\ncauses an Oops.\n\nWe should rather be calling nfs_readdata_free()/nfs_writedata_free() in\nthose cases.\n\nLooking at the O_DIRECT code, the \"struct nfs_direct_req\" is already\nreferencing the nfs_open_context for us. Since the readdata and writedata\nstructures carry a reference to that, we can simplify things by getting rid\nof the extra nfs_open_context references, so that we can replace all\ninstances of nfs_readdata_release()/nfs_writedata_release().\n\nReported-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nTested-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a8914f3a6d72c97328597a556a99daaf5cc288ae",
      "tree": "95f569b102f56dfa70cfb8019ef63be8ee828fc1",
      "parents": [
        "b89d4208de3de442c9025919c4261be0b38e79a4"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Aug 10 11:32:44 2009 -0300"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Wed Aug 12 01:08:27 2009 -0500"
      },
      "message": "xfs: fix spin_is_locked assert on uni-processor builds\n\nWithout SMP or preemption spin_is_locked always returns false,\nso we can\u0027t do an assert with it.  Instead use assert_spin_locked,\nwhich does the right thing on all builds.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nReported-by: Johannes Engel \u003cjcnengel@googlemail.com\u003e\nTested-by: Johannes Engel \u003cjcnengel@googlemail.com\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "b89d4208de3de442c9025919c4261be0b38e79a4",
      "tree": "3c47c8d10c3ef50e2423528d0d8db7a738928621",
      "parents": [
        "e0c222c411e22f086e929cd69fdcc89336164ec1"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Aug 10 11:32:18 2009 -0300"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Wed Aug 12 01:08:21 2009 -0500"
      },
      "message": "xfs: check for dinode realtime flag corruption\n\nRamon tested XFS with a modified version of fsfuzzer and hit a NULL\npointer dereference in __xfs_get_blocks due to the RT device target\npointer being NULL.\n\nTo fix this reject inode with the realtime bit set on a a filesystem\nwithout an RT subvolume during inode read.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nReviewed-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\nReported-by: Ramon de Carvalho Valle \u003cramon@risesecurity.org\u003e\nTested-by: Ramon de Carvalho Valle \u003cramon@risesecurity.org\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "e0c222c411e22f086e929cd69fdcc89336164ec1",
      "tree": "9ebfde895dfa96d1ee01d1979ccbfae1b35c971b",
      "parents": [
        "ddd3a14e0f030f0f7b900621f67532285b8657ef"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Mon Jul 20 10:52:15 2009 -0500"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Wed Aug 12 01:08:10 2009 -0500"
      },
      "message": "use XFS_CORRUPTION_ERROR in xfs_btree_check_sblock\n\nIn Red Hat Bug 512552\n - Can\u0027t write to XFS mount during raid5 resync\n\na user ran into corruption while resyncing a raid, and we failed\na consistency test, but didn\u0027t get much more info; it\u0027d be nice\nto call XFS_CORRUPTION_ERROR here so we can see the buffer\ncontents.\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "ddd3a14e0f030f0f7b900621f67532285b8657ef",
      "tree": "d8c0d11c5adc45b1a6657ddd51b6435e3d28f1f9",
      "parents": [
        "7b02ecb3031b192823bc732ae717febc0a59aa92"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sat Jul 18 18:15:01 2009 -0400"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Wed Aug 12 01:08:01 2009 -0500"
      },
      "message": "xfs: switch to NOFS allocation under i_lock in xfs_attr_rmtval_get\n\nxfs_attr_rmtval_get is always called with i_lock held, but i_lock is taken\nin reclaim context so all allocations under it must avoid recursions into\nthe filesystem.\n\nReported by the new reclaim context tracing in lockdep.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "7b02ecb3031b192823bc732ae717febc0a59aa92",
      "tree": "aeb5e3c56f4634ad3b391dd8a7eab1fce81f0eea",
      "parents": [
        "10746e47e722b5688fcd6eba9fbf9b2e64a248a7"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sat Jul 18 18:15:00 2009 -0400"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Wed Aug 12 01:07:53 2009 -0500"
      },
      "message": "xfs: switch to NOFS allocation under i_lock in xfs_readlink_bmap\n\nxfs_readlink_bmap is called with i_lock held, but i_lock is taken in\nreclaim context so all allocations under it must avoid recursions into\nthe filesystem.\n\nReported by the new reclaim context tracing in lockdep.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "10746e47e722b5688fcd6eba9fbf9b2e64a248a7",
      "tree": "5109c89eed3c087cf5889297881a5dc5d9efd3ce",
      "parents": [
        "36fae17a648e0aee5d9560514d08477ef48dc87f"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sat Jul 18 18:14:59 2009 -0400"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Wed Aug 12 01:07:44 2009 -0500"
      },
      "message": "xfs: switch to NOFS allocation under i_lock in xfs_attr_rmtval_set\n\nxfs_attr_rmtval_set is always called with i_lock held, and i_lock is taken\nin reclaim context so all allocations under it must avoid recursions into\nthe filesystem.\n\nReported by the new reclaim context tracing in lockdep.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "36fae17a648e0aee5d9560514d08477ef48dc87f",
      "tree": "ac01d872ec2f654e2c305485e79e95d05ccb0c27",
      "parents": [
        "3f52c2f0a07c23771909cc53f2e9451a7f1bf253"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sat Jul 18 18:14:58 2009 -0400"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Wed Aug 12 01:07:38 2009 -0500"
      },
      "message": "xfs: switch to NOFS allocation under i_lock in xfs_buf_associate_memory\n\nxfs_buf_associate_memory is used for setting up the spare buffer for the\nlog wrap case in xlog_sync which can happen under i_lock when called from\nxfs_fsync. The i_lock mutex is taken in reclaim context so all allocations\nunder it must avoid recursions into the filesystem.  There are a couple\nmore uses of xfs_buf_associate_memory in the log recovery code that are\nalso affected by this, but I\u0027d rather keep the code simple than passing on\na gfp_mask argument.  Longer term we should just stop requiring the memoery\nallocation in xlog_sync by some smaller rework of the buffer layer.\n\nReported by the new reclaim context tracing in lockdep.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "3f52c2f0a07c23771909cc53f2e9451a7f1bf253",
      "tree": "7341f0217f771cdc62cf799f79b4137ac3daf292",
      "parents": [
        "73195ed7864ae4a1fb0bea2ed9df59d19b4fde90"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sat Jul 18 18:14:57 2009 -0400"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Wed Aug 12 01:07:23 2009 -0500"
      },
      "message": "xfs: switch to NOFS allocation under i_lock in xfs_dir_cilookup_result\n\nxfs_dir_cilookup_result is always called with i_lock held, but i_lock is taken\nin reclaim context so all allocations under it must avoid recursions into the\nfilesystem.\n\nReported by the new reclaim context tracing in lockdep.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "73195ed7864ae4a1fb0bea2ed9df59d19b4fde90",
      "tree": "fa82fba833a12dec9f6f8113852266e2861b276c",
      "parents": [
        "f41d7fb9da05b604f8a69fb6cac2a0563c8ede4e"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sat Jul 18 18:14:56 2009 -0400"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Wed Aug 12 01:07:14 2009 -0500"
      },
      "message": "xfs: switch to NOFS allocation under i_lock in xfs_da_buf_make\n\ni_lock is taken in the reclaim context so all allocations under it\nmust avoid recursions into the filesystem.\n\nReported by the new reclaim context tracing in lockdep.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "f41d7fb9da05b604f8a69fb6cac2a0563c8ede4e",
      "tree": "7602eb7f81322551fd4fd8e37f11e05550bf49b2",
      "parents": [
        "ca35dcd6cae7d4a780c484c53f45548c4719f82c"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sat Jul 18 18:14:55 2009 -0400"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Wed Aug 12 01:07:07 2009 -0500"
      },
      "message": "xfs: switch to NOFS allocation under i_lock in xfs_da_state_alloc\n\nxfs_da_state_alloc is always called with i_lock held, but i_lock is taken in\nreclaim context so all allocations under it must avoid recursions into the\nfilesystem.\n\nReported by the new reclaim context tracing in lockdep.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "ca35dcd6cae7d4a780c484c53f45548c4719f82c",
      "tree": "ef2c93d8c55e075a8153e39eda7aa94464b64677",
      "parents": [
        "0cc6eee130b0c062feec8446d9cecdb17d2cfad3"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sat Jul 18 18:14:54 2009 -0400"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Wed Aug 12 01:06:59 2009 -0500"
      },
      "message": "xfs: switch to NOFS allocation under i_lock in xfs_getbmap\n\nxfs_getbmap allocates memory with i_lock held, but i_lock is taken in\nreclaim context so all allocations under it must avoid recursions into\nthe filesystem.\n\nReported by the new reclaim context tracing in lockdep.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "0cc6eee130b0c062feec8446d9cecdb17d2cfad3",
      "tree": "488cbdb1fb8623285c4fb7c3a913516d7b7905d2",
      "parents": [
        "c8a4051c3731b6db224482218cfd535ab9393ff8"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sat Jul 18 18:14:53 2009 -0400"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Wed Aug 12 01:06:51 2009 -0500"
      },
      "message": "xfs: avoid memory allocation under m_peraglock in growfs code\n\nAllocate the memory for the larger m_perag array before taking the\nper-AG lock as the per-AG lock can be taken under the i_lock which\ncan be taken from reclaim context.\n\nReported by the new reclaim context tracing in lockdep.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "8b4bfc7feb005d84e2bd0831d8331a304e9d6483",
      "tree": "a13891d7264aefeea65e60cc956e8fa704032cd9",
      "parents": [
        "896a6de40ef3814525632609799af909338f50c3",
        "85dfd81dc57e8183a277ddd7a56aa65c96f3f487"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Aug 11 08:33:01 2009 +1000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Aug 11 08:33:01 2009 +1000"
      },
      "message": "Merge branch \u0027master\u0027 into next\n"
    },
    {
      "commit": "b409d7a0ab46fe530efe52734984b4ed5d46c3eb",
      "tree": "f9f7861ff8b943ee905dc16a8290cac757df391e",
      "parents": [
        "8a57a9dda760ea7845390f1cd36f3eb2a49391d8"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Aug 06 23:29:34 2009 +0200"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Mon Aug 10 12:20:22 2009 -0700"
      },
      "message": "ocfs2: Fix possible deadlock when extending quota file\n\nIn OCFS2, allocator locks rank above transaction start. Thus we\ncannot extend quota file from inside a transaction less we could\ndeadlock.\n\nWe solve the problem by starting transaction not already in\nocfs2_acquire_dquot() but only in ocfs2_local_read_dquot() and\nocfs2_global_read_dquot() and we allocate blocks to quota files before starting\nthe transaction.  In case we crash, quota files will just have a few blocks\nmore but that\u0027s no problem since we just use them next time we extend the\nquota file.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "704b836cbf19e885f8366bccb2e4b0474346c02d",
      "tree": "d0513d3ef70e1b875cd7786f94150ba2428b6a88",
      "parents": [
        "00f89d218523b9bf6b522349c039d5ac80aa536d"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Jul 10 03:27:40 2009 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Aug 10 20:49:26 2009 +1000"
      },
      "message": "mm_for_maps: take -\u003ecred_guard_mutex to fix the race with exec\n\nThe problem is minor, but without -\u003ecred_guard_mutex held we can race\nwith exec() and get the new -\u003emm but check old creds.\n\nNow we do not need to re-check task-\u003emm after ptrace_may_access(), it\ncan\u0027t be changed to the new mm under us.\n\nStrictly speaking, this also fixes another very minor problem. Unless\nsecurity check fails or the task exits mm_for_maps() should never\nreturn NULL, the caller should get either old or new -\u003emm.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "00f89d218523b9bf6b522349c039d5ac80aa536d",
      "tree": "cde7a8bde2798e4fb3ae28756f6cedd4db9191cc",
      "parents": [
        "13f0feafa6b8aead57a2a328e2fca6a5828bf286"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Jul 10 03:27:38 2009 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Aug 10 20:48:32 2009 +1000"
      },
      "message": "mm_for_maps: shift down_read(mmap_sem) to the caller\n\nmm_for_maps() takes -\u003emmap_sem after security checks, this looks\nstrange and obfuscates the locking rules. Move this lock to its\nsingle caller, m_start().\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "13f0feafa6b8aead57a2a328e2fca6a5828bf286",
      "tree": "fb396118339319406daf7f6782782eaef31b3b53",
      "parents": [
        "f4b9a988685da6386d7f9a72df3098bcc3270526"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Tue Jun 23 21:25:32 2009 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Aug 10 20:47:42 2009 +1000"
      },
      "message": "mm_for_maps: simplify, use ptrace_may_access()\n\nIt would be nice to kill __ptrace_may_access(). It requires task_lock(),\nbut this lock is only needed to read mm-\u003eflags in the middle.\n\nConvert mm_for_maps() to use ptrace_may_access(), this also simplifies\nthe code a little bit.\n\nAlso, we do not need to take -\u003emmap_sem in advance. In fact I think\nmm_for_maps() should not play with -\u003emmap_sem at all, the caller should\ntake this lock.\n\nWith or without this patch, without -\u003ecred_guard_mutex held we can race\nwith exec() and get the new -\u003emm but check old creds.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nReviewed-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "896a6de40ef3814525632609799af909338f50c3",
      "tree": "62a312157cd39fbd0a2d7ff4b0bebe7c196c7594",
      "parents": [
        "d3c8660233d3f2801e14eaf722937ff4ed49bfb7"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Jul 10 03:27:40 2009 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Aug 10 12:21:08 2009 +1000"
      },
      "message": "mm_for_maps: take -\u003ecred_guard_mutex to fix the race with exec\n\nThe problem is minor, but without -\u003ecred_guard_mutex held we can race\nwith exec() and get the new -\u003emm but check old creds.\n\nNow we do not need to re-check task-\u003emm after ptrace_may_access(), it\ncan\u0027t be changed to the new mm under us.\n\nStrictly speaking, this also fixes another very minor problem. Unless\nsecurity check fails or the task exits mm_for_maps() should never\nreturn NULL, the caller should get either old or new -\u003emm.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "d3c8660233d3f2801e14eaf722937ff4ed49bfb7",
      "tree": "9be8e7e08142e1685bc7346b359de0555d8de3f4",
      "parents": [
        "47d439e9fb8a81a90022cfa785bf1c36c4e2aff6"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Jul 10 03:27:38 2009 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Aug 10 12:21:06 2009 +1000"
      },
      "message": "mm_for_maps: shift down_read(mmap_sem) to the caller\n\nmm_for_maps() takes -\u003emmap_sem after security checks, this looks\nstrange and obfuscates the locking rules. Move this lock to its\nsingle caller, m_start().\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "d6a0967c90dced0a8baf502e6f3d5862fd5a5805",
      "tree": "e0242d5077730dabc4102b7abad9ee0c41e33bc0",
      "parents": [
        "fb385003c4ac9634cf2448f6ded81e5fd1190c1f",
        "ceab36edd3d3ad3ffd01d41d6d1e05ac1ff8357e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 07 19:03:09 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 07 19:03:09 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:\n  Btrfs: fix balancing oops when invalidate_inode_pages2 returns EBUSY\n  Btrfs: correct error-handling zlib error handling\n  Btrfs: remove superfluous NULL pointer check in btrfs_rename()\n  Btrfs: make sure the async caching thread advances the key\n  Btrfs: fix btrfs_remove_from_free_space corner case\n"
    },
    {
      "commit": "fb385003c4ac9634cf2448f6ded81e5fd1190c1f",
      "tree": "3a6068559cef144c04b96372ee0eecf20dfb108b",
      "parents": [
        "36b8659f9316b24c514a7c8290596b2382b91dd2",
        "b36ec0428a06fcbdb67d61e9e664154e5dd9a8c7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 07 18:53:44 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 07 18:53:44 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/hch/xfs-icache-races\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/hch/xfs-icache-races:\n  xfs: fix freeing of inodes not yet added to the inode cache\n  vfs: add __destroy_inode\n  vfs: fix inode_init_always calling convention\n"
    },
    {
      "commit": "8a57a9dda760ea7845390f1cd36f3eb2a49391d8",
      "tree": "67c6566851787cd5836e763d63b069144743e4da",
      "parents": [
        "e7432675f8ca868a4af365759a8d4c3779a3d922"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Thu Aug 06 16:07:50 2009 -0700"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Aug 07 13:16:50 2009 -0700"
      },
      "message": "ocfs2: keep index within status_map[]\n\nDo not exceed array status_map[]\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nCc: Mark Fasheh \u003cmfasheh@suse.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "e7432675f8ca868a4af365759a8d4c3779a3d922",
      "tree": "238d57e12fae632c9baeca98ddec701b3391ff29",
      "parents": [
        "ab57a40827d99e2d8e59066a56b93bf6c844c916"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Thu Aug 06 16:12:58 2009 -0700"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Aug 07 13:16:23 2009 -0700"
      },
      "message": "ocfs2: Initialize the cluster we\u0027re writing to in a non-sparse extend\n\nIn a non-sparse extend, we correctly allocate (and zero) the clusters between\nthe old_i_size and pos, but we don\u0027t zero the portions of the cluster we\u0027re\nwriting to outside of pos\u003c-\u003elen.\n\nIt handles clustersize \u003e pagesize and blocksize \u003c pagesize.\n\n[Cleaned up by Joel Becker.]\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "ceab36edd3d3ad3ffd01d41d6d1e05ac1ff8357e",
      "tree": "a6d899030878d52ae6d7932e459deece3524c787",
      "parents": [
        "60f2e8f8a07331097a57ec4abcdc680405579377"
      ],
      "author": {
        "name": "Yan Zheng",
        "email": "zheng.yan@oracle.com",
        "time": "Fri Aug 07 13:51:33 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Aug 07 13:51:33 2009 -0400"
      },
      "message": "Btrfs: fix balancing oops when invalidate_inode_pages2 returns EBUSY\n\ninvalidate_inode_pages2_range may return -EBUSY occasionally\nwhich results Oops. This patch fixes the issue by moving\ninvalidate_inode_pages2_range into a loop and keeping calling\nit until the return value is not -EBUSY.\n\nThe EBUSY return is temporary, and can happen when the btrfs release page\nfunction is unable to release a page because the EXTENT_LOCK\nbit is set.\n\nSigned-off-by: Yan Zheng \u003czheng.yan@oracle.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "60f2e8f8a07331097a57ec4abcdc680405579377",
      "tree": "6ed3c6c8fc2ad4c824c7d2c942fe7d3ece924dc7",
      "parents": [
        "4baf8c9201e88546918cbfa61ea8062c38bc1644"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Fri Aug 07 13:51:33 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Aug 07 13:51:33 2009 -0400"
      },
      "message": "Btrfs: correct error-handling zlib error handling\n\nfind_zlib_workspace returns an ERR_PTR value in an error case instead of NULL.\n\nA simplified version of the semantic match that finds this problem is as\nfollows: (http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@match exists@\nexpression x, E;\nstatement S1, S2;\n@@\n\nx \u003d find_zlib_workspace(...)\n... when !\u003d x \u003d E\n(\n*  if (x \u003d\u003d NULL || ...) S1 else S2\n|\n*  if (x \u003d\u003d NULL \u0026\u0026 ...) S1 else S2\n)\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "4baf8c9201e88546918cbfa61ea8062c38bc1644",
      "tree": "7ea84d6155aa7b4e246df56ea0f79d5b3da08d87",
      "parents": [
        "013f1b12f4fc479f697acae2f31bad220162cd03"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Aug 07 13:47:08 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Aug 07 13:47:08 2009 -0400"
      },
      "message": "Btrfs: remove superfluous NULL pointer check in btrfs_rename()\n\nThis takes care of the following entry from Dan\u0027s list:\n\nfs/btrfs/inode.c +4788 btrfs_rename(36) warning: variable derefenced before check \u0027old_inode\u0027\n\nReported-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nCc: Jonathan Corbet \u003ccorbet@lwn.net\u003e\nCc: Eugene Teo \u003ceteo@redhat.com\u003e\nCc: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "389623fef0e8b088f293c437d3b7094fe82349fd",
      "tree": "e7e7175531f9ee9a7b215fe6b8c62674fb32862a",
      "parents": [
        "385861206c21364c01dcfdda5064643ce111d517",
        "57ca7deb062abf56168d15f000c16e25f88a9cf3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 07 10:42:31 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 07 10:42:31 2009 -0700"
      },
      "message": "Merge git://git.infradead.org/mtd-2.6\n\n* git://git.infradead.org/mtd-2.6:\n  jffs2: Fix return value from jffs2_do_readpage_nolock()\n  mtd: mtdblock: introduce mtdblks_lock\n  mtd: remove \u0027SBC8240 Wind River\u0027 Device Driver Code\n  mtd: OneNAND: OMAP2/3: free GPMC CS on module removal\n  mtd: OneNAND: fix incorrect bufferram offset\n  mtd: blkdevs: do not forget to get MTD devices\n  mtd: fix the conversion from dev to mtd_info\n  mtd: let include/linux/mtd/partitions.h stand on its own\n"
    },
    {
      "commit": "3440625d78711bee41a84cf29c3d8c579b522666",
      "tree": "c430bf6cc2b0f5ad4ce9464f378f14824e7fc28b",
      "parents": [
        "9e5cf0ca2e9b65110ae5f094d7f0f7165cd1bbbb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 06 15:09:34 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 07 10:39:57 2009 -0700"
      },
      "message": "flat: fix uninitialized ptr with shared libs\n\nThe new credentials code broke load_flat_shared_library() as it now uses\nan uninitialized cred pointer.\n\nReported-by: Bernd Schmidt \u003cbernds_cb1@t-online.de\u003e\nTested-by: Bernd Schmidt \u003cbernds_cb1@t-online.de\u003e\nCc: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2d8dd38a5aa0cc2490bbad9b75e77fa154e1d145",
      "tree": "dcc1ec93e95dde5704a7e37939454c9b24904758",
      "parents": [
        "69130c7cf96ea853dc5be599dd6a4b98907d39cc"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Thu Aug 06 15:07:39 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 07 10:39:56 2009 -0700"
      },
      "message": "vfs: mnt_want_write_file(): fix special file handling\n\nI suspect that mnt_want_write_file() may have wrong assumption.  I think\nmnt_want_write_file() is assuming it increments -\u003emnt_writers if\n(file-\u003ef_mode \u0026 FMODE_WRITE).  But, if it\u0027s special_file(), it is false?\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nAcked-by: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "69130c7cf96ea853dc5be599dd6a4b98907d39cc",
      "tree": "9ac97112a66388664534436ee88903e01fa1f705",
      "parents": [
        "0035fe00f77d2b0a1a2d001f7442136d1ec5aefa"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Thu Aug 06 15:07:37 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 07 10:39:56 2009 -0700"
      },
      "message": "compat_ioctl: hook up compat handler for FIEMAP ioctl\n\nThe FIEMAP_IOC_FIEMAP mapping ioctl was missing a 32-bit compat handler,\nwhich means that 32-bit suerspace on 64-bit kernels cannot use this ioctl\ncommand.\n\nThe structure is nicely aligned, padded, and sized, so it is just this\nsimple.\n\nTested w/ 32-bit ioctl tester (from Josef) on a 64-bit kernel on ext4.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Mark Lord \u003clkml@rtr.ca\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Josef Bacik \u003cjosef@redhat.com\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b36ec0428a06fcbdb67d61e9e664154e5dd9a8c7",
      "tree": "556cb840214cdff185dfd419bed6dc876a58ae01",
      "parents": [
        "2e00c97e2c1d2ffc9e26252ca26b237678b0b772"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Aug 07 14:38:34 2009 -0300"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@brick.lst.de",
        "time": "Fri Aug 07 14:38:34 2009 -0300"
      },
      "message": "xfs: fix freeing of inodes not yet added to the inode cache\n\nWhen freeing an inode that lost race getting added to the inode cache we\nmust not call into -\u003edestroy_inode, because that would delete the inode\nthat won the race from the inode cache radix tree.\n\nThis patch uses splits a new xfs_inode_free helper out of xfs_ireclaim\nand uses that plus __destroy_inode to make sure we really only free\nthe memory allocted for the inode that lost the race, and not mess with\nthe inode cache state.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nReported-by: Alex Samad \u003calex@samad.com.au\u003e\nReported-by: Andrew Randrianasulu \u003crandrik@mail.ru\u003e\nReported-by: Stephane \u003csharnois@max-t.com\u003e\nReported-by: Tommy \u003ctommy@news-service.com\u003e\nReported-by: Miah Gregory \u003cmace@darksilence.net\u003e\nReported-by: Gabriel Barazer \u003cgabriel@oxeva.fr\u003e\nReported-by: Leandro Lucarella \u003cllucax@gmail.com\u003e\nReported-by: Daniel Burr \u003cdburr@fami.com.au\u003e\nReported-by: Nickolay \u003cnewmail@spaces.ru\u003e\nReported-by: Michael Guntsche \u003cmike@it-loops.com\u003e\nReported-by: Dan Carley \u003cdan.carley+linuxkern-bugs@gmail.com\u003e\nReported-by: Michael Ole Olsen \u003cgnu@gmx.net\u003e\nReported-by: Michael Weissenbacher \u003cmw@dermichi.com\u003e\nReported-by: Martin Spott \u003cMartin.Spott@mgras.net\u003e\nReported-by: Christian Kujau \u003clists@nerdbynature.de\u003e\nTested-by: Michael Guntsche \u003cmike@it-loops.com\u003e\nTested-by: Dan Carley \u003cdan.carley+linuxkern-bugs@gmail.com\u003e\nTested-by: Christian Kujau \u003clists@nerdbynature.de\u003e\n"
    },
    {
      "commit": "2e00c97e2c1d2ffc9e26252ca26b237678b0b772",
      "tree": "e2c65f473e079c4b6027f7f8b7224febe7483884",
      "parents": [
        "54e346215e4fe2ca8c94c54e546cc61902060510"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Aug 07 14:38:29 2009 -0300"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@brick.lst.de",
        "time": "Fri Aug 07 14:38:29 2009 -0300"
      },
      "message": "vfs: add __destroy_inode\n\nWhen we want to tear down an inode that lost the add to the cache race\nin XFS we must not call into -\u003edestroy_inode because that would delete\nthe inode that won the race from the inode cache radix tree.\n\nThis patch provides the __destroy_inode helper needed to fix this,\nthe actual fix will be in th next patch.  As XFS was the only reason\ndestroy_inode was exported we shift the export to the new __destroy_inode.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n"
    },
    {
      "commit": "54e346215e4fe2ca8c94c54e546cc61902060510",
      "tree": "9b4ed9b0ab78117ba1a41db7073708031622cf10",
      "parents": [
        "90bc1a658a53f8832ee799685703977a450e5af9"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Aug 07 14:38:25 2009 -0300"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@brick.lst.de",
        "time": "Fri Aug 07 14:38:25 2009 -0300"
      },
      "message": "vfs: fix inode_init_always calling convention\n\nCurrently inode_init_always calls into -\u003edestroy_inode if the additional\ninitialization fails.  That\u0027s not only counter-intuitive because\ninode_init_always did not allocate the inode structure, but in case of\nXFS it\u0027s actively harmful as -\u003edestroy_inode might delete the inode from\na radix-tree that has never been added.  This in turn might end up\ndeleting the inode for the same inum that has been instanciated by\nanother process and cause lots of cause subtile problems.\n\nAlso in the case of re-initializing a reclaimable inode in XFS it would\nfree an inode we still want to keep alive.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n"
    },
    {
      "commit": "012a5299a29672039f42944a37984558393ef769",
      "tree": "de0815c67cf4156c32c8b552cd7448387cc391b0",
      "parents": [
        "da34d4248bd2013ee64ce51e63ec0ebd1f32b46c",
        "90bc1a658a53f8832ee799685703977a450e5af9"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Aug 06 08:55:03 2009 +1000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Aug 06 08:55:03 2009 +1000"
      },
      "message": "Merge branch \u0027master\u0027 into next\n"
    },
    {
      "commit": "624720e09c9b7913ef4bc6989878a6fcb7ecdff8",
      "tree": "be36dc1fc45a4cf5d5100ca5252e6aa3b465fbe2",
      "parents": [
        "849c9caa60642095060e9c21f14687ae9149a6f3",
        "01a261e09a21e0ba342d3907a79cf5c78ee3f37a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 04 15:28:23 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 04 15:28:23 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2:\n  nilfs2: fix missing unlock in error path of nilfs_mdt_write_page\n  nilfs2: fix oops due to inconsistent state in page with discrete b-tree nodes\n"
    },
    {
      "commit": "849c9caa60642095060e9c21f14687ae9149a6f3",
      "tree": "b33da1ea12f55ad11b547fc723f72b22e1d9cecc",
      "parents": [
        "a33a052f19a21d727847391c8c1aff3fb221c472",
        "d098564f3b2b5d555e51bca765a6a9e0dda8f2cd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 04 15:27:56 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 04 15:27:56 2009 -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] Update readme to reflect forceuid mount parms\n  cifs: Read buffer overflow\n  cifs: show noforceuid/noforcegid mount options (try #2)\n  cifs: reinstate original behavior when uid\u003d/gid\u003d options are specified\n  [CIFS] Updates fs/cifs/CHANGES\n  cifs: fix error handling in mount-time DFS referral chasing code\n"
    },
    {
      "commit": "57ca7deb062abf56168d15f000c16e25f88a9cf3",
      "tree": "f9dac86ff98ca5f40498834fbd74559437398329",
      "parents": [
        "d676c11727815761e41a81b00c054b4bec452ae5"
      ],
      "author": {
        "name": "Anders Grafström",
        "email": "grfstrm@users.sourceforge.net",
        "time": "Tue Aug 04 13:11:47 2009 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Tue Aug 04 12:13:06 2009 +0100"
      },
      "message": "jffs2: Fix return value from jffs2_do_readpage_nolock()\n\nThis fixes \"kernel BUG at fs/jffs2/file.c:251!\".\nThis pseudocode hopefully illustrates the scenario that triggers it:\n\njffs2_write_begin {\n     jffs2_do_readpage_nolock {\n         jffs2_read_inode_range {\n             jffs2_read_dnode {\n                 Data CRC 33c102e9 !\u003d calculated CRC 0ef77e7b for node at 005d42e4\n                 return -EIO;\n             }\n         }\n         ClearPageUptodate(pg);\n         return 0;\n     }\n}\n\njffs2_write_end {\n     BUG_ON(!PageUptodate(pg));\n}\n\nSigned-off-by: Anders Grafström \u003cgrfstrm@users.sourceforge.net\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "d098564f3b2b5d555e51bca765a6a9e0dda8f2cd",
      "tree": "4408cca53ee3a1c024514d1dd06cedd58bc5af48",
      "parents": [
        "24e2fb615fd6b624c320cec9ea9d91a75dad902e"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Aug 04 03:53:28 2009 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Aug 04 03:53:28 2009 +0000"
      },
      "message": "[CIFS] Update readme to reflect forceuid mount parms\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "24e2fb615fd6b624c320cec9ea9d91a75dad902e",
      "tree": "f6849650d675636490a14659228ce9a18004bc77",
      "parents": [
        "4486d6ede16b362f89b29845af6fe1a26ae78a54"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Sun Aug 02 13:00:18 2009 +0200"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Aug 03 21:01:32 2009 +0000"
      },
      "message": "cifs: Read buffer overflow\n\nCheck whether index is within bounds before testing the element.\n\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "4486d6ede16b362f89b29845af6fe1a26ae78a54",
      "tree": "b96bb887453baccdcfe1a0afee0f6cc9e7aaae4a",
      "parents": [
        "9b9d6b2434fe942895c341b9a982f158529788ec"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Aug 03 12:45:10 2009 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Aug 03 21:01:17 2009 +0000"
      },
      "message": "cifs: show noforceuid/noforcegid mount options (try #2)\n\nSince forceuid is the default, we now need to show when it\u0027s disabled.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "01a261e09a21e0ba342d3907a79cf5c78ee3f37a",
      "tree": "e26e8008ce2de35afe2703529d771268a256329f",
      "parents": [
        "a97778457f22181e8c38c4cd7d7e528378738a98"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sun Aug 02 17:45:55 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sun Aug 02 22:24:15 2009 +0900"
      },
      "message": "nilfs2: fix missing unlock in error path of nilfs_mdt_write_page\n\nThis adds a missing unlock of nilfs-\u003ens_writer_mutex in\nnilfs_mdt_write_page() function.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "9b9d6b2434fe942895c341b9a982f158529788ec",
      "tree": "402b7f233fae53f45d5ad3a445360200b6fa2cc7",
      "parents": [
        "5bd9052d79daa4c8beb45436c408b6de672adb82"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Jul 31 06:56:09 2009 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sun Aug 02 03:47:25 2009 +0000"
      },
      "message": "cifs: reinstate original behavior when uid\u003d/gid\u003d options are specified\n\nThis patch fixes the regression reported here:\n\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d13861\n\ncommit 4ae1507f6d266d0cc3dd36e474d83aad70fec9e4 changed the default\nbehavior when the uid\u003d or gid\u003d option was specified for a mount. The\nexisting behavior was to always clobber the ownership information\nprovided by the server when these options were specified. The above\ncommit changed this behavior so that these options simply provided\ndefaults when the server did not provide this information (unless\n\"forceuid\" or \"forcegid\" were specified)\n\nThis patch reverts this change so that the default behavior is restored.\nIt also adds \"noforceuid\" and \"noforcegid\" options to make it so that\nownership information from the server is preserved, even when the mount\nhas uid\u003d or gid\u003d options specified.\n\nIt also adds a couple of printk notices that pop up when forceuid or\nforcegid options are specified without a uid\u003d or gid\u003d option.\n\nReported-by: Tom Chiverton \u003cbugzilla.kernel.org@falkensweb.com\u003e\nReviewed-by: Shirish Pargaonkar \u003cshirishp@us.ibm.com\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "a97778457f22181e8c38c4cd7d7e528378738a98",
      "tree": "d2ee3d9491ab2b17551f099d9a6119407700dbd2",
      "parents": [
        "ed680c4ad478d0fee9740f7d029087f181346564"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Tue Jul 28 17:55:29 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sat Aug 01 22:48:32 2009 +0900"
      },
      "message": "nilfs2: fix oops due to inconsistent state in page with discrete b-tree nodes\n\nAndrea Gelmini gave me a report that a kernel oops hit on a nilfs\nfilesystem with a 1KB block size when doing rsync.\n\nThis turned out to be caused by an inconsistency of dirty state\nbetween a page and its buffers storing b-tree node blocks.\n\nIf the page had multiple buffers split over multiple logs, and if the\nlogs were written at a time, a dirty flag remained in the page even\nevery dirty flag in the buffers was cleared.\n\nThis will fix the failure by dropping the dirty flag properly for\npages with the discrete multiple b-tree nodes.\n\nReported-by: Andrea Gelmini \u003candrea.gelmini@gmail.com\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nTested-by: Andrea Gelmini \u003candrea.gelmini@gmail.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "ab57a40827d99e2d8e59066a56b93bf6c844c916",
      "tree": "eed0b61db8addf2aac7113dd78d187ddf1a47959",
      "parents": [
        "e9956fae7dbce6ac770e7a00436c496ddbbd3215"
      ],
      "author": {
        "name": "Goldwyn Rodrigues",
        "email": "rgoldwyn@gmail.com",
        "time": "Fri Jul 31 14:28:02 2009 -0500"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Jul 31 13:43:44 2009 -0700"
      },
      "message": "ocfs2: Remove redundant BUG_ON in __dlm_queue_ast()\n\nWe BUG_ON() the same thing twice.\n\nSigned-off-by: Goldwyn Rodrigues \u003crgoldwyn@suse.de\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "f5266cbd2fca04dbd0387a67f550b6667ffa4ed2",
      "tree": "ee3c3a8d92fc1745d63baa6e069959694a11dbe4",
      "parents": [
        "a5bc92cdf2ab27a15732976004b3755c40740f57",
        "c8a4051c3731b6db224482218cfd535ab9393ff8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 31 12:17:37 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 31 12:17:37 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs:\n  xfs: bump up nr_to_write in xfs_vm_writepage\n  xfs: reduce bmv_count in xfs_vn_fiemap\n"
    },
    {
      "commit": "013f1b12f4fc479f697acae2f31bad220162cd03",
      "tree": "b51225aa32f249de352840b31b49eb9799fdafe8",
      "parents": [
        "6606bb97e146a387932efee263745b7240a11193"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Jul 31 14:57:55 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Jul 31 14:57:55 2009 -0400"
      },
      "message": "Btrfs: make sure the async caching thread advances the key\n\nThe async caching thread can end up looping forever if a given\nsearch puts it at the last key in a leaf.  It will end up calling\nbtrfs_next_leaf and then checking if it needs to politely drop\nthe read semaphore.\n\nMost of the time this looping isn\u0027t noticed because it is able to\nmake progress the next time around.  But, during log replay,\nwe wait on the async caching thread to finish, and the async thread\nis waiting on the commit, and no progress is really made.\n\nThe fix used here is to copy the key out of the next leaf,\nthat way our search lands there properly.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "6606bb97e146a387932efee263745b7240a11193",
      "tree": "76652e563a889cc03d7d179074bb1aab9ef3a3f4",
      "parents": [
        "f36f3042eae238bdaefe7c79310afe573bfc3622"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Fri Jul 31 11:03:58 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Jul 31 11:03:58 2009 -0400"
      },
      "message": "Btrfs: fix btrfs_remove_from_free_space corner case\n\nYan Zheng hit a problem where we tried to remove some free space but failed\nbecause we couldn\u0027t find the free space entry.  This is because the free space\nwas held within a bitmap that had a starting offset well before the actual\noffset of the free space, and there were free space extents that were in the\nsame range as that offset, so tree_search_offset returned with NULL because we\ncouldn\u0027t find a free space extent that had that offset.  This is fixed by\nmaking sure that if we fail to find the entry, we re-search again with\nbitmap_only set to 1 and do an offset_to_bitmap so we can get the appropriate\nbitmap.  A similar problem happens in btrfs_alloc_from_bitmap for the\nclustering code, but that is not as bad since we will just go and redo our\ncluster allocation.\n\nAlso this adds some debugging checks to make sure that the free space we are\ntrying to remove from the bitmap is in fact there.  This can probably go away\nafter a while, but since this code is only used by the tree-logging stuff it\nwould be nice to run with it for a while to make sure there are no problems.\n\nSigned-off-by: Josef Bacik \u003cjbacik@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "c8a4051c3731b6db224482218cfd535ab9393ff8",
      "tree": "78b326f229fd670e37e1eb08f89bede4260aec95",
      "parents": [
        "97db39a1f6f69e906e98118392400de5217aa33a"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Fri Jul 31 00:02:17 2009 -0500"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Fri Jul 31 00:57:11 2009 -0500"
      },
      "message": "xfs: bump up nr_to_write in xfs_vm_writepage\n\nVM calculation for nr_to_write seems off.  Bump it way\nup, this gets simple streaming writes zippy again.\nTo be reviewed again after Jens\u0027 writeback changes.\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nReviewed-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "97db39a1f6f69e906e98118392400de5217aa33a",
      "tree": "f5735b99542d8d31dcad907294c5cf7a0657b563",
      "parents": [
        "fd40261354802b0f05f6f67121235aa002e87069"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Sun Jul 26 21:52:01 2009 -0500"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Fri Jul 31 00:56:58 2009 -0500"
      },
      "message": "xfs: reduce bmv_count in xfs_vn_fiemap\n\ncommit 6321e3ed2acf3ee9643cdd403e1c88605d7944ba caused\nthe full bmv_count\u0027s worth of getbmapx structures to get\nallocated; telling it to do MAXEXTNUM was a bit insane,\nresulting in ENOMEM every time.\n\nChop it down to something reasonable, the number of slots\nin the caller\u0027s input buffer.  If this is too large the\ncaller may get ENOMEM but the reason should not be a\nmystery, and they can try again with something smaller.\n\nWe add 1 to the value because in the normal getbmap\nworld, bmv_count includes the header and xfs_getbmap does:\n\n        nex \u003d bmv-\u003ebmv_count - 1;\n        if (nex \u003c\u003d 0)\n                return XFS_ERROR(EINVAL);\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nReviewed-by: Olaf Weber \u003colaf@sgi.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "ec6a8679fa8ce977c8b7f86238455b494699de74",
      "tree": "d06401567f67cd757ddf358168bdf574cb4b94f5",
      "parents": [
        "db06816cb9ceb21a2bf24122407b7b4fe419c3fc",
        "f36f3042eae238bdaefe7c79310afe573bfc3622"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 30 16:46:48 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 30 16:46:48 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:\n  Btrfs: be more polite in the async caching threads\n  Btrfs: preserve commit_root for async caching\n"
    },
    {
      "commit": "784b1d6b21cb25791b68276af27a7c2321d5a86f",
      "tree": "06b21ba973390931d591e6ecf3ee38db2c0bdd92",
      "parents": [
        "691c5f7374ee3d48fd2c838261820a06e4be9043",
        "4bf17af0dbfe4cf20cb750e22e8e926273e7a7a4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 30 16:46:17 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 30 16:46:17 2009 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6:\n  udf: Fix loading of VAT inode when drive wrongly reports number of recorded blocks\n"
    },
    {
      "commit": "691c5f7374ee3d48fd2c838261820a06e4be9043",
      "tree": "c9fb4f9f62fd27409b35e6d217faecbc722cb7dd",
      "parents": [
        "fbdbf8389976b9f40d36f21985be28a0f438f779",
        "dee865656f2d8b866f8ac22c60d6363b914e9f12"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 30 16:46:06 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 30 16:46:06 2009 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-quota-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-quota-2.6:\n  quota: Silence lockdep on quota_on\n"
    },
    {
      "commit": "79af3133174da620171eea82bb505a5a5cb7c6f4",
      "tree": "1cf726b76589998039c3020efd00d622572e0300",
      "parents": [
        "e1ca4aed112b270162302d389281b6cefac60a12",
        "b94a170e96dc416828af9d350ae2e34b70ae7347"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 30 16:45:37 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 30 16:45:37 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes:\n  GFS2: remove dcache entries for remote deleted inodes\n  GFS2: Fix incorrent statfs consistency check\n  GFS2: Don\u0027t put unlikely reclaim candidates on the reclaim list.\n  GFS2: Don\u0027t try and dealloc own inode\n  GFS2: Fix panic in glock memory shrinker\n  GFS2: keep statfs info in sync on grows\n  GFS2: Shrink the shrinker\n"
    },
    {
      "commit": "e9956fae7dbce6ac770e7a00436c496ddbbd3215",
      "tree": "e1b1cd0c59a598ec671e563a732f6935133a1520",
      "parents": [
        "0584974a77796581eb3a64b6c5005edac4a95128"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Thu Jul 30 16:07:10 2009 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Jul 30 11:06:06 2009 -0700"
      },
      "message": "ocfs2/quota: Release lock for error in ocfs2_quota_write.\n\nocfs2_quota_write needs to release the lock if it fails to\nread quota block. So use \"goto out\" instead of \"return err\".\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "dee865656f2d8b866f8ac22c60d6363b914e9f12",
      "tree": "1fd24f795884c2cfd2b9d06fee104f08236011c7",
      "parents": [
        "658874f05d040ca96eb5ba9b1c30ce0ff287d762"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Jul 22 18:12:17 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Jul 30 17:31:23 2009 +0200"
      },
      "message": "quota: Silence lockdep on quota_on\n\nCommit d01730d74d2b0155da50d44555001706294014f7 didn\u0027t completely fix\nthe problem since we still take dqio_mutex and i_mutex in the wrong\norder. Move taking of i_mutex further down (luckily it\u0027s needed only\nfor updating inode flags) below where dqio_mutex is taken.\n\nTested-by: Valdis Kletnieks \u003cvaldis.kletnieks@vt.edu\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "4bf17af0dbfe4cf20cb750e22e8e926273e7a7a4",
      "tree": "9d7218df82274d1dd564f3ba06ca8c65a99234c1",
      "parents": [
        "658874f05d040ca96eb5ba9b1c30ce0ff287d762"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Jul 14 19:30:23 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Jul 30 17:28:26 2009 +0200"
      },
      "message": "udf: Fix loading of VAT inode when drive wrongly reports number of recorded blocks\n\nVAT inode is located in the last block recorded block of the medium. When the\ndrive errorneously reports number of recorded blocks, we failed to load the VAT\ninode and thus mount the medium. This patch makes kernel try to read VAT inode\nfrom the last block of the device if it is different from the last recorded\nblock.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "f36f3042eae238bdaefe7c79310afe573bfc3622",
      "tree": "83ea0e271dedeef36423509be7f4189b838d14b5",
      "parents": [
        "276e680d192a67d222fcea51af37b056feffb665"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Jul 30 10:04:48 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Jul 30 10:14:46 2009 -0400"
      },
      "message": "Btrfs: be more polite in the async caching threads\n\nThe semaphore used by the async caching threads can prevent a\ntransaction commit, which can make the FS appear to stall.  This\nreleases the semaphore more often when a transaction commit is\nin progress.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "276e680d192a67d222fcea51af37b056feffb665",
      "tree": "137bae016c30f24e7fafcbc8073e3411b732eb31",
      "parents": [
        "f25784b35f590c81d5fb8245a8cd45e1afb6f1b2"
      ],
      "author": {
        "name": "Yan Zheng",
        "email": "zheng.yan@oracle.com",
        "time": "Thu Jul 30 09:40:40 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Jul 30 09:40:40 2009 -0400"
      },
      "message": "Btrfs: preserve commit_root for async caching\n\nThe async block group caching code uses the commit_root pointer\nto get a stable version of the extent allocation tree for scanning.\nThis copy of the tree root isn\u0027t going to change and it significantly\nreduces the complexity of the scanning code.\n\nDuring a commit, we have a loop where we update the extent allocation\ntree root.  We need to loop because updating the root pointer in\nthe tree of tree roots may allocate blocks which may change the\nextent allocation tree.\n\nRight now the commit_root pointer is changed inside this loop.  It\nis more correct to change the commit_root pointer only after all the\nlooping is done.\n\nSigned-off-by: Yan Zheng \u003czheng.yan@oracle.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "b94a170e96dc416828af9d350ae2e34b70ae7347",
      "tree": "6000929d554359c7b520a49a63415b9fc18b48b9",
      "parents": [
        "6b94617024bd6810cde1d0d491202c30d5a38d91"
      ],
      "author": {
        "name": "Benjamin Marzinski",
        "email": "bmarzins@redhat.com",
        "time": "Thu Jul 23 18:52:34 2009 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jul 30 11:01:03 2009 +0100"
      },
      "message": "GFS2: remove dcache entries for remote deleted inodes\n\nWhen a file is deleted from a gfs2 filesystem on one node, a dcache\nentry for it may still exist on other nodes in the cluster. If this\nhappens, gfs2 will be unable to free this file on disk. Because of this,\nit\u0027s possible to have a gfs2 filesystem with no files on it and no free\nspace. With this patch, when a node receives a callback notifying it\nthat the file is being deleted on another node, it schedules a new\nworkqueue thread to remove the file\u0027s dcache entry.\n\nSigned-off-by: Benjamin Marzinski \u003cbmarzins@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "6b94617024bd6810cde1d0d491202c30d5a38d91",
      "tree": "0c43470d42191b3b445a41add6d01ce84e482290",
      "parents": [
        "8ff22a6f9bdaac87c0eeb1d56c736181f11b4221"
      ],
      "author": {
        "name": "Benjamin Marzinski",
        "email": "bmarzins@redhat.com",
        "time": "Fri Jul 10 18:13:26 2009 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jul 30 11:00:28 2009 +0100"
      },
      "message": "GFS2: Fix incorrent statfs consistency check\n\nSince both linked and unlinked inodes are counted by rgd-\u003erd_dinodes, It\nmakes no sense to count them with the used data blocks (first check that\nI changed), it makes sense to count them with the linked inodes (second\ncheck), and it makes no sense to care if there are more unlinked inodes\nthan linked ones. This fixes these errors.\n\nSigned-off-by: Benjamin Marzinski \u003cbmarzins@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "8ff22a6f9bdaac87c0eeb1d56c736181f11b4221",
      "tree": "00b0ad7afe45497d251adb244baf6875a0744985",
      "parents": [
        "1e19a19584b332eb92a573b66b7342fb97e67507"
      ],
      "author": {
        "name": "Benjamin Marzinski",
        "email": "bmarzins@redhat.com",
        "time": "Fri Jul 10 18:04:24 2009 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jul 30 11:00:09 2009 +0100"
      },
      "message": "GFS2: Don\u0027t put unlikely reclaim candidates on the reclaim list.\n\nGFS2 was placing far too many glocks on the reclaim list that were not good\ncandidates for freeing up from cache.  These locks would sit there and\nrepeatedly get scanned to see if they could be reclaimed, wasting a lot\nof time when there was memory pressure. This fix does more checks on the\nlocks to see if they are actually likely to be removable from cache.\n\nSigned-off-by: Benjamin Marzinski \u003cbmarzins@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "1e19a19584b332eb92a573b66b7342fb97e67507",
      "tree": "c02ad1ff429ba770da8bee47c5444be829729666",
      "parents": [
        "a51b56fff3f04fc5aa66b21a2a6d693ee9862d66"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jul 10 21:13:38 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jul 30 10:59:50 2009 +0100"
      },
      "message": "GFS2: Don\u0027t try and dealloc own inode\n\nWhen searching for unlinked, but still allocated inodes during block\nallocation, avoid the block relating to the inode that is doing the\nallocation. This fixes a hang caused when an unlinked, but still\nopen, inode tries to allocate some more blocks and lands up\nfinding itself during the search for deallocatable inodes.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "a51b56fff3f04fc5aa66b21a2a6d693ee9862d66",
      "tree": "e93c25ebe818e7a157f2b878a9512ada0f2f2bd1",
      "parents": [
        "1946f70ab5e4eb8b54a8eaaedba2293a3750ab7e"
      ],
      "author": {
        "name": "Benjamin Marzinski",
        "email": "bmarzins@redhat.com",
        "time": "Tue Jun 30 13:51:11 2009 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jul 30 10:59:28 2009 +0100"
      },
      "message": "GFS2: Fix panic in glock memory shrinker\n\nIt is possible for gfs2_shrink_glock_memory() to check a glock for\ndemotion\nthat\u0027s in the process of being freed by gfs2_glock_put().  In this case,\ngfs2_shrink_glock_memory() will acquire a new reference to this glock,\nand\nthen try to free the glock itself when it drops the refernce.  To solve\nthis, gfs2_shrink_glock_memory() just needs to check if the glock is in\nthe process of being freed, and if so skip it without ever unlocking the\nlru_lock.\n\nSigned-off-by: Benjamin Marzinski \u003cbmarzins@redhat.com\u003e\nAcked-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "1946f70ab5e4eb8b54a8eaaedba2293a3750ab7e",
      "tree": "91cc1850c7777d5cdea8713710081f70bb63a202",
      "parents": [
        "2163b1e616c41c286f5ab79912671cd4bf52057c"
      ],
      "author": {
        "name": "Benjamin Marzinski",
        "email": "bmarzins@redhat.com",
        "time": "Thu Jun 25 15:09:51 2009 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jul 30 10:52:33 2009 +0100"
      },
      "message": "GFS2: keep statfs info in sync on grows\n\nGFS2 wasn\u0027t syncing its statfs info on grows.  This causes a problem\nwhen you grow the filesystem on multiple nodes.  GFS2 would calculate\nthe new space based on the resource groups (which are always current),\nand then assume that the filesystem had grown the from the existing\nstatfs size.  If you grew the filesystem on two different nodes in a\nshort time, the second node wouldn\u0027t see the statfs size change from the\nfirst node, and would assume that it was grown by a larger amount than\nit was.  When all these changes were synced out, the total fileystem\nsize would be incorrect (the first grow would be counted twice).\n\nThis patch syncs makes GFS2 read in the statfs changes from disk before\na grow, and write them out after the grow, while the master statfs inode\nis locked.\n\nSigned-off-by: Benjamin Marzinski \u003cbmarzins@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "2163b1e616c41c286f5ab79912671cd4bf52057c",
      "tree": "5f7170d724c69e0f51857367b5de5a2c0e9bdbae",
      "parents": [
        "4be3bd7849165e7efa6b0b35a23d6a3598d97465"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jun 25 16:30:26 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jul 30 10:52:14 2009 +0100"
      },
      "message": "GFS2: Shrink the shrinker\n\nThis patch removes some of the special cases that the shrinker\nwas trying to deal with. As a result we leave fewer items on\nthe list and none at all which cannot be demoted. This makes\nthe list scanning more efficient and solves some issues seen\nwith large numbers of inodes.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "5bd9052d79daa4c8beb45436c408b6de672adb82",
      "tree": "de976b18a0bbea6c48801a88aec56d618c4f78dc",
      "parents": [
        "7b91e2661addd8e2419cb45f6a322aa5dab9bcee"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Jul 30 02:26:14 2009 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Jul 30 02:26:14 2009 +0000"
      },
      "message": "[CIFS] Updates fs/cifs/CHANGES\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "91a5698d1f253d30f53f0c58d2504eaec481b854",
      "tree": "684d8060e16b33c6ede5b814dbd459e0c5cb1f39",
      "parents": [
        "084bad91afd0f40ff4db9ceb56e29234c314d8d1",
        "dddac6a7b445de95515f64fdf82fe5dc36c02f26"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 29 19:15:18 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 29 19:15:18 2009 -0700"
      },
      "message": "Merge branch \u0027pm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6\n\n* \u0027pm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6:\n  PM / Hibernate: Replace bdget call with simple atomic_inc of i_count\n  PM / ACPI: HP G7000 Notebook needs a SCI_EN resume quirk\n"
    },
    {
      "commit": "5c8053652328693d10551131432ef3573e77ed2d",
      "tree": "1ee02826893cd4a5cdc294cdce9e34847df2a495",
      "parents": [
        "1c29b3ff4f2d847464f7be3a0e179c6dfc69bd02"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Wed Jul 29 15:04:11 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 29 19:10:36 2009 -0700"
      },
      "message": "fs/ramfs/file-nommu.c needs include/linux/sched.h\n\nThis file makes use of various macros defined in files like asm/current.h\nor asm-generic/resource.h.  All these files can be included via sched.h.\nThe building of the !MMU ARM kernel (with additional patches) fails\nwithout this change.\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ccf5675a82a72bc1599b9b29cf33f7e391658485",
      "tree": "9a049faa35cdf3eee14005402d03ae3201b2d5fe",
      "parents": [
        "b7ebbb77f183061eb34dd210372d016c04371c26",
        "a39ea210ec8c8f6ed381f8dafbe755c57b8f30c3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 29 12:29:08 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 29 12:29:08 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6:\n  driver core: documentation: make it clear that sysfs is optional\n  driver core: sysdev: do not send KOBJ_ADD uevent if kobject_init_and_add fails\n  Dynamic debug: fix typo: -/-\u003e\n  driver core: firmware_class:fix memory leak of page pointers array\n  sysfs: fix hardlink count on device_move\n"
    },
    {
      "commit": "dddac6a7b445de95515f64fdf82fe5dc36c02f26",
      "tree": "39651610292d6b0c17f210f253a0dd16b022727d",
      "parents": [
        "ec79be26875f6c1468784876cb99192b7f41c7a5"
      ],
      "author": {
        "name": "Alan Jenkins",
        "email": "alan-jenkins@tuffmail.co.uk",
        "time": "Wed Jul 29 21:07:55 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jul 29 21:07:55 2009 +0200"
      },
      "message": "PM / Hibernate: Replace bdget call with simple atomic_inc of i_count\n\nCreate bdgrab().  This function copies an existing reference to a\nblock_device.  It is safe to call from any context.\n\nHibernation code wishes to copy a reference to the active swap device.\nRight now it calls bdget() under a spinlock, but this is wrong because\nbdget() can sleep.  It doesn\u0027t need a full bdget() because we already\nhold a reference to active swap devices (and the spinlock protects\nagainst swapoff).\n\nFixes http://bugzilla.kernel.org/show_bug.cgi?id\u003d13827\n\nSigned-off-by: Alan Jenkins \u003calan-jenkins@tuffmail.co.uk\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "655c5d8fc110a9d4f90cc831bd009936f3e8df28",
      "tree": "6acb038a6dd8831830d8ae2f5485a4e411d0b579",
      "parents": [
        "ce4adcc6e5320062e0d993eb75152d165aaabbe6",
        "f25784b35f590c81d5fb8245a8cd45e1afb6f1b2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 28 14:27:06 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 28 14:27:06 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: (22 commits)\n  Btrfs: Fix async caching interaction with unmount\n  Btrfs: change how we unpin extents\n  Btrfs: Correct redundant test in add_inode_ref\n  Btrfs: find smallest available device extent during chunk allocation\n  Btrfs: clear all space_info-\u003efull after removing a block group\n  Btrfs: make flushoncommit mount option correctly wait on ordered_extents\n  Btrfs: Avoid delayed reference update looping\n  Btrfs: Fix ordering of key field checks in btrfs_previous_item\n  Btrfs: find_free_dev_extent doesn\u0027t handle holes at the start of the device\n  Btrfs: Remove code duplication in comp_keys\n  Btrfs: async block group caching\n  Btrfs: use hybrid extents+bitmap rb tree for free space\n  Btrfs: Fix crash on read failures at mount\n  Btrfs: remove of redundant btrfs_header_level\n  Btrfs: adjust NULL test\n  Btrfs: Remove broken sanity check from btrfs_rmap_block()\n  Btrfs: convert nested spin_lock_irqsave to spin_lock\n  Btrfs: make sure all dirty blocks are written at commit time\n  Btrfs: fix locking issue in btrfs_find_next_key\n  Btrfs: fix double increment of path-\u003eslots[0] in btrfs_next_leaf\n  ...\n"
    },
    {
      "commit": "f151cd2c54ddc7714e2f740681350476cda03a28",
      "tree": "81591bb25357c0d02a0549efadb62b67ba166434",
      "parents": [
        "6352a29305373ae6196491e6d4669f301e26492e"
      ],
      "author": {
        "name": "Ramon de Carvalho Valle",
        "email": "ramon@risesecurity.org",
        "time": "Tue Jul 28 13:58:22 2009 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 28 14:26:06 2009 -0700"
      },
      "message": "eCryptfs: parse_tag_3_packet check tag 3 packet encrypted key size\n\nThe parse_tag_3_packet function does not check if the tag 3 packet contains a\nencrypted key size larger than ECRYPTFS_MAX_ENCRYPTED_KEY_BYTES.\n\nSigned-off-by: Ramon de Carvalho Valle \u003cramon@risesecurity.org\u003e\n[tyhicks@linux.vnet.ibm.com: Added printk newline and changed goto to out_free]\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\nCc: stable@kernel.org (2.6.27 and 30)\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6352a29305373ae6196491e6d4669f301e26492e",
      "tree": "ef68d8601812e1b190f67b69373ff5210191ea45",
      "parents": [
        "4733fd328f14280900435d9dbae1487d110a4d56"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Tue Jul 28 13:57:01 2009 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 28 14:26:06 2009 -0700"
      },
      "message": "eCryptfs: Check Tag 11 literal data buffer size\n\nTag 11 packets are stored in the metadata section of an eCryptfs file to\nstore the key signature(s) used to encrypt the file encryption key.\nAfter extracting the packet length field to determine the key signature\nlength, a check is not performed to see if the length would exceed the\nkey signature buffer size that was passed into parse_tag_11_packet().\n\nThanks to Ramon de Carvalho Valle for finding this bug using fsfuzzer.\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\nCc: stable@kernel.org (2.6.27 and 30)\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0f58b44582001c8bcdb75f36cf85ebbe5170e959",
      "tree": "4d9f1a2ff668f37db7f0d5b5076307213868d2fb",
      "parents": [
        "4733fd328f14280900435d9dbae1487d110a4d56"
      ],
      "author": {
        "name": "Peter Oberparleiter",
        "email": "oberpar@linux.vnet.ibm.com",
        "time": "Tue Jul 14 17:56:15 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jul 28 13:45:21 2009 -0700"
      },
      "message": "sysfs: fix hardlink count on device_move\n\nUpdate directory hardlink count when moving kobjects to a new parent.\nFixes the following problem which occurs when several devices are\nmoved to the same parent and then unregistered:\n\n\u003e ls -laF /sys/devices/css0/defunct/\n\u003e total 0\n\u003e drwxr-xr-x 4294967295 root root    0 2009-07-14 17:02 ./\n\u003e drwxr-xr-x        114 root root    0 2009-07-14 17:02 ../\n\u003e drwxr-xr-x          2 root root    0 2009-07-14 17:01 power/\n\u003e -rw-r--r--          1 root root 4096 2009-07-14 17:01 uevent\n\nSigned-off-by: Peter Oberparleiter \u003coberpar@linux.vnet.ibm.com\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f25784b35f590c81d5fb8245a8cd45e1afb6f1b2",
      "tree": "71306747041b6e4a5eaccc5028c770fed29b3f87",
      "parents": [
        "68b38550ddbea13d296184bf69edff387618b1d3"
      ],
      "author": {
        "name": "Yan Zheng",
        "email": "zheng.yan@oracle.com",
        "time": "Tue Jul 28 08:41:57 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Jul 28 08:41:57 2009 -0400"
      },
      "message": "Btrfs: Fix async caching interaction with unmount\n\n- don\u0027t stop the caching thread until btrfs_commit_super return.\n\n- if caching is interrupted by umount, set last to (u64)-1.\n  otherwise the un-scanned range of block group will be considered\n  as free extent.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "7b91e2661addd8e2419cb45f6a322aa5dab9bcee",
      "tree": "cf17b0ca2bffa52c7e450cd75d5277c35cc9eda4",
      "parents": [
        "fc013a58859b7cf85e53a05804a74952fe0a4117"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu Jul 23 15:22:30 2009 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Jul 28 00:51:59 2009 +0000"
      },
      "message": "cifs: fix error handling in mount-time DFS referral chasing code\n\nIf the referral is malformed or the hostname can\u0027t be resolved, then\nthe current code generates an oops. Fix it to handle these errors\ngracefully.\n\nReported-by: Sandro Mathys \u003csm@sandro-mathys.ch\u003e\nAcked-by: Igor Mammedov \u003cniallain@gmail.com\u003e\nCC: Stable \u003cstable@kernel.org\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "fc013a58859b7cf85e53a05804a74952fe0a4117",
      "tree": "012d671d822c281edef18f00992ec8c9ea4b0893",
      "parents": [
        "3a54297478e6578f96fd54bf4daa1751130aca86",
        "f44aebcc566d1d6275f7191867b9633dc11de2ee"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 27 15:54:10 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 27 15:54:10 2009 -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:\n  inotify: use GFP_NOFS under potential memory pressure\n  fsnotify: fix inotify tail drop check with path entries\n  inotify: check filename before dropping repeat events\n  fsnotify: use def_bool in kconfig instead of letting the user choose\n  inotify: fix error paths in inotify_update_watch\n  inotify: do not leak inode marks in inotify_add_watch\n  inotify: drop user watch count when a watch is removed\n"
    },
    {
      "commit": "a9355cf8e68baac964f815079b820d2680756300",
      "tree": "2b12b884520ea72e51dceeff4e474f0593c73754",
      "parents": [
        "9ae260270c90643156cda73427aa1f04c923e627",
        "4a19fb11a90fdbbcb3bc02effa036230d035ca28"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 27 12:15:56 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 27 12:15:56 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6:\n  jfs: Fix early release of acl in jfs_get_acl\n"
    },
    {
      "commit": "2bc20d09b03bca6e068e07440812d75b70b1c0b2",
      "tree": "50711d4320e12efd1439639af8464b69a3b7af6a",
      "parents": [
        "c7425eb4814bce40f3d117ff7a7870cc12e350e3",
        "f1015c447781729060c415f5133164c638561f25"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 27 12:12:10 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 27 12:12:10 2009 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6:\n  jbd: fix race between write_metadata_buffer and get_write_access\n  ext3: Get rid of extenddisksize parameter of ext3_get_blocks_handle()\n  jbd: Fix a race between checkpointing code and journal_get_write_access()\n  ext3: Fix truncation of symlinks after failed write\n  jbd: Fail to load a journal if it is too short\n"
    },
    {
      "commit": "c7425eb4814bce40f3d117ff7a7870cc12e350e3",
      "tree": "4253a0877cbc2cb3943e1a332d18bb8b3c05606a",
      "parents": [
        "9e1b32caa525cb236e80e9c671e179bcecccc657",
        "f1230c97978f52268d8c66e6f88e54c3d2092a75"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 27 12:11:43 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 27 12:11:43 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:\n  [CIFS] fix sparse warning\n  cifs: fix sb-\u003es_maxbytes so that it casts properly to a signed value\n  cifs: disable serverino if server doesn\u0027t support it\n"
    },
    {
      "commit": "68b38550ddbea13d296184bf69edff387618b1d3",
      "tree": "c0c3901b77f273ac08c39c641586884f41a90b84",
      "parents": [
        "631c07c8d12bcc6ce4a0fbfbd64ea843d78e2b10"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Mon Jul 27 13:57:01 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Jul 27 13:57:01 2009 -0400"
      },
      "message": "Btrfs: change how we unpin extents\n\nWe are racy with async block caching and unpinning extents.  This patch makes\nthings much less complicated by only unpinning the extent if the block group is\ncached.  We check the block_group-\u003ecached var under the block_group-\u003elock spin\nlock.  If it is set to BTRFS_CACHE_FINISHED then we update the pinned counters,\nand unpin the extent and add the free space back.  If it is not set to this, we\nstart the caching of the block group so the next time we unpin extents we can\nunpin the extent.  This keeps us from racing with the async caching threads,\nlets us kill the fs wide async thread counter, and keeps us from having to set\nDELALLOC bits for every extent we hit if there are caching kthreads going.\n\nOne thing that needed to be changed was btrfs_free_super_mirror_extents.  Now\ninstead of just looking for LOCKED extents, we also look for DIRTY extents,\nsince we could have left some extents pinned in the previous transaction that\nwill never get freed now that we are unmounting, which would cause us to leak\nmemory.  So btrfs_free_super_mirror_extents has been changed to\nbtrfs_free_pinned_extents, and it will clear the extents locked for the super\nmirror, and any remaining pinned extents that may be present.  Thank you,\n\nSigned-off-by: Josef Bacik \u003cjbacik@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "631c07c8d12bcc6ce4a0fbfbd64ea843d78e2b10",
      "tree": "67c1564674da446c0472d8265f67843ff6cbe891",
      "parents": [
        "9779b72f0584fd53e0de53f62f205bf0dc0db553"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Mon Jul 27 13:57:00 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Jul 27 13:57:00 2009 -0400"
      },
      "message": "Btrfs: Correct redundant test in add_inode_ref\n\ndir has already been tested.  It seems that this test should be on the\nrecently returned value inode.\n\nA simplified version of the semantic match that finds this problem is as\nfollows: (http://www.emn.fr/x-info/coccinelle/)\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "9779b72f0584fd53e0de53f62f205bf0dc0db553",
      "tree": "fc05718a138dbcf64069e0a2b4ffc84bf9abf5e7",
      "parents": [
        "283bb1979fa8580c4037d8df251449368c292a3b"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Jul 24 16:41:41 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Jul 24 16:41:41 2009 -0400"
      },
      "message": "Btrfs: find smallest available device extent during chunk allocation\n\nAllocating new block group is easy when the disk has plenty of space.\nBut things get difficult as the disk fills up, especially if\nthe FS has been run through btrfs-vol -b.  The balance operation\nis likely to make the total bytes available on the device greater\nthan the largest extent we\u0027ll actually be able to allocate.\n\nBut the device extent allocation code incorrectly assumes that a device\nwith 5G free will be able to allocate a 5G extent.  It isn\u0027t normally a\nproblem because device extents don\u0027t get freed unless btrfs-vol -b\nis run.\n\nThis fixes the device extent allocator to remember the largest free\nextent it can find, and then uses that value as a fallback.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    }
  ],
  "next": "283bb1979fa8580c4037d8df251449368c292a3b"
}
