)]}'
{
  "log": [
    {
      "commit": "eeb5b4ae81f4a750355fa0c15f4fea22fdf83be1",
      "tree": "d71cdc178b8643a5ddced54dc540403d11af9fa1",
      "parents": [
        "8045e2985012bdb95d832dfbcceae1815880a6ed"
      ],
      "author": {
        "name": "Kevin Dankwardt",
        "email": "k@kcomputing.com",
        "time": "Wed Feb 10 23:43:40 2010 +0900"
      },
      "committer": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Wed Feb 10 23:49:08 2010 +0900"
      },
      "message": "fat: Fix stat-\u003ef_namelen\n\nI found that the length of a file name when created cannot exceed 255\ncharacters, yet, pathconf(), via statfs(), returns the maximum as 260.\n\nSigned-off-by: Kevin Dankwardt \u003ck@kcomputing.com\u003e\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\n"
    },
    {
      "commit": "8045e2985012bdb95d832dfbcceae1815880a6ed",
      "tree": "513a853a81eee10f86047b681bf52132592b36b9",
      "parents": [
        "3c8ad49b015eb115fbd6982f56d530f53cf57f84"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Tue Jan 12 03:32:24 2010 +0900"
      },
      "committer": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Tue Jan 12 03:47:25 2010 +0900"
      },
      "message": "fat: Fix vfat_lookup()\n\nAfter d_find_alias(), vfat_lookup() checks !(-\u003ed_flags \u0026 DCACHE_DISCONNECTED)\nwithout IS_ROOT().  This means it hits non-anonymous but disconnected\ndentry. (NOTE: d_splice_alias() doesn\u0027t clear DCACHE_DISCONNECTED)\n\nBut, vfat_lookup() has interest to alias if it was non-anonymous. So,\nthis adds vfat_d_anon_disconn() helper to check it correctly.\n\nAnother bug is refcnt leak. It needs dput() for uninterested alias.\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\n"
    },
    {
      "commit": "82062e7b50280bcf0feca70ac35a44f375602976",
      "tree": "0321bff42945768990a92c3770d4270497c0e8ee",
      "parents": [
        "dbd6a7cfead4fa2d7ad3fefe47168fcb146ac5ba",
        "31370f62baa1460b785cee9944bdcaf63d19e567"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 08 14:03:55 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 08 14:03:55 2010 -0800"
      },
      "message": "Merge branch \u0027reiserfs/kill-bkl\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing\n\n* \u0027reiserfs/kill-bkl\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing:\n  reiserfs: Relax reiserfs_xattr_set_handle() while acquiring xattr locks\n  reiserfs: Fix unreachable statement\n  reiserfs: Don\u0027t call reiserfs_get_acl() with the reiserfs lock\n  reiserfs: Relax lock on xattr removing\n  reiserfs: Relax the lock before truncating pages\n  reiserfs: Fix recursive lock on lchown\n  reiserfs: Fix mistake in down_write() conversion\n"
    },
    {
      "commit": "dbd6a7cfead4fa2d7ad3fefe47168fcb146ac5ba",
      "tree": "826ac108e6da2b23edbd6dcd9dc126a2ccbbf1c9",
      "parents": [
        "d86527ddcab4684d1a051b5f35f023b4374b1271",
        "a539bd8c86549b545b4ed27a0cfaf53fe649054d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 08 13:57:32 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 08 13:57:32 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs:\n  xfs: kill some warnings on i386 builds\n"
    },
    {
      "commit": "e2b6d02cca533715d6be40fdfc32d3cc47333358",
      "tree": "0b5acc01e1d464f4bd9c133f7cee0de3df7cbc61",
      "parents": [
        "9035a6450d124a7787e5e3272b630a79d201555f",
        "56335936de1a41c8978fde62b2158af77ddc7258"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 08 13:55:14 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 08 13:55:14 2010 -0800"
      },
      "message": "Merge branch \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:\n  nfs: fix oops in nfs_rename()\n  sunrpc: fix build-time warning\n  sunrpc: on successful gss error pipe write, don\u0027t return error\n  SUNRPC: Fix the return value in gss_import_sec_context()\n  SUNRPC: Fix up an error return value in gss_import_sec_context_kerberos()\n"
    },
    {
      "commit": "a539bd8c86549b545b4ed27a0cfaf53fe649054d",
      "tree": "b31f3a00cc96147e3872534ba0d713f828f89f5b",
      "parents": [
        "74d2e4f8d79ae0c4b6ec027958d5b18058662eea"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Dec 17 00:20:07 2009 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Jan 08 13:32:29 2010 -0600"
      },
      "message": "xfs: kill some warnings on i386 builds\n\nRandy Dunlap Reported printk() format-related warnings reported\non i386 builds in his environment.  Dave Chinner provided this\npatch to eliminate them.\n\nSigned-off by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\n\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "31370f62baa1460b785cee9944bdcaf63d19e567",
      "tree": "cc3846f1a623366c61c4f16860f4ed62c68ea03f",
      "parents": [
        "e0baec1b63632f25ea8101b76edaca0accc061ec"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Jan 07 15:55:31 2010 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Jan 07 16:02:53 2010 +0100"
      },
      "message": "reiserfs: Relax reiserfs_xattr_set_handle() while acquiring xattr locks\n\nFix remaining xattr locks acquired in reiserfs_xattr_set_handle()\nwhile we are holding the reiserfs lock to avoid lock inversions.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Christian Kujau \u003clists@nerdbynature.de\u003e\nCc: Alexander Beregalov \u003ca.beregalov@gmail.com\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e0baec1b63632f25ea8101b76edaca0accc061ec",
      "tree": "d4395fde34e5c1d714c14e17ffe38f280ebadb0f",
      "parents": [
        "6c28705418de012216161b14a2ff1dda3da3d786"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Wed Jan 06 23:09:50 2010 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Jan 07 14:03:18 2010 +0100"
      },
      "message": "reiserfs: Fix unreachable statement\n\nStanse found an unreachable statement in reiserfs_ioctl. There is a\nif followed by error assignment and `break\u0027 with no braces. Add the\nbraces so that we don\u0027t break every time, but only in error case,\nso that REISERFS_IOC_SETVERSION actually works when it returns no\nerror.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: Reiserfs \u003creiserfs-devel@vger.kernel.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "6c28705418de012216161b14a2ff1dda3da3d786",
      "tree": "f9765f8ef8dc55a61ba354fb2516a4d172ef4591",
      "parents": [
        "4f3be1b5a98587b86cae05aa5d129dd0b3fff466"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Jan 07 12:57:47 2010 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Jan 07 13:46:48 2010 +0100"
      },
      "message": "reiserfs: Don\u0027t call reiserfs_get_acl() with the reiserfs lock\n\nreiserfs_get_acl is usually not called under the reiserfs lock,\nas it doesn\u0027t need it. But it happens when it is called by\nreiserfs_acl_chmod(), which creates a dependency inversion against\nthe private xattr inodes mutexes for the given inode.\n\nWe need to call it without the reiserfs lock, especially since\nit\u0027s unnecessary.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Christian Kujau \u003clists@nerdbynature.de\u003e\nCc: Alexander Beregalov \u003ca.beregalov@gmail.com\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "04e4f2b18c8de1389d1e00fef0f42a8099910daf",
      "tree": "cd1ae20d055552a7ea9b9a21ee01a052589a66f5",
      "parents": [
        "93939f4e5df30e6229a0b5257fdcaf3faf88471c"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Wed Jan 06 17:23:17 2010 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 06 18:16:02 2010 -0800"
      },
      "message": "FDPIC: Respect PT_GNU_STACK exec protection markings when creating NOMMU stack\n\nThe current code will load the stack size and protection markings, but\nthen only use the markings in the MMU code path.  The NOMMU code path\nalways passes PROT_EXEC to the mmap() call.  While this doesn\u0027t matter\nto most people whilst the code is running, it will cause a pointless\nicache flush when starting every FDPIC application.  Typically this\nicache flush will be of a region on the order of 128KB in size, or may\nbe the entire icache, depending on the facilities available on the CPU.\n\nIn the case where the arch default behaviour seems to be desired\n(EXSTACK_DEFAULT), we probe VM_STACK_FLAGS for VM_EXEC to determine\nwhether we should be setting PROT_EXEC or not.\n\nFor arches that support an MPU (Memory Protection Unit - an MMU without\nthe virtual mapping capability), setting PROT_EXEC or not will make an\nimportant difference.\n\nIt should be noted that this change also affects the executability of\nthe brk region, since ELF-FDPIC has that share with the stack.  However,\nthis is probably irrelevant as NOMMU programs aren\u0027t likely to use the\nbrk region, preferring instead allocation via mmap().\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "93939f4e5df30e6229a0b5257fdcaf3faf88471c",
      "tree": "f30acb3e4a35ea96b342f3b1dd25700e7b531def",
      "parents": [
        "b1c0ec8966fa79891b796f58bf2bda1026ca5566",
        "b292cf9ce70d221c3f04ff62db5ab13d9a249ca8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 06 18:10:15 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 06 18:10:15 2010 -0800"
      },
      "message": "Merge branch \u0027for-2.6.33\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.33\u0027 of git://linux-nfs.org/~bfields/linux:\n  sunrpc: fix peername failed on closed listener\n  nfsd: make sure data is on disk before calling -\u003efsync\n  nfsd: fix \"insecure\" export option\n"
    },
    {
      "commit": "56335936de1a41c8978fde62b2158af77ddc7258",
      "tree": "f0061bef629a1c6a14e08f1b660b3beca0adc7cd",
      "parents": [
        "6c8530993e1fdf1d6af0403e796fe14d80b4b097"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Wed Jan 06 18:48:26 2010 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 06 18:48:26 2010 -0500"
      },
      "message": "nfs: fix oops in nfs_rename()\n\nRecent change is missing to update \"rehash\".  With that change, it will\nbecome the cause of adding dentry to hash twice.\n\nThis explains the reason of Oops (dereference the freed dentry in\n__d_lookup()) on my machine.\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nReported-by: Marvin \u003cmarvin24@gmx.de\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7211a4e859ad070b28545c06e0a6cb60b3b8aa31",
      "tree": "2a769132446f73cf593661428e68d7086168a5b2",
      "parents": [
        "f69ac2f5a36948e1adf071074414c5d1907b89b7"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Dec 25 17:44:45 2009 +0100"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jan 06 17:37:26 2010 -0500"
      },
      "message": "nfsd: make sure data is on disk before calling -\u003efsync\n\nnfsd is not using vfs_fsync, so I missed it when changing the calling\nconvention during the 2.6.32 window.  This patch fixes it to not only\nstart the data writeout, but also wait for it to complete before calling\ninto -\u003efsync.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: stable@kernel.org\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "c6f7afaeeda5b3c42ea8d7b27e197d223a04675e",
      "tree": "9a86bc9593ef8219bfc469e277d1b327f38aed9e",
      "parents": [
        "34e2fde8a496cf9d7c184ef12eafd3dd854586f1",
        "efd124b999fb4d426b30675f1684521af0872789"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 06 01:41:07 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 06 01:41:07 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.open-osd.org/linux-open-osd\n\n* \u0027for-linus\u0027 of git://git.open-osd.org/linux-open-osd:\n  exofs: simple_write_end does not mark_inode_dirty\n  exofs: fix pnfs_osd re-definitions in pre-pnfs trees\n"
    },
    {
      "commit": "6307daad8496f5807a2ef60cbada55fe3b59c44e",
      "tree": "fc2e3a56f89c445415fff1e9ce18312f7392b5b4",
      "parents": [
        "f843b0fcc70094d87fea8c7004937388c316ea7a",
        "86470e98cc52532006f47a6cb96d3ebe1ba7ad97"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 05 16:01:04 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 05 16:01:04 2010 -0800"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2:\n  ocfs2: Handle O_DIRECT when writing to a refcounted cluster.\n"
    },
    {
      "commit": "efd124b999fb4d426b30675f1684521af0872789",
      "tree": "f9421d61b3c4faf682fc1a52b72b241fa9b37558",
      "parents": [
        "89be503021f550575fc896671b569941140b2c2e"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun Dec 27 17:01:42 2009 +0200"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Tue Jan 05 09:14:32 2010 +0200"
      },
      "message": "exofs: simple_write_end does not mark_inode_dirty\n\nexofs uses simple_write_end() for it\u0027s .write_end handler. But\nit is not enough because simple_write_end() does not call\nmark_inode_dirty() when it extends i_size. So even if we do\ncall mark_inode_dirty at beginning of write out, with a very\nlong IO and a saturated system we might get the .write_inode()\ncalled while still extend-writing to file and miss out on the last\ni_size updates.\n\nSo override .write_end, call simple_write_end(), and afterwords if\ni_size was changed call mark_inode_dirty().\n\nIt stands to logic that since simple_write_end() was the one extending\ni_size it should also call mark_inode_dirty(). But it looks like all\nusers of simple_write_end() are memory-bound pseudo filesystems, who\ncould careless about mark_inode_dirty(). I might submit a\nwarning-comment patch to simple_write_end() in future.\n\nCC: Stable \u003cstable@kernel.org\u003e\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n"
    },
    {
      "commit": "89be503021f550575fc896671b569941140b2c2e",
      "tree": "123d325b3cfd21215eee418c4089ce4ceca663d5",
      "parents": [
        "c5974b835a909ff15c3b7e6cf6789b5eb919f419"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Mon Dec 21 16:36:23 2009 +0200"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Tue Jan 05 09:14:32 2010 +0200"
      },
      "message": "exofs: fix pnfs_osd re-definitions in pre-pnfs trees\n\nSome on disk exofs constants and types are defined in the pnfs_osd_xdr.h\nfile. Since we needed these types before the pnfs-objects code was\naccepted to mainline we duplicated the minimal needed definitions into\nan exofs local header. The definitions where conditionally included\ndepending on !CONFIG_PNFS defined. So if PNFS was present in the tree\ndefinitions are taken from there and if not they are defined locally.\n\nThat was all good but, the CONFIG_PNFS is planed to be included upstream\nbefore the pnfs-objects is also included. (The first pnfs batch might be\npnfs-files only)\n\nSo condition exofs local definitions on the absence of pnfs_osd_xdr.h\ninclusion (__PNFS_OSD_XDR_H__ not defined). User code must make sure\nthat in future pnfs_osd_xdr.h will be included before fs/exofs/pnfs.h,\nwhich happens to be so in current code.\n\nOnce pnfs-objects hits mainline, exofs\u0027s local header will be removed.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n"
    },
    {
      "commit": "4f3be1b5a98587b86cae05aa5d129dd0b3fff466",
      "tree": "f4d9acd840357ccdd6d5e667132996c050d0a9fa",
      "parents": [
        "108d3943c021f0b66e860ba98ded40b82b677bd7"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Jan 05 02:14:30 2010 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Jan 05 08:00:50 2010 +0100"
      },
      "message": "reiserfs: Relax lock on xattr removing\n\nWhen we remove an xattr, we call lookup_and_delete_xattr()\nthat takes some private xattr inodes mutexes. But we hold\nthe reiserfs lock at this time, which leads to dependency\ninversions.\n\nWe can safely call lookup_and_delete_xattr() without the\nreiserfs lock, where xattr inodes lookups only need the\nxattr inodes mutexes.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Christian Kujau \u003clists@nerdbynature.de\u003e\nCc: Alexander Beregalov \u003ca.beregalov@gmail.com\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "108d3943c021f0b66e860ba98ded40b82b677bd7",
      "tree": "0567b063d5365e24bb418476310f412936e4dd8c",
      "parents": [
        "5fe1533fda8ae005541bd418a7a8bc4fa0cda522"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Jan 05 00:15:38 2010 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Jan 05 08:00:29 2010 +0100"
      },
      "message": "reiserfs: Relax the lock before truncating pages\n\nWhile truncating a file, reiserfs_setattr() calls inode_setattr()\nthat will truncate the mapping for the given inode, but for that\nit needs the pages locks.\n\nIn order to release these, the owners need the reiserfs lock to\ncomplete their jobs. But they can\u0027t, as we don\u0027t release it before\ncalling inode_setattr().\n\nWe need to do that to fix the following softlockups:\n\nINFO: task flush-8:0:2149 blocked for more than 120 seconds.\n\"echo 0 \u003e /proc/sys/kernel/hung_task_timeout_secs\" disables this message.\nflush-8:0     D f51af998     0  2149      2 0x00000000\n f51af9ac 00000092 00000002 f51af998 c2803304 00000000 c1894ad0 010f3000\n f51af9cc c1462604 c189ef80 f51af974 c1710304 f715b450 f715b5ec c2807c40\n 00000000 0005bb00 c2803320 c102c55b c1710304 c2807c50 c2803304 00000246\nCall Trace:\n [\u003cc1462604\u003e] ? schedule+0x434/0xb20\n [\u003cc102c55b\u003e] ? resched_task+0x4b/0x70\n [\u003cc106fa22\u003e] ? mark_held_locks+0x62/0x80\n [\u003cc146414d\u003e] ? mutex_lock_nested+0x1fd/0x350\n [\u003cc14640b9\u003e] mutex_lock_nested+0x169/0x350\n [\u003cc1178cde\u003e] ? reiserfs_write_lock+0x2e/0x40\n [\u003cc1178cde\u003e] reiserfs_write_lock+0x2e/0x40\n [\u003cc11719a2\u003e] do_journal_end+0xc2/0xe70\n [\u003cc1172912\u003e] journal_end+0xb2/0x120\n [\u003cc11686b3\u003e] ? pathrelse+0x33/0xb0\n [\u003cc11729e4\u003e] reiserfs_end_persistent_transaction+0x64/0x70\n [\u003cc1153caa\u003e] reiserfs_get_block+0x12ba/0x15f0\n [\u003cc106fa22\u003e] ? mark_held_locks+0x62/0x80\n [\u003cc1154b24\u003e] reiserfs_writepage+0xa74/0xe80\n [\u003cc1465a27\u003e] ? _raw_spin_unlock_irq+0x27/0x50\n [\u003cc11f3d25\u003e] ? radix_tree_gang_lookup_tag_slot+0x95/0xc0\n [\u003cc10b5377\u003e] ? find_get_pages_tag+0x127/0x1a0\n [\u003cc106fa22\u003e] ? mark_held_locks+0x62/0x80\n [\u003cc106fcd4\u003e] ? trace_hardirqs_on_caller+0x124/0x170\n [\u003cc10bc1e0\u003e] __writepage+0x10/0x40\n [\u003cc10bc9ab\u003e] write_cache_pages+0x16b/0x320\n [\u003cc10bc1d0\u003e] ? __writepage+0x0/0x40\n [\u003cc10bcb88\u003e] generic_writepages+0x28/0x40\n [\u003cc10bcbd5\u003e] do_writepages+0x35/0x40\n [\u003cc11059f7\u003e] writeback_single_inode+0xc7/0x330\n [\u003cc11067b2\u003e] writeback_inodes_wb+0x2c2/0x490\n [\u003cc1106a86\u003e] wb_writeback+0x106/0x1b0\n [\u003cc1106cf6\u003e] wb_do_writeback+0x106/0x1e0\n [\u003cc1106c18\u003e] ? wb_do_writeback+0x28/0x1e0\n [\u003cc1106e0a\u003e] bdi_writeback_task+0x3a/0xb0\n [\u003cc10cbb13\u003e] bdi_start_fn+0x63/0xc0\n [\u003cc10cbab0\u003e] ? bdi_start_fn+0x0/0xc0\n [\u003cc105d1f4\u003e] kthread+0x74/0x80\n [\u003cc105d180\u003e] ? kthread+0x0/0x80\n [\u003cc100327a\u003e] kernel_thread_helper+0x6/0x10\n3 locks held by flush-8:0/2149:\n #0:  (\u0026type-\u003es_umount_key#30){+++++.}, at: [\u003cc110676f\u003e] writeback_inodes_wb+0x27f/0x490\n #1:  (\u0026journal-\u003ej_mutex){+.+...}, at: [\u003cc117199a\u003e] do_journal_end+0xba/0xe70\n #2:  (\u0026REISERFS_SB(s)-\u003elock){+.+.+.}, at: [\u003cc1178cde\u003e] reiserfs_write_lock+0x2e/0x40\nINFO: task fstest:3813 blocked for more than 120 seconds.\n\"echo 0 \u003e /proc/sys/kernel/hung_task_timeout_secs\" disables this message.\nfstest        D 00000002     0  3813   3812 0x00000000\n f5103c94 00000082 f5103c40 00000002 f5ad5450 00000007 f5103c28 011f3000\n 00000006 f5ad5450 c10bb005 00000480 c1710304 f5ad5450 f5ad55ec c2907c40\n 00000001 f5ad5450 f5103c74 00000046 00000002 f5ad5450 00000007 f5103c6c\nCall Trace:\n [\u003cc10bb005\u003e] ? free_hot_cold_page+0x1d5/0x280\n [\u003cc1462d64\u003e] io_schedule+0x74/0xc0\n [\u003cc10b5a45\u003e] sync_page+0x35/0x60\n [\u003cc146325a\u003e] __wait_on_bit_lock+0x4a/0x90\n [\u003cc10b5a10\u003e] ? sync_page+0x0/0x60\n [\u003cc10b59e5\u003e] __lock_page+0x85/0x90\n [\u003cc105d660\u003e] ? wake_bit_function+0x0/0x60\n [\u003cc10bf654\u003e] truncate_inode_pages_range+0x1e4/0x2d0\n [\u003cc10bf75f\u003e] truncate_inode_pages+0x1f/0x30\n [\u003cc10bf7cf\u003e] truncate_pagecache+0x5f/0xa0\n [\u003cc10bf86a\u003e] vmtruncate+0x5a/0x70\n [\u003cc10fdb7d\u003e] inode_setattr+0x5d/0x190\n [\u003cc1150117\u003e] reiserfs_setattr+0x1f7/0x2f0\n [\u003cc1464569\u003e] ? down_write+0x49/0x70\n [\u003cc10fde01\u003e] notify_change+0x151/0x330\n [\u003cc10e6f3d\u003e] do_truncate+0x6d/0xa0\n [\u003cc10f4ce2\u003e] do_filp_open+0x9a2/0xcf0\n [\u003cc1465aec\u003e] ? _raw_spin_unlock+0x2c/0x50\n [\u003cc10fec50\u003e] ? alloc_fd+0xe0/0x100\n [\u003cc10e602d\u003e] do_sys_open+0x6d/0x130\n [\u003cc1002cfb\u003e] ? sysenter_exit+0xf/0x16\n [\u003cc10e615e\u003e] sys_open+0x2e/0x40\n [\u003cc1002ccc\u003e] sysenter_do_call+0x12/0x32\n3 locks held by fstest/3813:\n #0:  (\u0026sb-\u003es_type-\u003ei_mutex_key#4){+.+.+.}, at: [\u003cc10e6f33\u003e] do_truncate+0x63/0xa0\n #1:  (\u0026sb-\u003es_type-\u003ei_alloc_sem_key#3){+.+.+.}, at: [\u003cc10fdf07\u003e] notify_change+0x257/0x330\n #2:  (\u0026REISERFS_SB(s)-\u003elock){+.+.+.}, at: [\u003cc1178c8e\u003e] reiserfs_write_lock_once+0x2e/0x50\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Christian Kujau \u003clists@nerdbynature.de\u003e\nCc: Alexander Beregalov \u003ca.beregalov@gmail.com\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5fe1533fda8ae005541bd418a7a8bc4fa0cda522",
      "tree": "411dd7c99f884e914a34ce91d8f282bbc70c63c8",
      "parents": [
        "f3e22f48f37c1e14441c9f72ca8e63b1d4516745"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Jan 04 22:04:01 2010 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Jan 05 07:59:38 2010 +0100"
      },
      "message": "reiserfs: Fix recursive lock on lchown\n\nOn chown, reiserfs will call reiserfs_setattr() to change the owner\nof the given inode, but it may also recursively call\nreiserfs_setattr() to propagate the owner change to the private xattr\nfiles for this inode.\n\nHence, the reiserfs lock may be acquired twice which is not wanted\nas reiserfs_setattr() calls journal_begin() that is going to try to\nrelax the lock in order to safely acquire the journal mutex.\n\nUsing reiserfs_write_lock_once() from reiserfs_setattr() solves\nthe problem.\n\nThis fixes the following warning, that precedes a lockdep report.\n\nWARNING: at fs/reiserfs/lock.c:95 reiserfs_lock_check_recursive+0x3f/0x50()\nHardware name: MS-7418\nUnwanted recursive reiserfs lock!\nPid: 4189, comm: fsstress Not tainted 2.6.33-rc2-tip-atom+ #195\nCall Trace:\n [\u003cc1178bff\u003e] ? reiserfs_lock_check_recursive+0x3f/0x50\n [\u003cc1178bff\u003e] ? reiserfs_lock_check_recursive+0x3f/0x50\n [\u003cc103f7ac\u003e] warn_slowpath_common+0x6c/0xc0\n [\u003cc1178bff\u003e] ? reiserfs_lock_check_recursive+0x3f/0x50\n [\u003cc103f84b\u003e] warn_slowpath_fmt+0x2b/0x30\n [\u003cc1178bff\u003e] reiserfs_lock_check_recursive+0x3f/0x50\n [\u003cc1172ae3\u003e] do_journal_begin_r+0x83/0x350\n [\u003cc1172f2d\u003e] journal_begin+0x7d/0x140\n [\u003cc106509a\u003e] ? in_group_p+0x2a/0x30\n [\u003cc10fda71\u003e] ? inode_change_ok+0x91/0x140\n [\u003cc115007d\u003e] reiserfs_setattr+0x15d/0x2e0\n [\u003cc10f9bf3\u003e] ? dput+0xe3/0x140\n [\u003cc1465adc\u003e] ? _raw_spin_unlock+0x2c/0x50\n [\u003cc117831d\u003e] chown_one_xattr+0xd/0x10\n [\u003cc11780a3\u003e] reiserfs_for_each_xattr+0x113/0x2c0\n [\u003cc1178310\u003e] ? chown_one_xattr+0x0/0x10\n [\u003cc14641e9\u003e] ? mutex_lock_nested+0x2a9/0x350\n [\u003cc117826f\u003e] reiserfs_chown_xattrs+0x1f/0x60\n [\u003cc106509a\u003e] ? in_group_p+0x2a/0x30\n [\u003cc10fda71\u003e] ? inode_change_ok+0x91/0x140\n [\u003cc1150046\u003e] reiserfs_setattr+0x126/0x2e0\n [\u003cc1177c20\u003e] ? reiserfs_getxattr+0x0/0x90\n [\u003cc11b0d57\u003e] ? cap_inode_need_killpriv+0x37/0x50\n [\u003cc10fde01\u003e] notify_change+0x151/0x330\n [\u003cc10e659f\u003e] chown_common+0x6f/0x90\n [\u003cc10e67bd\u003e] sys_lchown+0x6d/0x80\n [\u003cc1002ccc\u003e] sysenter_do_call+0x12/0x32\n---[ end trace 7c2b77224c1442fc ]---\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Christian Kujau \u003clists@nerdbynature.de\u003e\nCc: Alexander Beregalov \u003ca.beregalov@gmail.com\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "846f99749ab68bbc7f75c74fec305de675b1a1bf",
      "tree": "4c1ca68cfea804bd5215d57844a16f69c566aedc",
      "parents": [
        "3e27249c84beed1c79d767b350e52ad038db9053"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat Jan 02 13:37:12 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 04 12:34:46 2010 -0800"
      },
      "message": "sysfs: Add lockdep annotations for the sysfs active reference\n\nHolding locks over device_del -\u003e kobject_del -\u003e sysfs_deactivate can\ncause deadlocks if those same locks are grabbed in sysfs show or store\nmethods.\n\nThe I model s_active count + completion as a sleeping read/write lock.\nI describe to lockdep sysfs_get_active as a read_trylock,\nsysfs_put_active as a read_unlock, and sysfs_deactivate as a\nwrite_lock and write_unlock pair.  This seems to capture the essence\nfor purposes of finding deadlocks, and in my testing gives finds real\nissues and ignores non-issues.\n\nThis brings us back to holding locks over kobject_del is a problem\nthat ideally we should find a way of addressing, but at least lockdep\ncan tell us about the problems instead of requiring developers to debug\nrare strange system deadlocks, that happen when sysfs files are removed\nwhile being written to.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d4d3b19212a1045ff8224e680375076b3677ede7",
      "tree": "a6ef0044ca7afbc3ddb631a2e158cc8a3b7ba7ba",
      "parents": [
        "e43c259777999d19532cf418ca69ce1288b42edc",
        "2f48912d1443a796f10c42c89cb386f0e3eca04d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 04 12:32:09 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 04 12:32:09 2010 -0800"
      },
      "message": "Merge branch \u0027sh/for-2.6.33\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6\n\n* \u0027sh/for-2.6.33\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6:\n  binfmt_elf_fdpic: Fix build breakage introduced by coredump changes.\n  sh: update defconfigs.\n  sh: Don\u0027t default enable PMB support.\n  sh: Disable PMB for SH4AL-DSP CPUs.\n  sh: Only provide a PCLK definition for legacy CPG CPUs.\n"
    },
    {
      "commit": "e43c259777999d19532cf418ca69ce1288b42edc",
      "tree": "d8fa5de63560d13917df4843f70a73189f77a33d",
      "parents": [
        "3e8d95d95eaf4b332f6e1862ffbaa80c24780767",
        "9d0be50230b333005635967f7ecd4897dbfd181b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 04 12:31:52 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 04 12:31:52 2010 -0800"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:\n  ext4: Calculate metadata requirements more accurately\n  ext4: Fix accounting of reserved metadata blocks\n"
    },
    {
      "commit": "a87da40875f5510866a699b72818cce09b0b9040",
      "tree": "bc8d18944263c8c0c76103072951c75ce77867da",
      "parents": [
        "45d28b097280a78893ce25a5d0db41e6a2717853",
        "6aff43f817ddc54fcd6f0215bfba5d334b0bbbbd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 04 12:28:26 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 04 12:28:26 2010 -0800"
      },
      "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: update mailing list address\n  nilfs2: Storage class should be before const qualifier\n  nilfs2: trivial coding style fix\n"
    },
    {
      "commit": "2f48912d1443a796f10c42c89cb386f0e3eca04d",
      "tree": "bbe8d4b4f095d7b810eb149273cae2aa4494c537",
      "parents": [
        "7dbcd8c55fa9b39fe27383b697b8989697c1e1c5"
      ],
      "author": {
        "name": "Daisuke HATAYAMA",
        "email": "d.hatayama@jp.fujitsu.com",
        "time": "Mon Jan 04 15:42:14 2010 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Mon Jan 04 15:42:14 2010 +0900"
      },
      "message": "binfmt_elf_fdpic: Fix build breakage introduced by coredump changes.\n\nCommit f6151dfea21496d43dbaba32cfcd9c9f404769bc introduces build\nbreakage, so this patch fixes it together with some printk formatting\ncleanup.\n\nSigned-off-by: Daisuke HATAYAMA \u003cd.hatayama@jp.fujitsu.com\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "f3e22f48f37c1e14441c9f72ca8e63b1d4516745",
      "tree": "762d2fcf7d0c087413fe54897a63b6424aceef84",
      "parents": [
        "835d5247d98f46e35d007dcfa6215e526ca33360"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Jan 03 03:44:53 2010 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Jan 03 03:44:53 2010 +0100"
      },
      "message": "reiserfs: Fix mistake in down_write() conversion\n\nFix a mistake in commit 0719d3434747889b314a1e8add776418c4148bcf\n(reiserfs: Fix reiserfs lock \u003c-\u003e i_xattr_sem dependency inversion)\nthat has converted a down_write() into a down_read() accidentally.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Christian Kujau \u003clists@nerdbynature.de\u003e\nCc: Alexander Beregalov \u003ca.beregalov@gmail.com\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "45d28b097280a78893ce25a5d0db41e6a2717853",
      "tree": "0c2049700c5fca3fc9d73d2f347fab21e84765f8",
      "parents": [
        "4207a152bc242effd0b8231143aa5b9f7a1593a9",
        "835d5247d98f46e35d007dcfa6215e526ca33360"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 02 11:17:05 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 02 11:17:05 2010 -0800"
      },
      "message": "Merge branch \u0027reiserfs/kill-bkl\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing\n\n* \u0027reiserfs/kill-bkl\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing:\n  reiserfs: Safely acquire i_mutex from xattr_rmdir\n  reiserfs: Safely acquire i_mutex from reiserfs_for_each_xattr\n  reiserfs: Fix journal mutex \u003c-\u003e inode mutex lock inversion\n  reiserfs: Fix unwanted recursive reiserfs lock in reiserfs_unlink()\n  reiserfs: Relax lock before open xattr dir in reiserfs_xattr_set_handle()\n  reiserfs: Relax reiserfs lock while freeing the journal\n  reiserfs: Fix reiserfs lock \u003c-\u003e i_mutex dependency inversion on xattr\n  reiserfs: Warn on lock relax if taken recursively\n  reiserfs: Fix reiserfs lock \u003c-\u003e i_xattr_sem dependency inversion\n  reiserfs: Fix remaining in-reclaim-fs \u003c-\u003e reclaim-fs-on locking inversion\n  reiserfs: Fix reiserfs lock \u003c-\u003e inode mutex dependency inversion\n  reiserfs: Fix reiserfs lock and journal lock inversion dependency\n  reiserfs: Fix possible recursive lock\n"
    },
    {
      "commit": "4b6764fa9e25cf628e42bbd192eca1e0b8e59061",
      "tree": "7f583f864daf939a4dcadd50a6119629110943bc",
      "parents": [
        "cd6e125c58ae1561bedb6ea6f70b00d6c2599d62"
      ],
      "author": {
        "name": "Jaswinder Singh Rajput",
        "email": "jaswinderrajput@gmail.com",
        "time": "Fri Jan 01 20:35:23 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 02 10:09:44 2010 -0800"
      },
      "message": "writeback: add missing kernel-doc notation\n\nFix the following htmldocs warning:\n\n  Warning(fs/fs-writeback.c:255): No description found for parameter \u0027sb\u0027\n\nSigned-off-by: Jaswinder Singh Rajput \u003cjaswinderrajput@gmail.com\u003e\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nAcked-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "835d5247d98f46e35d007dcfa6215e526ca33360",
      "tree": "83caead46ca375781c93648e54adb6873204f569",
      "parents": [
        "8b513f56d4e117f11cf0760abcc030eedefc45c3"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Dec 30 07:40:39 2009 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Jan 02 01:59:48 2010 +0100"
      },
      "message": "reiserfs: Safely acquire i_mutex from xattr_rmdir\n\nRelax the reiserfs lock before taking the inode mutex from\nxattr_rmdir() to avoid the usual reiserfs lock \u003c-\u003e inode mutex\nbad dependency.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nTested-by: Christian Kujau \u003clists@nerdbynature.de\u003e\nCc: Alexander Beregalov \u003ca.beregalov@gmail.com\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8b513f56d4e117f11cf0760abcc030eedefc45c3",
      "tree": "3684dbe60c43a1c6484513e31227604452a4001f",
      "parents": [
        "4dd859697f836cf62c8de08bd9a9f4b4f4beaa91"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Dec 30 07:28:58 2009 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Jan 02 01:59:14 2010 +0100"
      },
      "message": "reiserfs: Safely acquire i_mutex from reiserfs_for_each_xattr\n\nRelax the reiserfs lock before taking the inode mutex from\nreiserfs_for_each_xattr() to avoid the usual bad dependencies:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ INFO: possible circular locking dependency detected ]\n2.6.32-atom #179\n-------------------------------------------------------\nrm/3242 is trying to acquire lock:\n (\u0026sb-\u003es_type-\u003ei_mutex_key#4/3){+.+.+.}, at: [\u003cc11428ef\u003e] reiserfs_for_each_xattr+0x23f/0x290\n\nbut task is already holding lock:\n (\u0026REISERFS_SB(s)-\u003elock){+.+.+.}, at: [\u003cc1143389\u003e] reiserfs_write_lock+0x29/0x40\n\nwhich lock already depends on the new lock.\n\nthe existing dependency chain (in reverse order) is:\n\n-\u003e #1 (\u0026REISERFS_SB(s)-\u003elock){+.+.+.}:\n       [\u003cc105ea7f\u003e] __lock_acquire+0x11ff/0x19e0\n       [\u003cc105f2c8\u003e] lock_acquire+0x68/0x90\n       [\u003cc1401aab\u003e] mutex_lock_nested+0x5b/0x340\n       [\u003cc1143339\u003e] reiserfs_write_lock_once+0x29/0x50\n       [\u003cc1117022\u003e] reiserfs_lookup+0x62/0x140\n       [\u003cc10bd85f\u003e] __lookup_hash+0xef/0x110\n       [\u003cc10bf21d\u003e] lookup_one_len+0x8d/0xc0\n       [\u003cc1141e3a\u003e] open_xa_dir+0xea/0x1b0\n       [\u003cc1142720\u003e] reiserfs_for_each_xattr+0x70/0x290\n       [\u003cc11429ba\u003e] reiserfs_delete_xattrs+0x1a/0x60\n       [\u003cc111ea2f\u003e] reiserfs_delete_inode+0x9f/0x150\n       [\u003cc10c9c32\u003e] generic_delete_inode+0xa2/0x170\n       [\u003cc10c9d4f\u003e] generic_drop_inode+0x4f/0x70\n       [\u003cc10c8b07\u003e] iput+0x47/0x50\n       [\u003cc10c0965\u003e] do_unlinkat+0xd5/0x160\n       [\u003cc10c0b13\u003e] sys_unlinkat+0x23/0x40\n       [\u003cc1002ec4\u003e] sysenter_do_call+0x12/0x32\n\n-\u003e #0 (\u0026sb-\u003es_type-\u003ei_mutex_key#4/3){+.+.+.}:\n       [\u003cc105f176\u003e] __lock_acquire+0x18f6/0x19e0\n       [\u003cc105f2c8\u003e] lock_acquire+0x68/0x90\n       [\u003cc1401aab\u003e] mutex_lock_nested+0x5b/0x340\n       [\u003cc11428ef\u003e] reiserfs_for_each_xattr+0x23f/0x290\n       [\u003cc11429ba\u003e] reiserfs_delete_xattrs+0x1a/0x60\n       [\u003cc111ea2f\u003e] reiserfs_delete_inode+0x9f/0x150\n       [\u003cc10c9c32\u003e] generic_delete_inode+0xa2/0x170\n       [\u003cc10c9d4f\u003e] generic_drop_inode+0x4f/0x70\n       [\u003cc10c8b07\u003e] iput+0x47/0x50\n       [\u003cc10c0965\u003e] do_unlinkat+0xd5/0x160\n       [\u003cc10c0b13\u003e] sys_unlinkat+0x23/0x40\n       [\u003cc1002ec4\u003e] sysenter_do_call+0x12/0x32\n\nother info that might help us debug this:\n\n1 lock held by rm/3242:\n #0:  (\u0026REISERFS_SB(s)-\u003elock){+.+.+.}, at: [\u003cc1143389\u003e] reiserfs_write_lock+0x29/0x40\n\nstack backtrace:\nPid: 3242, comm: rm Not tainted 2.6.32-atom #179\nCall Trace:\n [\u003cc13ffa13\u003e] ? printk+0x18/0x1a\n [\u003cc105d33a\u003e] print_circular_bug+0xca/0xd0\n [\u003cc105f176\u003e] __lock_acquire+0x18f6/0x19e0\n [\u003cc105c932\u003e] ? mark_held_locks+0x62/0x80\n [\u003cc105cc3b\u003e] ? trace_hardirqs_on+0xb/0x10\n [\u003cc1401098\u003e] ? mutex_unlock+0x8/0x10\n [\u003cc105f2c8\u003e] lock_acquire+0x68/0x90\n [\u003cc11428ef\u003e] ? reiserfs_for_each_xattr+0x23f/0x290\n [\u003cc11428ef\u003e] ? reiserfs_for_each_xattr+0x23f/0x290\n [\u003cc1401aab\u003e] mutex_lock_nested+0x5b/0x340\n [\u003cc11428ef\u003e] ? reiserfs_for_each_xattr+0x23f/0x290\n [\u003cc11428ef\u003e] reiserfs_for_each_xattr+0x23f/0x290\n [\u003cc1143180\u003e] ? delete_one_xattr+0x0/0x100\n [\u003cc11429ba\u003e] reiserfs_delete_xattrs+0x1a/0x60\n [\u003cc1143339\u003e] ? reiserfs_write_lock_once+0x29/0x50\n [\u003cc111ea2f\u003e] reiserfs_delete_inode+0x9f/0x150\n [\u003cc11b0d4f\u003e] ? _atomic_dec_and_lock+0x4f/0x70\n [\u003cc111e990\u003e] ? reiserfs_delete_inode+0x0/0x150\n [\u003cc10c9c32\u003e] generic_delete_inode+0xa2/0x170\n [\u003cc10c9d4f\u003e] generic_drop_inode+0x4f/0x70\n [\u003cc10c8b07\u003e] iput+0x47/0x50\n [\u003cc10c0965\u003e] do_unlinkat+0xd5/0x160\n [\u003cc1401098\u003e] ? mutex_unlock+0x8/0x10\n [\u003cc10c3e0d\u003e] ? vfs_readdir+0x7d/0xb0\n [\u003cc10c3af0\u003e] ? filldir64+0x0/0xf0\n [\u003cc1002ef3\u003e] ? sysenter_exit+0xf/0x16\n [\u003cc105cbe4\u003e] ? trace_hardirqs_on_caller+0x124/0x170\n [\u003cc10c0b13\u003e] sys_unlinkat+0x23/0x40\n [\u003cc1002ec4\u003e] sysenter_do_call+0x12/0x32\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nTested-by: Christian Kujau \u003clists@nerdbynature.de\u003e\nCc: Alexander Beregalov \u003ca.beregalov@gmail.com\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4dd859697f836cf62c8de08bd9a9f4b4f4beaa91",
      "tree": "761ac40341fe99a0b78131241541f888d2242b88",
      "parents": [
        "c674905ca74ad0ae5b048afb1ef68663a0d7e987"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Dec 30 07:26:28 2009 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Jan 02 01:58:32 2010 +0100"
      },
      "message": "reiserfs: Fix journal mutex \u003c-\u003e inode mutex lock inversion\n\nWe need to relax the reiserfs lock before locking the inode mutex\nfrom xattr_unlink(), otherwise we\u0027ll face the usual bad dependencies:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ INFO: possible circular locking dependency detected ]\n2.6.32-atom #178\n-------------------------------------------------------\nrm/3202 is trying to acquire lock:\n (\u0026journal-\u003ej_mutex){+.+...}, at: [\u003cc113c234\u003e] do_journal_begin_r+0x94/0x360\n\nbut task is already holding lock:\n (\u0026sb-\u003es_type-\u003ei_mutex_key#4/2){+.+...}, at: [\u003cc1142a67\u003e] xattr_unlink+0x57/0xb0\n\nwhich lock already depends on the new lock.\n\nthe existing dependency chain (in reverse order) is:\n\n-\u003e #2 (\u0026sb-\u003es_type-\u003ei_mutex_key#4/2){+.+...}:\n       [\u003cc105ea7f\u003e] __lock_acquire+0x11ff/0x19e0\n       [\u003cc105f2c8\u003e] lock_acquire+0x68/0x90\n       [\u003cc1401a7b\u003e] mutex_lock_nested+0x5b/0x340\n       [\u003cc1142a67\u003e] xattr_unlink+0x57/0xb0\n       [\u003cc1143179\u003e] delete_one_xattr+0x29/0x100\n       [\u003cc11427bb\u003e] reiserfs_for_each_xattr+0x10b/0x290\n       [\u003cc11429ba\u003e] reiserfs_delete_xattrs+0x1a/0x60\n       [\u003cc111ea2f\u003e] reiserfs_delete_inode+0x9f/0x150\n       [\u003cc10c9c32\u003e] generic_delete_inode+0xa2/0x170\n       [\u003cc10c9d4f\u003e] generic_drop_inode+0x4f/0x70\n       [\u003cc10c8b07\u003e] iput+0x47/0x50\n       [\u003cc10c0965\u003e] do_unlinkat+0xd5/0x160\n       [\u003cc10c0b13\u003e] sys_unlinkat+0x23/0x40\n       [\u003cc1002ec4\u003e] sysenter_do_call+0x12/0x32\n\n-\u003e #1 (\u0026REISERFS_SB(s)-\u003elock){+.+.+.}:\n       [\u003cc105ea7f\u003e] __lock_acquire+0x11ff/0x19e0\n       [\u003cc105f2c8\u003e] lock_acquire+0x68/0x90\n       [\u003cc1401a7b\u003e] mutex_lock_nested+0x5b/0x340\n       [\u003cc1143359\u003e] reiserfs_write_lock+0x29/0x40\n       [\u003cc113c23c\u003e] do_journal_begin_r+0x9c/0x360\n       [\u003cc113c680\u003e] journal_begin+0x80/0x130\n       [\u003cc1127363\u003e] reiserfs_remount+0x223/0x4e0\n       [\u003cc10b6dd6\u003e] do_remount_sb+0xa6/0x140\n       [\u003cc10ce6a0\u003e] do_mount+0x560/0x750\n       [\u003cc10ce914\u003e] sys_mount+0x84/0xb0\n       [\u003cc1002ec4\u003e] sysenter_do_call+0x12/0x32\n\n-\u003e #0 (\u0026journal-\u003ej_mutex){+.+...}:\n       [\u003cc105f176\u003e] __lock_acquire+0x18f6/0x19e0\n       [\u003cc105f2c8\u003e] lock_acquire+0x68/0x90\n       [\u003cc1401a7b\u003e] mutex_lock_nested+0x5b/0x340\n       [\u003cc113c234\u003e] do_journal_begin_r+0x94/0x360\n       [\u003cc113c680\u003e] journal_begin+0x80/0x130\n       [\u003cc1116d63\u003e] reiserfs_unlink+0x83/0x2e0\n       [\u003cc1142a74\u003e] xattr_unlink+0x64/0xb0\n       [\u003cc1143179\u003e] delete_one_xattr+0x29/0x100\n       [\u003cc11427bb\u003e] reiserfs_for_each_xattr+0x10b/0x290\n       [\u003cc11429ba\u003e] reiserfs_delete_xattrs+0x1a/0x60\n       [\u003cc111ea2f\u003e] reiserfs_delete_inode+0x9f/0x150\n       [\u003cc10c9c32\u003e] generic_delete_inode+0xa2/0x170\n       [\u003cc10c9d4f\u003e] generic_drop_inode+0x4f/0x70\n       [\u003cc10c8b07\u003e] iput+0x47/0x50\n       [\u003cc10c0965\u003e] do_unlinkat+0xd5/0x160\n       [\u003cc10c0b13\u003e] sys_unlinkat+0x23/0x40\n       [\u003cc1002ec4\u003e] sysenter_do_call+0x12/0x32\n\nother info that might help us debug this:\n\n2 locks held by rm/3202:\n #0:  (\u0026sb-\u003es_type-\u003ei_mutex_key#4/3){+.+.+.}, at: [\u003cc114274b\u003e] reiserfs_for_each_xattr+0x9b/0x290\n #1:  (\u0026sb-\u003es_type-\u003ei_mutex_key#4/2){+.+...}, at: [\u003cc1142a67\u003e] xattr_unlink+0x57/0xb0\n\nstack backtrace:\nPid: 3202, comm: rm Not tainted 2.6.32-atom #178\nCall Trace:\n [\u003cc13ff9e3\u003e] ? printk+0x18/0x1a\n [\u003cc105d33a\u003e] print_circular_bug+0xca/0xd0\n [\u003cc105f176\u003e] __lock_acquire+0x18f6/0x19e0\n [\u003cc1142a67\u003e] ? xattr_unlink+0x57/0xb0\n [\u003cc105f2c8\u003e] lock_acquire+0x68/0x90\n [\u003cc113c234\u003e] ? do_journal_begin_r+0x94/0x360\n [\u003cc113c234\u003e] ? do_journal_begin_r+0x94/0x360\n [\u003cc1401a7b\u003e] mutex_lock_nested+0x5b/0x340\n [\u003cc113c234\u003e] ? do_journal_begin_r+0x94/0x360\n [\u003cc113c234\u003e] do_journal_begin_r+0x94/0x360\n [\u003cc10411b6\u003e] ? run_timer_softirq+0x1a6/0x220\n [\u003cc103cb00\u003e] ? __do_softirq+0x50/0x140\n [\u003cc113c680\u003e] journal_begin+0x80/0x130\n [\u003cc103cba2\u003e] ? __do_softirq+0xf2/0x140\n [\u003cc104f72f\u003e] ? hrtimer_interrupt+0xdf/0x220\n [\u003cc1116d63\u003e] reiserfs_unlink+0x83/0x2e0\n [\u003cc105c932\u003e] ? mark_held_locks+0x62/0x80\n [\u003cc11b8d08\u003e] ? trace_hardirqs_on_thunk+0xc/0x10\n [\u003cc1002fd8\u003e] ? restore_all_notrace+0x0/0x18\n [\u003cc1142a67\u003e] ? xattr_unlink+0x57/0xb0\n [\u003cc1142a74\u003e] xattr_unlink+0x64/0xb0\n [\u003cc1143179\u003e] delete_one_xattr+0x29/0x100\n [\u003cc11427bb\u003e] reiserfs_for_each_xattr+0x10b/0x290\n [\u003cc1143150\u003e] ? delete_one_xattr+0x0/0x100\n [\u003cc1401cb9\u003e] ? mutex_lock_nested+0x299/0x340\n [\u003cc11429ba\u003e] reiserfs_delete_xattrs+0x1a/0x60\n [\u003cc1143309\u003e] ? reiserfs_write_lock_once+0x29/0x50\n [\u003cc111ea2f\u003e] reiserfs_delete_inode+0x9f/0x150\n [\u003cc11b0d1f\u003e] ? _atomic_dec_and_lock+0x4f/0x70\n [\u003cc111e990\u003e] ? reiserfs_delete_inode+0x0/0x150\n [\u003cc10c9c32\u003e] generic_delete_inode+0xa2/0x170\n [\u003cc10c9d4f\u003e] generic_drop_inode+0x4f/0x70\n [\u003cc10c8b07\u003e] iput+0x47/0x50\n [\u003cc10c0965\u003e] do_unlinkat+0xd5/0x160\n [\u003cc1401068\u003e] ? mutex_unlock+0x8/0x10\n [\u003cc10c3e0d\u003e] ? vfs_readdir+0x7d/0xb0\n [\u003cc10c3af0\u003e] ? filldir64+0x0/0xf0\n [\u003cc1002ef3\u003e] ? sysenter_exit+0xf/0x16\n [\u003cc105cbe4\u003e] ? trace_hardirqs_on_caller+0x124/0x170\n [\u003cc10c0b13\u003e] sys_unlinkat+0x23/0x40\n [\u003cc1002ec4\u003e] sysenter_do_call+0x12/0x32\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nTested-by: Christian Kujau \u003clists@nerdbynature.de\u003e\nCc: Alexander Beregalov \u003ca.beregalov@gmail.com\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c674905ca74ad0ae5b048afb1ef68663a0d7e987",
      "tree": "3f269bdda58519c012cf0505e36cee158ec7064b",
      "parents": [
        "3f14fea6bbd3444dd46a2af3a2e219e792616645"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Dec 30 07:12:03 2009 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Jan 02 01:57:32 2010 +0100"
      },
      "message": "reiserfs: Fix unwanted recursive reiserfs lock in reiserfs_unlink()\n\nreiserfs_unlink() may or may not be called under the reiserfs\nlock.\nBut it also takes the reiserfs lock and can then acquire it\nrecursively which leads to do_journal_begin_r() that fails to\nrelax the reiserfs lock before grabbing the journal mutex,\ncreating an unexpected lock inversion.\n\nWe need to ensure reiserfs_unlink() won\u0027t get the reiserfs lock\nrecursively using reiserfs_write_lock_once().\n\nThis fixes the following warning that precedes a lock inversion\nreport (reiserfs lock \u003c-\u003e journal mutex).\n\n------------[ cut here ]------------\nWARNING: at fs/reiserfs/lock.c:95 reiserfs_lock_check_recursive+0x3a/0x50()\nHardware name: MS-7418\nUnwanted recursive reiserfs lock!\nPid: 3208, comm: dbench Not tainted 2.6.32-atom #177\nCall Trace:\n [\u003cc114327a\u003e] ? reiserfs_lock_check_recursive+0x3a/0x50\n [\u003cc114327a\u003e] ? reiserfs_lock_check_recursive+0x3a/0x50\n [\u003cc10373a7\u003e] warn_slowpath_common+0x67/0xc0\n [\u003cc114327a\u003e] ? reiserfs_lock_check_recursive+0x3a/0x50\n [\u003cc1037446\u003e] warn_slowpath_fmt+0x26/0x30\n [\u003cc114327a\u003e] reiserfs_lock_check_recursive+0x3a/0x50\n [\u003cc113c213\u003e] do_journal_begin_r+0x83/0x360\n [\u003cc105eb16\u003e] ? __lock_acquire+0x1296/0x19e0\n [\u003cc1142a57\u003e] ? xattr_unlink+0x57/0xb0\n [\u003cc113c670\u003e] journal_begin+0x80/0x130\n [\u003cc1116d5d\u003e] reiserfs_unlink+0x7d/0x2d0\n [\u003cc1142a57\u003e] ? xattr_unlink+0x57/0xb0\n [\u003cc1142a57\u003e] ? xattr_unlink+0x57/0xb0\n [\u003cc1142a57\u003e] ? xattr_unlink+0x57/0xb0\n [\u003cc1142a64\u003e] xattr_unlink+0x64/0xb0\n [\u003cc1143169\u003e] delete_one_xattr+0x29/0x100\n [\u003cc11427ab\u003e] reiserfs_for_each_xattr+0x10b/0x290\n [\u003cc1143140\u003e] ? delete_one_xattr+0x0/0x100\n [\u003cc1401ca9\u003e] ? mutex_lock_nested+0x299/0x340\n [\u003cc11429aa\u003e] reiserfs_delete_xattrs+0x1a/0x60\n [\u003cc11432f9\u003e] ? reiserfs_write_lock_once+0x29/0x50\n [\u003cc111ea1f\u003e] reiserfs_delete_inode+0x9f/0x150\n [\u003cc11b0d0f\u003e] ? _atomic_dec_and_lock+0x4f/0x70\n [\u003cc111e980\u003e] ? reiserfs_delete_inode+0x0/0x150\n [\u003cc10c9c32\u003e] generic_delete_inode+0xa2/0x170\n [\u003cc10c9d4f\u003e] generic_drop_inode+0x4f/0x70\n [\u003cc10c8b07\u003e] iput+0x47/0x50\n [\u003cc10c0965\u003e] do_unlinkat+0xd5/0x160\n [\u003cc10505c6\u003e] ? up_read+0x16/0x30\n [\u003cc1022ab7\u003e] ? do_page_fault+0x187/0x330\n [\u003cc1002fd8\u003e] ? restore_all_notrace+0x0/0x18\n [\u003cc1022930\u003e] ? do_page_fault+0x0/0x330\n [\u003cc105cbe4\u003e] ? trace_hardirqs_on_caller+0x124/0x170\n [\u003cc10c0a00\u003e] sys_unlink+0x10/0x20\n [\u003cc1002ec4\u003e] sysenter_do_call+0x12/0x32\n---[ end trace 2e35d71a6cc69d0c ]---\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nTested-by: Christian Kujau \u003clists@nerdbynature.de\u003e\nCc: Alexander Beregalov \u003ca.beregalov@gmail.com\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3f14fea6bbd3444dd46a2af3a2e219e792616645",
      "tree": "84d1af175646801c766fb7b63dbd5eb40641a34d",
      "parents": [
        "0523676d3f3aa7edeea63cc3a1bc4dc612380a26"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Dec 30 07:03:53 2009 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Jan 02 01:57:01 2010 +0100"
      },
      "message": "reiserfs: Relax lock before open xattr dir in reiserfs_xattr_set_handle()\n\nWe call xattr_lookup() from reiserfs_xattr_get(). We then hold\nthe reiserfs lock when we grab the i_mutex. But later, we may\nrelax the reiserfs lock, creating dependency inversion between\nboth locks.\n\nThe lookups and creation jobs ar already protected by the\ninode mutex, so we can safely relax the reiserfs lock, dropping\nthe unwanted reiserfs lock -\u003e i_mutex dependency, as shown\nin the following lockdep report:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ INFO: possible circular locking dependency detected ]\n2.6.32-atom #173\n-------------------------------------------------------\ncp/3204 is trying to acquire lock:\n (\u0026REISERFS_SB(s)-\u003elock){+.+.+.}, at: [\u003cc11432b9\u003e] reiserfs_write_lock_once+0x29/0x50\n\nbut task is already holding lock:\n (\u0026sb-\u003es_type-\u003ei_mutex_key#4/3){+.+.+.}, at: [\u003cc1141e18\u003e] open_xa_dir+0xd8/0x1b0\n\nwhich lock already depends on the new lock.\n\nthe existing dependency chain (in reverse order) is:\n\n-\u003e #1 (\u0026sb-\u003es_type-\u003ei_mutex_key#4/3){+.+.+.}:\n       [\u003cc105ea7f\u003e] __lock_acquire+0x11ff/0x19e0\n       [\u003cc105f2c8\u003e] lock_acquire+0x68/0x90\n       [\u003cc1401a2b\u003e] mutex_lock_nested+0x5b/0x340\n       [\u003cc1141d83\u003e] open_xa_dir+0x43/0x1b0\n       [\u003cc1142722\u003e] reiserfs_for_each_xattr+0x62/0x260\n       [\u003cc114299a\u003e] reiserfs_delete_xattrs+0x1a/0x60\n       [\u003cc111ea1f\u003e] reiserfs_delete_inode+0x9f/0x150\n       [\u003cc10c9c32\u003e] generic_delete_inode+0xa2/0x170\n       [\u003cc10c9d4f\u003e] generic_drop_inode+0x4f/0x70\n       [\u003cc10c8b07\u003e] iput+0x47/0x50\n       [\u003cc10c0965\u003e] do_unlinkat+0xd5/0x160\n       [\u003cc10c0a00\u003e] sys_unlink+0x10/0x20\n       [\u003cc1002ec4\u003e] sysenter_do_call+0x12/0x32\n\n-\u003e #0 (\u0026REISERFS_SB(s)-\u003elock){+.+.+.}:\n       [\u003cc105f176\u003e] __lock_acquire+0x18f6/0x19e0\n       [\u003cc105f2c8\u003e] lock_acquire+0x68/0x90\n       [\u003cc1401a2b\u003e] mutex_lock_nested+0x5b/0x340\n       [\u003cc11432b9\u003e] reiserfs_write_lock_once+0x29/0x50\n       [\u003cc1117012\u003e] reiserfs_lookup+0x62/0x140\n       [\u003cc10bd85f\u003e] __lookup_hash+0xef/0x110\n       [\u003cc10bf21d\u003e] lookup_one_len+0x8d/0xc0\n       [\u003cc1141e2a\u003e] open_xa_dir+0xea/0x1b0\n       [\u003cc1141fe5\u003e] xattr_lookup+0x15/0x160\n       [\u003cc1142476\u003e] reiserfs_xattr_get+0x56/0x2a0\n       [\u003cc1144042\u003e] reiserfs_get_acl+0xa2/0x360\n       [\u003cc114461a\u003e] reiserfs_cache_default_acl+0x3a/0x160\n       [\u003cc111789c\u003e] reiserfs_mkdir+0x6c/0x2c0\n       [\u003cc10bea96\u003e] vfs_mkdir+0xd6/0x180\n       [\u003cc10c0c10\u003e] sys_mkdirat+0xc0/0xd0\n       [\u003cc10c0c40\u003e] sys_mkdir+0x20/0x30\n       [\u003cc1002ec4\u003e] sysenter_do_call+0x12/0x32\n\nother info that might help us debug this:\n\n2 locks held by cp/3204:\n #0:  (\u0026sb-\u003es_type-\u003ei_mutex_key#4/1){+.+.+.}, at: [\u003cc10bd8d6\u003e] lookup_create+0x26/0xa0\n #1:  (\u0026sb-\u003es_type-\u003ei_mutex_key#4/3){+.+.+.}, at: [\u003cc1141e18\u003e] open_xa_dir+0xd8/0x1b0\n\nstack backtrace:\nPid: 3204, comm: cp Not tainted 2.6.32-atom #173\nCall Trace:\n [\u003cc13ff993\u003e] ? printk+0x18/0x1a\n [\u003cc105d33a\u003e] print_circular_bug+0xca/0xd0\n [\u003cc105f176\u003e] __lock_acquire+0x18f6/0x19e0\n [\u003cc105d3aa\u003e] ? check_usage+0x6a/0x460\n [\u003cc105f2c8\u003e] lock_acquire+0x68/0x90\n [\u003cc11432b9\u003e] ? reiserfs_write_lock_once+0x29/0x50\n [\u003cc11432b9\u003e] ? reiserfs_write_lock_once+0x29/0x50\n [\u003cc1401a2b\u003e] mutex_lock_nested+0x5b/0x340\n [\u003cc11432b9\u003e] ? reiserfs_write_lock_once+0x29/0x50\n [\u003cc11432b9\u003e] reiserfs_write_lock_once+0x29/0x50\n [\u003cc1117012\u003e] reiserfs_lookup+0x62/0x140\n [\u003cc105ccca\u003e] ? debug_check_no_locks_freed+0x8a/0x140\n [\u003cc105cbe4\u003e] ? trace_hardirqs_on_caller+0x124/0x170\n [\u003cc10bd85f\u003e] __lookup_hash+0xef/0x110\n [\u003cc10bf21d\u003e] lookup_one_len+0x8d/0xc0\n [\u003cc1141e2a\u003e] open_xa_dir+0xea/0x1b0\n [\u003cc1141fe5\u003e] xattr_lookup+0x15/0x160\n [\u003cc1142476\u003e] reiserfs_xattr_get+0x56/0x2a0\n [\u003cc1144042\u003e] reiserfs_get_acl+0xa2/0x360\n [\u003cc10ca2e7\u003e] ? new_inode+0x27/0xa0\n [\u003cc114461a\u003e] reiserfs_cache_default_acl+0x3a/0x160\n [\u003cc1402eb7\u003e] ? _spin_unlock+0x27/0x40\n [\u003cc111789c\u003e] reiserfs_mkdir+0x6c/0x2c0\n [\u003cc10c7cb8\u003e] ? __d_lookup+0x108/0x190\n [\u003cc105c932\u003e] ? mark_held_locks+0x62/0x80\n [\u003cc1401c8d\u003e] ? mutex_lock_nested+0x2bd/0x340\n [\u003cc10bd17a\u003e] ? generic_permission+0x1a/0xa0\n [\u003cc11788fe\u003e] ? security_inode_permission+0x1e/0x20\n [\u003cc10bea96\u003e] vfs_mkdir+0xd6/0x180\n [\u003cc10c0c10\u003e] sys_mkdirat+0xc0/0xd0\n [\u003cc10505c6\u003e] ? up_read+0x16/0x30\n [\u003cc1002fd8\u003e] ? restore_all_notrace+0x0/0x18\n [\u003cc10c0c40\u003e] sys_mkdir+0x20/0x30\n [\u003cc1002ec4\u003e] sysenter_do_call+0x12/0x32\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nTested-by: Christian Kujau \u003clists@nerdbynature.de\u003e\nCc: Alexander Beregalov \u003ca.beregalov@gmail.com\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0523676d3f3aa7edeea63cc3a1bc4dc612380a26",
      "tree": "daf7226836c93f57e4a6eaccdfa6617dcae83df0",
      "parents": [
        "27026a05bb805866a3b9068dda8153b72cb942f4"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Dec 30 05:56:08 2009 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Jan 02 01:56:54 2010 +0100"
      },
      "message": "reiserfs: Relax reiserfs lock while freeing the journal\n\nKeeping the reiserfs lock while freeing the journal on\numount path triggers a lock inversion between bdev-\u003ebd_mutex\nand the reiserfs lock.\n\nWe don\u0027t need the reiserfs lock at this stage. The filesystem\nis not usable anymore, and there are no more pending commits,\neverything got flushed (even this operation was done in parallel\nand didn\u0027t required the reiserfs lock from the current process).\n\nThis fixes the following lockdep report:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ INFO: possible circular locking dependency detected ]\n2.6.32-atom #172\n-------------------------------------------------------\numount/3904 is trying to acquire lock:\n (\u0026bdev-\u003ebd_mutex){+.+.+.}, at: [\u003cc10de2c2\u003e] __blkdev_put+0x22/0x160\n\nbut task is already holding lock:\n (\u0026REISERFS_SB(s)-\u003elock){+.+.+.}, at: [\u003cc1143279\u003e] reiserfs_write_lock+0x29/0x40\n\nwhich lock already depends on the new lock.\n\nthe existing dependency chain (in reverse order) is:\n\n-\u003e #3 (\u0026REISERFS_SB(s)-\u003elock){+.+.+.}:\n       [\u003cc105ea7f\u003e] __lock_acquire+0x11ff/0x19e0\n       [\u003cc105f2c8\u003e] lock_acquire+0x68/0x90\n       [\u003cc140199b\u003e] mutex_lock_nested+0x5b/0x340\n       [\u003cc1143229\u003e] reiserfs_write_lock_once+0x29/0x50\n       [\u003cc111c485\u003e] reiserfs_get_block+0x85/0x1620\n       [\u003cc10e1040\u003e] do_mpage_readpage+0x1f0/0x6d0\n       [\u003cc10e1640\u003e] mpage_readpages+0xc0/0x100\n       [\u003cc1119b89\u003e] reiserfs_readpages+0x19/0x20\n       [\u003cc108f1ec\u003e] __do_page_cache_readahead+0x1bc/0x260\n       [\u003cc108f2b8\u003e] ra_submit+0x28/0x40\n       [\u003cc1087e3e\u003e] filemap_fault+0x40e/0x420\n       [\u003cc109b5fd\u003e] __do_fault+0x3d/0x430\n       [\u003cc109d47e\u003e] handle_mm_fault+0x12e/0x790\n       [\u003cc1022a65\u003e] do_page_fault+0x135/0x330\n       [\u003cc1403663\u003e] error_code+0x6b/0x70\n       [\u003cc10ef9ca\u003e] load_elf_binary+0x82a/0x1a10\n       [\u003cc10ba130\u003e] search_binary_handler+0x90/0x1d0\n       [\u003cc10bb70f\u003e] do_execve+0x1df/0x250\n       [\u003cc1001746\u003e] sys_execve+0x46/0x70\n       [\u003cc1002fa5\u003e] syscall_call+0x7/0xb\n\n-\u003e #2 (\u0026mm-\u003emmap_sem){++++++}:\n       [\u003cc105ea7f\u003e] __lock_acquire+0x11ff/0x19e0\n       [\u003cc105f2c8\u003e] lock_acquire+0x68/0x90\n       [\u003cc109b1ab\u003e] might_fault+0x8b/0xb0\n       [\u003cc11b8f52\u003e] copy_to_user+0x32/0x70\n       [\u003cc10c3b94\u003e] filldir64+0xa4/0xf0\n       [\u003cc1109116\u003e] sysfs_readdir+0x116/0x210\n       [\u003cc10c3e1d\u003e] vfs_readdir+0x8d/0xb0\n       [\u003cc10c3ea9\u003e] sys_getdents64+0x69/0xb0\n       [\u003cc1002ec4\u003e] sysenter_do_call+0x12/0x32\n\n-\u003e #1 (sysfs_mutex){+.+.+.}:\n       [\u003cc105ea7f\u003e] __lock_acquire+0x11ff/0x19e0\n       [\u003cc105f2c8\u003e] lock_acquire+0x68/0x90\n       [\u003cc140199b\u003e] mutex_lock_nested+0x5b/0x340\n       [\u003cc110951c\u003e] sysfs_addrm_start+0x2c/0xb0\n       [\u003cc1109aa0\u003e] create_dir+0x40/0x90\n       [\u003cc1109b1b\u003e] sysfs_create_dir+0x2b/0x50\n       [\u003cc11b2352\u003e] kobject_add_internal+0xc2/0x1b0\n       [\u003cc11b2531\u003e] kobject_add_varg+0x31/0x50\n       [\u003cc11b25ac\u003e] kobject_add+0x2c/0x60\n       [\u003cc1258294\u003e] device_add+0x94/0x560\n       [\u003cc11036ea\u003e] add_partition+0x18a/0x2a0\n       [\u003cc110418a\u003e] rescan_partitions+0x33a/0x450\n       [\u003cc10de5bf\u003e] __blkdev_get+0x12f/0x2d0\n       [\u003cc10de76a\u003e] blkdev_get+0xa/0x10\n       [\u003cc11034b8\u003e] register_disk+0x108/0x130\n       [\u003cc11a87a9\u003e] add_disk+0xd9/0x130\n       [\u003cc12998e5\u003e] sd_probe_async+0x105/0x1d0\n       [\u003cc10528af\u003e] async_thread+0xcf/0x230\n       [\u003cc104bfd4\u003e] kthread+0x74/0x80\n       [\u003cc1003aab\u003e] kernel_thread_helper+0x7/0x3c\n\n-\u003e #0 (\u0026bdev-\u003ebd_mutex){+.+.+.}:\n       [\u003cc105f176\u003e] __lock_acquire+0x18f6/0x19e0\n       [\u003cc105f2c8\u003e] lock_acquire+0x68/0x90\n       [\u003cc140199b\u003e] mutex_lock_nested+0x5b/0x340\n       [\u003cc10de2c2\u003e] __blkdev_put+0x22/0x160\n       [\u003cc10de40a\u003e] blkdev_put+0xa/0x10\n       [\u003cc113ce22\u003e] free_journal_ram+0xd2/0x130\n       [\u003cc113ea18\u003e] do_journal_release+0x98/0x190\n       [\u003cc113eb2a\u003e] journal_release+0xa/0x10\n       [\u003cc1128eb6\u003e] reiserfs_put_super+0x36/0x130\n       [\u003cc10b776f\u003e] generic_shutdown_super+0x4f/0xe0\n       [\u003cc10b7825\u003e] kill_block_super+0x25/0x40\n       [\u003cc11255df\u003e] reiserfs_kill_sb+0x7f/0x90\n       [\u003cc10b7f4a\u003e] deactivate_super+0x7a/0x90\n       [\u003cc10cccd8\u003e] mntput_no_expire+0x98/0xd0\n       [\u003cc10ccfcc\u003e] sys_umount+0x4c/0x310\n       [\u003cc10cd2a9\u003e] sys_oldumount+0x19/0x20\n       [\u003cc1002ec4\u003e] sysenter_do_call+0x12/0x32\n\nother info that might help us debug this:\n\n2 locks held by umount/3904:\n #0:  (\u0026type-\u003es_umount_key#30){+++++.}, at: [\u003cc10b7f45\u003e] deactivate_super+0x75/0x90\n #1:  (\u0026REISERFS_SB(s)-\u003elock){+.+.+.}, at: [\u003cc1143279\u003e] reiserfs_write_lock+0x29/0x40\n\nstack backtrace:\nPid: 3904, comm: umount Not tainted 2.6.32-atom #172\nCall Trace:\n [\u003cc13ff903\u003e] ? printk+0x18/0x1a\n [\u003cc105d33a\u003e] print_circular_bug+0xca/0xd0\n [\u003cc105f176\u003e] __lock_acquire+0x18f6/0x19e0\n [\u003cc108b66f\u003e] ? free_pcppages_bulk+0x1f/0x250\n [\u003cc105f2c8\u003e] lock_acquire+0x68/0x90\n [\u003cc10de2c2\u003e] ? __blkdev_put+0x22/0x160\n [\u003cc10de2c2\u003e] ? __blkdev_put+0x22/0x160\n [\u003cc140199b\u003e] mutex_lock_nested+0x5b/0x340\n [\u003cc10de2c2\u003e] ? __blkdev_put+0x22/0x160\n [\u003cc105c932\u003e] ? mark_held_locks+0x62/0x80\n [\u003cc10afe12\u003e] ? kfree+0x92/0xd0\n [\u003cc10de2c2\u003e] __blkdev_put+0x22/0x160\n [\u003cc105cc3b\u003e] ? trace_hardirqs_on+0xb/0x10\n [\u003cc10de40a\u003e] blkdev_put+0xa/0x10\n [\u003cc113ce22\u003e] free_journal_ram+0xd2/0x130\n [\u003cc113ea18\u003e] do_journal_release+0x98/0x190\n [\u003cc113eb2a\u003e] journal_release+0xa/0x10\n [\u003cc1128eb6\u003e] reiserfs_put_super+0x36/0x130\n [\u003cc1050596\u003e] ? up_write+0x16/0x30\n [\u003cc10b776f\u003e] generic_shutdown_super+0x4f/0xe0\n [\u003cc10b7825\u003e] kill_block_super+0x25/0x40\n [\u003cc10f41e0\u003e] ? vfs_quota_off+0x0/0x20\n [\u003cc11255df\u003e] reiserfs_kill_sb+0x7f/0x90\n [\u003cc10b7f4a\u003e] deactivate_super+0x7a/0x90\n [\u003cc10cccd8\u003e] mntput_no_expire+0x98/0xd0\n [\u003cc10ccfcc\u003e] sys_umount+0x4c/0x310\n [\u003cc10cd2a9\u003e] sys_oldumount+0x19/0x20\n [\u003cc1002ec4\u003e] sysenter_do_call+0x12/0x32\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Alexander Beregalov \u003ca.beregalov@gmail.com\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "27026a05bb805866a3b9068dda8153b72cb942f4",
      "tree": "45fbdb663ad5165b2b5cbc08f11f09e06d502a72",
      "parents": [
        "c4a62ca362258d98f42efb282cfbf9b61caffdbe"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Dec 30 05:06:21 2009 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Jan 02 01:54:47 2010 +0100"
      },
      "message": "reiserfs: Fix reiserfs lock \u003c-\u003e i_mutex dependency inversion on xattr\n\nWhile deleting the xattrs of an inode, we hold the reiserfs lock\nand grab the inode-\u003ei_mutex of the targeted inode and the root\nprivate xattr directory.\n\nLater on, we may relax the reiserfs lock for various reasons, this\ncreates inverted dependencies.\n\nWe can remove the reiserfs lock -\u003e i_mutex dependency by relaxing\nthe former before calling open_xa_dir(). This is fine because the\nlookup and creation of xattr private directories done in\nopen_xa_dir() are covered by the targeted inode mutexes. And deeper\noperations in the tree are still done under the write lock.\n\nThis fixes the following lockdep report:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ INFO: possible circular locking dependency detected ]\n2.6.32-atom #173\n-------------------------------------------------------\ncp/3204 is trying to acquire lock:\n (\u0026REISERFS_SB(s)-\u003elock){+.+.+.}, at: [\u003cc11432b9\u003e] reiserfs_write_lock_once+0x29/0x50\n\nbut task is already holding lock:\n (\u0026sb-\u003es_type-\u003ei_mutex_key#4/3){+.+.+.}, at: [\u003cc1141e18\u003e] open_xa_dir+0xd8/0x1b0\n\nwhich lock already depends on the new lock.\n\nthe existing dependency chain (in reverse order) is:\n\n-\u003e #1 (\u0026sb-\u003es_type-\u003ei_mutex_key#4/3){+.+.+.}:\n       [\u003cc105ea7f\u003e] __lock_acquire+0x11ff/0x19e0\n       [\u003cc105f2c8\u003e] lock_acquire+0x68/0x90\n       [\u003cc1401a2b\u003e] mutex_lock_nested+0x5b/0x340\n       [\u003cc1141d83\u003e] open_xa_dir+0x43/0x1b0\n       [\u003cc1142722\u003e] reiserfs_for_each_xattr+0x62/0x260\n       [\u003cc114299a\u003e] reiserfs_delete_xattrs+0x1a/0x60\n       [\u003cc111ea1f\u003e] reiserfs_delete_inode+0x9f/0x150\n       [\u003cc10c9c32\u003e] generic_delete_inode+0xa2/0x170\n       [\u003cc10c9d4f\u003e] generic_drop_inode+0x4f/0x70\n       [\u003cc10c8b07\u003e] iput+0x47/0x50\n       [\u003cc10c0965\u003e] do_unlinkat+0xd5/0x160\n       [\u003cc10c0a00\u003e] sys_unlink+0x10/0x20\n       [\u003cc1002ec4\u003e] sysenter_do_call+0x12/0x32\n\n-\u003e #0 (\u0026REISERFS_SB(s)-\u003elock){+.+.+.}:\n       [\u003cc105f176\u003e] __lock_acquire+0x18f6/0x19e0\n       [\u003cc105f2c8\u003e] lock_acquire+0x68/0x90\n       [\u003cc1401a2b\u003e] mutex_lock_nested+0x5b/0x340\n       [\u003cc11432b9\u003e] reiserfs_write_lock_once+0x29/0x50\n       [\u003cc1117012\u003e] reiserfs_lookup+0x62/0x140\n       [\u003cc10bd85f\u003e] __lookup_hash+0xef/0x110\n       [\u003cc10bf21d\u003e] lookup_one_len+0x8d/0xc0\n       [\u003cc1141e2a\u003e] open_xa_dir+0xea/0x1b0\n       [\u003cc1141fe5\u003e] xattr_lookup+0x15/0x160\n       [\u003cc1142476\u003e] reiserfs_xattr_get+0x56/0x2a0\n       [\u003cc1144042\u003e] reiserfs_get_acl+0xa2/0x360\n       [\u003cc114461a\u003e] reiserfs_cache_default_acl+0x3a/0x160\n       [\u003cc111789c\u003e] reiserfs_mkdir+0x6c/0x2c0\n       [\u003cc10bea96\u003e] vfs_mkdir+0xd6/0x180\n       [\u003cc10c0c10\u003e] sys_mkdirat+0xc0/0xd0\n       [\u003cc10c0c40\u003e] sys_mkdir+0x20/0x30\n       [\u003cc1002ec4\u003e] sysenter_do_call+0x12/0x32\n\nother info that might help us debug this:\n\n2 locks held by cp/3204:\n #0:  (\u0026sb-\u003es_type-\u003ei_mutex_key#4/1){+.+.+.}, at: [\u003cc10bd8d6\u003e] lookup_create+0x26/0xa0\n #1:  (\u0026sb-\u003es_type-\u003ei_mutex_key#4/3){+.+.+.}, at: [\u003cc1141e18\u003e] open_xa_dir+0xd8/0x1b0\n\nstack backtrace:\nPid: 3204, comm: cp Not tainted 2.6.32-atom #173\nCall Trace:\n [\u003cc13ff993\u003e] ? printk+0x18/0x1a\n [\u003cc105d33a\u003e] print_circular_bug+0xca/0xd0\n [\u003cc105f176\u003e] __lock_acquire+0x18f6/0x19e0\n [\u003cc105d3aa\u003e] ? check_usage+0x6a/0x460\n [\u003cc105f2c8\u003e] lock_acquire+0x68/0x90\n [\u003cc11432b9\u003e] ? reiserfs_write_lock_once+0x29/0x50\n [\u003cc11432b9\u003e] ? reiserfs_write_lock_once+0x29/0x50\n [\u003cc1401a2b\u003e] mutex_lock_nested+0x5b/0x340\n [\u003cc11432b9\u003e] ? reiserfs_write_lock_once+0x29/0x50\n [\u003cc11432b9\u003e] reiserfs_write_lock_once+0x29/0x50\n [\u003cc1117012\u003e] reiserfs_lookup+0x62/0x140\n [\u003cc105ccca\u003e] ? debug_check_no_locks_freed+0x8a/0x140\n [\u003cc105cbe4\u003e] ? trace_hardirqs_on_caller+0x124/0x170\n [\u003cc10bd85f\u003e] __lookup_hash+0xef/0x110\n [\u003cc10bf21d\u003e] lookup_one_len+0x8d/0xc0\n [\u003cc1141e2a\u003e] open_xa_dir+0xea/0x1b0\n [\u003cc1141fe5\u003e] xattr_lookup+0x15/0x160\n [\u003cc1142476\u003e] reiserfs_xattr_get+0x56/0x2a0\n [\u003cc1144042\u003e] reiserfs_get_acl+0xa2/0x360\n [\u003cc10ca2e7\u003e] ? new_inode+0x27/0xa0\n [\u003cc114461a\u003e] reiserfs_cache_default_acl+0x3a/0x160\n [\u003cc1402eb7\u003e] ? _spin_unlock+0x27/0x40\n [\u003cc111789c\u003e] reiserfs_mkdir+0x6c/0x2c0\n [\u003cc10c7cb8\u003e] ? __d_lookup+0x108/0x190\n [\u003cc105c932\u003e] ? mark_held_locks+0x62/0x80\n [\u003cc1401c8d\u003e] ? mutex_lock_nested+0x2bd/0x340\n [\u003cc10bd17a\u003e] ? generic_permission+0x1a/0xa0\n [\u003cc11788fe\u003e] ? security_inode_permission+0x1e/0x20\n [\u003cc10bea96\u003e] vfs_mkdir+0xd6/0x180\n [\u003cc10c0c10\u003e] sys_mkdirat+0xc0/0xd0\n [\u003cc10505c6\u003e] ? up_read+0x16/0x30\n [\u003cc1002fd8\u003e] ? restore_all_notrace+0x0/0x18\n [\u003cc10c0c40\u003e] sys_mkdir+0x20/0x30\n [\u003cc1002ec4\u003e] sysenter_do_call+0x12/0x32\n\nv2: Don\u0027t drop reiserfs_mutex_lock_nested_safe() as we\u0027ll still\n    need it later\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nTested-by: Christian Kujau \u003clists@nerdbynature.de\u003e\nCc: Alexander Beregalov \u003ca.beregalov@gmail.com\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c4a62ca362258d98f42efb282cfbf9b61caffdbe",
      "tree": "017484107efa26789ddd96579fcef09d874333c0",
      "parents": [
        "0719d3434747889b314a1e8add776418c4148bcf"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Dec 30 03:20:19 2009 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Jan 02 01:54:37 2010 +0100"
      },
      "message": "reiserfs: Warn on lock relax if taken recursively\n\nWhen we relax the reiserfs lock to avoid creating unwanted\ndependencies against others locks while grabbing these,\nwe want to ensure it has not been taken recursively, otherwise\nthe lock won\u0027t be really relaxed. Only its depth will be decreased.\nThe unwanted dependency would then actually happen.\n\nTo prevent from that, add a reiserfs_lock_check_recursive() call\nin the places that need it.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Alexander Beregalov \u003ca.beregalov@gmail.com\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0719d3434747889b314a1e8add776418c4148bcf",
      "tree": "6ff1fea4ffa9c96ee504bcb026659101eea4a12f",
      "parents": [
        "98ea3f50bcc97689cc0e1fa3b6733f03aeb8fef4"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Dec 30 00:39:22 2009 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Jan 02 01:54:04 2010 +0100"
      },
      "message": "reiserfs: Fix reiserfs lock \u003c-\u003e i_xattr_sem dependency inversion\n\ni_xattr_sem depends on the reiserfs lock. But after we grab\ni_xattr_sem, we may relax/relock the reiserfs lock while waiting\non a freezed filesystem, creating a dependency inversion between\nthe two locks.\n\nIn order to avoid the i_xattr_sem -\u003e reiserfs lock dependency, let\u0027s\ncreate a reiserfs_down_read_safe() that acts like\nreiserfs_mutex_lock_safe(): relax the reiserfs lock while grabbing\nanother lock to avoid undesired dependencies induced by the\nheivyweight reiserfs lock.\n\nThis fixes the following warning:\n\n[  990.005931] \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[  990.012373] [ INFO: possible circular locking dependency detected ]\n[  990.013233] 2.6.33-rc1 #1\n[  990.013233] -------------------------------------------------------\n[  990.013233] dbench/1891 is trying to acquire lock:\n[  990.013233]  (\u0026REISERFS_SB(s)-\u003elock){+.+.+.}, at: [\u003cffffffff81159505\u003e] reiserfs_write_lock+0x35/0x50\n[  990.013233]\n[  990.013233] but task is already holding lock:\n[  990.013233]  (\u0026REISERFS_I(inode)-\u003ei_xattr_sem){+.+.+.}, at: [\u003cffffffff8115899a\u003e] reiserfs_xattr_set_handle+0x8a/0x470\n[  990.013233]\n[  990.013233] which lock already depends on the new lock.\n[  990.013233]\n[  990.013233]\n[  990.013233] the existing dependency chain (in reverse order) is:\n[  990.013233]\n[  990.013233] -\u003e #1 (\u0026REISERFS_I(inode)-\u003ei_xattr_sem){+.+.+.}:\n[  990.013233]        [\u003cffffffff81063afc\u003e] __lock_acquire+0xf9c/0x1560\n[  990.013233]        [\u003cffffffff8106414f\u003e] lock_acquire+0x8f/0xb0\n[  990.013233]        [\u003cffffffff814ac194\u003e] down_write+0x44/0x80\n[  990.013233]        [\u003cffffffff8115899a\u003e] reiserfs_xattr_set_handle+0x8a/0x470\n[  990.013233]        [\u003cffffffff81158e30\u003e] reiserfs_xattr_set+0xb0/0x150\n[  990.013233]        [\u003cffffffff8115a6aa\u003e] user_set+0x8a/0x90\n[  990.013233]        [\u003cffffffff8115901a\u003e] reiserfs_setxattr+0xaa/0xb0\n[  990.013233]        [\u003cffffffff810e2596\u003e] __vfs_setxattr_noperm+0x36/0xa0\n[  990.013233]        [\u003cffffffff810e26bc\u003e] vfs_setxattr+0xbc/0xc0\n[  990.013233]        [\u003cffffffff810e2780\u003e] setxattr+0xc0/0x150\n[  990.013233]        [\u003cffffffff810e289d\u003e] sys_fsetxattr+0x8d/0xa0\n[  990.013233]        [\u003cffffffff81002dab\u003e] system_call_fastpath+0x16/0x1b\n[  990.013233]\n[  990.013233] -\u003e #0 (\u0026REISERFS_SB(s)-\u003elock){+.+.+.}:\n[  990.013233]        [\u003cffffffff81063e30\u003e] __lock_acquire+0x12d0/0x1560\n[  990.013233]        [\u003cffffffff8106414f\u003e] lock_acquire+0x8f/0xb0\n[  990.013233]        [\u003cffffffff814aba77\u003e] __mutex_lock_common+0x47/0x3b0\n[  990.013233]        [\u003cffffffff814abebe\u003e] mutex_lock_nested+0x3e/0x50\n[  990.013233]        [\u003cffffffff81159505\u003e] reiserfs_write_lock+0x35/0x50\n[  990.013233]        [\u003cffffffff811340e5\u003e] reiserfs_prepare_write+0x45/0x180\n[  990.013233]        [\u003cffffffff81158bb6\u003e] reiserfs_xattr_set_handle+0x2a6/0x470\n[  990.013233]        [\u003cffffffff81158e30\u003e] reiserfs_xattr_set+0xb0/0x150\n[  990.013233]        [\u003cffffffff8115a6aa\u003e] user_set+0x8a/0x90\n[  990.013233]        [\u003cffffffff8115901a\u003e] reiserfs_setxattr+0xaa/0xb0\n[  990.013233]        [\u003cffffffff810e2596\u003e] __vfs_setxattr_noperm+0x36/0xa0\n[  990.013233]        [\u003cffffffff810e26bc\u003e] vfs_setxattr+0xbc/0xc0\n[  990.013233]        [\u003cffffffff810e2780\u003e] setxattr+0xc0/0x150\n[  990.013233]        [\u003cffffffff810e289d\u003e] sys_fsetxattr+0x8d/0xa0\n[  990.013233]        [\u003cffffffff81002dab\u003e] system_call_fastpath+0x16/0x1b\n[  990.013233]\n[  990.013233] other info that might help us debug this:\n[  990.013233]\n[  990.013233] 2 locks held by dbench/1891:\n[  990.013233]  #0:  (\u0026sb-\u003es_type-\u003ei_mutex_key#12){+.+.+.}, at: [\u003cffffffff810e2678\u003e] vfs_setxattr+0x78/0xc0\n[  990.013233]  #1:  (\u0026REISERFS_I(inode)-\u003ei_xattr_sem){+.+.+.}, at: [\u003cffffffff8115899a\u003e] reiserfs_xattr_set_handle+0x8a/0x470\n[  990.013233]\n[  990.013233] stack backtrace:\n[  990.013233] Pid: 1891, comm: dbench Not tainted 2.6.33-rc1 #1\n[  990.013233] Call Trace:\n[  990.013233]  [\u003cffffffff81061639\u003e] print_circular_bug+0xe9/0xf0\n[  990.013233]  [\u003cffffffff81063e30\u003e] __lock_acquire+0x12d0/0x1560\n[  990.013233]  [\u003cffffffff8115899a\u003e] ? reiserfs_xattr_set_handle+0x8a/0x470\n[  990.013233]  [\u003cffffffff8106414f\u003e] lock_acquire+0x8f/0xb0\n[  990.013233]  [\u003cffffffff81159505\u003e] ? reiserfs_write_lock+0x35/0x50\n[  990.013233]  [\u003cffffffff8115899a\u003e] ? reiserfs_xattr_set_handle+0x8a/0x470\n[  990.013233]  [\u003cffffffff814aba77\u003e] __mutex_lock_common+0x47/0x3b0\n[  990.013233]  [\u003cffffffff81159505\u003e] ? reiserfs_write_lock+0x35/0x50\n[  990.013233]  [\u003cffffffff81159505\u003e] ? reiserfs_write_lock+0x35/0x50\n[  990.013233]  [\u003cffffffff81062592\u003e] ? mark_held_locks+0x72/0xa0\n[  990.013233]  [\u003cffffffff814ab81d\u003e] ? __mutex_unlock_slowpath+0xbd/0x140\n[  990.013233]  [\u003cffffffff810628ad\u003e] ? trace_hardirqs_on_caller+0x14d/0x1a0\n[  990.013233]  [\u003cffffffff814abebe\u003e] mutex_lock_nested+0x3e/0x50\n[  990.013233]  [\u003cffffffff81159505\u003e] reiserfs_write_lock+0x35/0x50\n[  990.013233]  [\u003cffffffff811340e5\u003e] reiserfs_prepare_write+0x45/0x180\n[  990.013233]  [\u003cffffffff81158bb6\u003e] reiserfs_xattr_set_handle+0x2a6/0x470\n[  990.013233]  [\u003cffffffff81158e30\u003e] reiserfs_xattr_set+0xb0/0x150\n[  990.013233]  [\u003cffffffff814abcb4\u003e] ? __mutex_lock_common+0x284/0x3b0\n[  990.013233]  [\u003cffffffff8115a6aa\u003e] user_set+0x8a/0x90\n[  990.013233]  [\u003cffffffff8115901a\u003e] reiserfs_setxattr+0xaa/0xb0\n[  990.013233]  [\u003cffffffff810e2596\u003e] __vfs_setxattr_noperm+0x36/0xa0\n[  990.013233]  [\u003cffffffff810e26bc\u003e] vfs_setxattr+0xbc/0xc0\n[  990.013233]  [\u003cffffffff810e2780\u003e] setxattr+0xc0/0x150\n[  990.013233]  [\u003cffffffff81056018\u003e] ? sched_clock_cpu+0xb8/0x100\n[  990.013233]  [\u003cffffffff8105eded\u003e] ? trace_hardirqs_off+0xd/0x10\n[  990.013233]  [\u003cffffffff810560a3\u003e] ? cpu_clock+0x43/0x50\n[  990.013233]  [\u003cffffffff810c6820\u003e] ? fget+0xb0/0x110\n[  990.013233]  [\u003cffffffff810c6770\u003e] ? fget+0x0/0x110\n[  990.013233]  [\u003cffffffff81002ddc\u003e] ? sysret_check+0x27/0x62\n[  990.013233]  [\u003cffffffff810e289d\u003e] sys_fsetxattr+0x8d/0xa0\n[  990.013233]  [\u003cffffffff81002dab\u003e] system_call_fastpath+0x16/0x1b\n\nReported-and-tested-by: Christian Kujau \u003clists@nerdbynature.de\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Alexander Beregalov \u003ca.beregalov@gmail.com\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9d0be50230b333005635967f7ecd4897dbfd181b",
      "tree": "59aefe29e33284e1d904b23eaf2cc98994431374",
      "parents": [
        "ee5f4d9cdf32fd99172d11665c592a288c2b1ff4"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Jan 01 02:41:30 2010 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Jan 01 02:41:30 2010 -0500"
      },
      "message": "ext4: Calculate metadata requirements more accurately\n\nIn the past, ext4_calc_metadata_amount(), and its sub-functions\next4_ext_calc_metadata_amount() and ext4_indirect_calc_metadata_amount()\nbadly over-estimated the number of metadata blocks that might be\nrequired for delayed allocation blocks.  This didn\u0027t matter as much\nwhen functions which managed the reserved metadata blocks were more\naggressive about dropping reserved metadata blocks as delayed\nallocation blocks were written, but unfortunately they were too\naggressive.  This was fixed in commit 0637c6f, but as a result the\nover-estimation by ext4_calc_metadata_amount() would lead to reserving\n2-3 times the number of pending delayed allocation blocks as\npotentially required metadata blocks.  So if there are 1 megabytes of\nblocks which have been not yet been allocation, up to 3 megabytes of\nspace would get reserved out of the user\u0027s quota and from the file\nsystem free space pool until all of the inode\u0027s data blocks have been\nallocated.\n\nThis commit addresses this problem by much more accurately estimating\nthe number of metadata blocks that will be required.  It will still\nsomewhat over-estimate the number of blocks needed, since it must make\na worst case estimate not knowing which physical blocks will be\nneeded, but it is much more accurate than before.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "ee5f4d9cdf32fd99172d11665c592a288c2b1ff4",
      "tree": "a1ae2af609d49524d6b807890852bc549889821f",
      "parents": [
        "0637c6f4135f592f094207c7c21e7c0fc5557834"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Jan 01 02:36:15 2010 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Jan 01 02:36:15 2010 -0500"
      },
      "message": "ext4: Fix accounting of reserved metadata blocks\n\nCommit 0637c6f had a typo which caused the reserved metadata blocks to\nnot be released correctly.   Fix this.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "c03f6bfc9f4fbeee14abef81ece67e39150a1ab1",
      "tree": "37ed426d9868b216f61c53ed34a00ef5988de1cc",
      "parents": [
        "b7bfb2a7a9296871a5e45c35a2cdc6a174995aa7",
        "a994b8fa669f16c50728328c3735722a3f20652e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 31 15:17:26 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 31 15:17:26 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:\n  [CIFS] Enable mmap on forcedirectio mounts\n  cifs: NULL out tcon, pSesInfo, and srvTcp pointers when chasing DFS referrals\n"
    },
    {
      "commit": "86470e98cc52532006f47a6cb96d3ebe1ba7ad97",
      "tree": "f80366196c7b1bcf7546b2ed0265cc66497caff0",
      "parents": [
        "6b7b284958d47b77d06745b36bc7f36dab769d9b"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Thu Dec 03 21:55:05 2009 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Wed Dec 30 19:53:35 2009 -0800"
      },
      "message": "ocfs2: Handle O_DIRECT when writing to a refcounted cluster.\n\nIn case of writing to a refcounted cluster with O_DIRECT,\nwe need to fall back to buffer write. And when it is finished,\nwe need to flush the page and the journal as we did for other\nO_DIRECT writes.\n\nThis patch fix oss bug 1191.\nhttp://oss.oracle.com/bugzilla/show_bug.cgi?id\u003d1191\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nTested-by: Tristan Ye \u003ctristan.ye@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "1f11abc966b82b9fd0c834707486ef301b2f398d",
      "tree": "4e9d49b00ab034f1fc7f11cb1ff54e3121a728ae",
      "parents": [
        "f8e9766dd1bacd5f32f9ac4322b55fbfd46b778e",
        "0637c6f4135f592f094207c7c21e7c0fc5557834"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 30 13:25:56 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 30 13:25:56 2009 -0800"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:\n  ext4: Patch up how we claim metadata blocks for quota purposes\n  ext4: Ensure zeroout blocks have no dirty metadata\n  ext4: return correct wbc.nr_to_write in ext4_da_writepages\n  ext4: Update documentation to correct the inode_readahead_blks option name\n  jbd2: don\u0027t use __GFP_NOFAIL in journal_init_common()\n  ext4: flush delalloc blocks when space is low\n  fs-writeback: Add helper function to start writeback if idle\n  ext4: Eliminate potential double free on error path\n  ext4: fix unsigned long long printk warning in super.c\n  ext4, jbd2: Add barriers for file systems with exernal journals\n  ext4: replace BUG() with return -EIO in ext4_ext_get_blocks\n  ext4: add module aliases for ext2 and ext3\n  ext4: Don\u0027t ask about supporting ext2/3 in ext4 if ext4 is not configured\n  ext4: remove unused #include \u003clinux/version.h\u003e\n"
    },
    {
      "commit": "7ea6600148c265b1fd53e521022b1d7aec81d974",
      "tree": "aeb16e15ff5e6f88cc7137847fb5610377bf7395",
      "parents": [
        "9a7262a0563da6b91019156abf487bcdf1a41526"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Tue Dec 29 14:50:19 2009 -0600"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 30 12:35:44 2009 -0800"
      },
      "message": "generic_permission: MAY_OPEN is not write access\n\ngeneric_permission was refusing CAP_DAC_READ_SEARCH-enabled\nprocesses from opening DAC-protected files read-only, because\ndo_filp_open adds MAY_OPEN to the open mask.\n\nIgnore MAY_OPEN.  After this patch, CAP_DAC_READ_SEARCH is\nagain sufficient to open(fname, O_RDONLY) on a file to which\nDAC otherwise refuses us read permission.\n\nReported-by: Mike Kazantsev \u003cmk.fraggod@gmail.com\u003e\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nTested-by: Mike Kazantsev \u003cmk.fraggod@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0637c6f4135f592f094207c7c21e7c0fc5557834",
      "tree": "ee76fc861dffa902e80d0d11c681f5dfa2fcc569",
      "parents": [
        "515f41c33a9d44a964264c9511ad2c869af1fac3"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Dec 30 14:20:45 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Dec 30 14:20:45 2009 -0500"
      },
      "message": "ext4: Patch up how we claim metadata blocks for quota purposes\n\nAs reported in Kernel Bugzilla #14936, commit d21cd8f triggered a BUG\nin the function ext4_da_update_reserve_space() found in\nfs/ext4/inode.c.  The root cause of this BUG() was caused by the fact\nthat ext4_calc_metadata_amount() can severely over-estimate how many\nmetadata blocks will be needed, especially when using direct\nblock-mapped files.\n\nIn addition, it can also badly *under* estimate how much space is\nneeded, since ext4_calc_metadata_amount() assumes that the blocks are\ncontiguous, and this is not always true.  If the application is\nwriting blocks to a sparse file, the number of metadata blocks\nnecessary can be severly underestimated by the functions\next4_da_reserve_space(), ext4_da_update_reserve_space() and\next4_da_release_space().  This was the cause of the dq_claim_space\nreports found on kerneloops.org.\n\nUnfortunately, doing this right means that we need to massively\nover-estimate the amount of free space needed.  So in some cases we\nmay need to force the inode to be written to disk asynchronously in\nto avoid spurious quota failures.\n\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d14936\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "515f41c33a9d44a964264c9511ad2c869af1fac3",
      "tree": "bd1790a9787ec171168a87268d3218122e087f2e",
      "parents": [
        "2faf2e19dd0e060eeb32442858ef495ac3083277"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Dec 29 23:39:06 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Dec 29 23:39:06 2009 -0500"
      },
      "message": "ext4: Ensure zeroout blocks have no dirty metadata\n\nThis fixes a bug (found by Curt Wohlgemuth) in which new blocks\nreturned from an extent created with ext4_ext_zeroout() can have dirty\nmetadata still associated with them.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Curt Wohlgemuth \u003ccurtw@google.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "98ea3f50bcc97689cc0e1fa3b6733f03aeb8fef4",
      "tree": "d909a47008ed466e5119f21f366934be5a6276b8",
      "parents": [
        "47376ceba54600cec4dd9e7c4fe8b98e4269633a"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Dec 29 21:51:15 2009 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Dec 29 22:34:59 2009 +0100"
      },
      "message": "reiserfs: Fix remaining in-reclaim-fs \u003c-\u003e reclaim-fs-on locking inversion\n\nCommit 500f5a0bf5f0624dae34307010e240ec090e4cde\n(reiserfs: Fix possible recursive lock) fixed a vmalloc under reiserfs\nlock that triggered a lockdep warning because of a\nIN-FS-RECLAIM \u003c-\u003e RECLAIM-FS-ON locking dependency inversion.\n\nBut this patch has ommitted another vmalloc call in the same path\nthat allocates the journal. Relax the lock for this one too.\n\nReported-by: Alexander Beregalov \u003ca.beregalov@gmail.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2faf2e19dd0e060eeb32442858ef495ac3083277",
      "tree": "cd8c28414036f2d8ad45663371e1544d4efad5d4",
      "parents": [
        "6d3b82f2d31f22085e5711b28dddcb9fb3d97a25"
      ],
      "author": {
        "name": "Richard Kennedy",
        "email": "richard@rsk.demon.co.uk",
        "time": "Fri Dec 25 15:46:07 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Dec 25 15:46:07 2009 -0500"
      },
      "message": "ext4: return correct wbc.nr_to_write in ext4_da_writepages\n\nWhen ext4_da_writepages increases the nr_to_write in writeback_control\nthen it must always re-base the return value.  Originally there was a\n(misguided) attempt prevent wbc.nr_to_write from going negative.  In\nfact, it\u0027s necessary to allow nr_to_write to be negative so that\nwb_writeback() can correctly calculate how many pages were actually\nwritten.  \n\nSigned-off-by: Richard Kennedy \u003crichard@rsk.demon.co.uk\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "33e189bd5754dead3ece130da8e62f470f526f36",
      "tree": "61898f01f76d014e5572950f696794ce92c961ee",
      "parents": [
        "5ee581483246e832ca5a9fc1ac669bba0b6ec468"
      ],
      "author": {
        "name": "Tobias Klauser",
        "email": "tklauser@distanz.ch",
        "time": "Wed Dec 23 13:57:47 2009 +0100"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Fri Dec 25 13:01:50 2009 +0900"
      },
      "message": "nilfs2: Storage class should be before const qualifier\n\nThe C99 specification states in section 6.11.5:\n\nThe placement of a storage-class specifier other than at the beginning\nof the declaration specifiers in a declaration is an obsolescent\nfeature.\n\nSigned-off-by: Tobias Klauser \u003ctklauser@distanz.ch\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "5ee581483246e832ca5a9fc1ac669bba0b6ec468",
      "tree": "3fd7399a073ef487b0096563a4aaa3ab790d4321",
      "parents": [
        "6b7b284958d47b77d06745b36bc7f36dab769d9b"
      ],
      "author": {
        "name": "Jiro SEKIBA",
        "email": "jir@sekiba.com",
        "time": "Sun Dec 06 15:43:56 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Fri Dec 25 13:01:50 2009 +0900"
      },
      "message": "nilfs2: trivial coding style fix\n\nThis is a trivial style fix patch to mend errors/warnings\nreported by \"checkpatch.pl --file\".\n\nSigned-off-by: Jiro SEKIBA \u003cjir@unicus.jp\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "45e62974fb110da926e2a6c5b357c15639bdc233",
      "tree": "0c2094de939e69fa3e44854c71aa45d7ec137895",
      "parents": [
        "756fe285070feb254a770cefc5640fe005ea9c27",
        "8ff6af881deccca4f88e03f2fdadb1aac42e9489"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 24 12:59:11 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 24 12:59:11 2009 -0800"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2:\n  ocfs2/trivial: Use le16_to_cpu for a disk value in xattr.c\n  ocfs2/trivial: Use proper mask for 2 places in hearbeat.c\n  Ocfs2: Let ocfs2 support fiemap for symlink and fast symlink.\n  Ocfs2: Should ocfs2 support fiemap for S_IFDIR inode?\n  ocfs2: Use FIEMAP_EXTENT_SHARED\n  fiemap: Add new extent flag FIEMAP_EXTENT_SHARED\n  ocfs2: replace u8 by __u8 in ocfs2_fs.h\n  ocfs2: explicit declare uninitialized var in user_cluster_connect()\n  ocfs2-devel: remove redundant OCFS2_MOUNT_POSIX_ACL check in ocfs2_get_acl_nolock()\n  ocfs2: return -EAGAIN instead of EAGAIN in dlm\n  ocfs2/cluster: Make fence method configurable - v2\n  ocfs2: Set MS_POSIXACL on remount\n  ocfs2: Make acl use the default\n  ocfs2: Always include ACL support\n"
    },
    {
      "commit": "8ff6af881deccca4f88e03f2fdadb1aac42e9489",
      "tree": "c380885c09aacadc96ab3fad0e607f2fa324dc97",
      "parents": [
        "b31d308ddcfb73349582a0196b5f65dad3cf5d17"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Wed Dec 23 14:31:15 2009 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Wed Dec 23 17:52:16 2009 -0800"
      },
      "message": "ocfs2/trivial: Use le16_to_cpu for a disk value in xattr.c\n\nIn ocfs2_value_metas_in_xattr_header, we should Use\nle16_to_cpu for ocfs2_extent_list.l_next_free_rec.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "b31d308ddcfb73349582a0196b5f65dad3cf5d17",
      "tree": "7550e178e9c3c1d8e1256048709dad8b970b5ff5",
      "parents": [
        "86239d59e268a35a49a00fce9c8512a506267f5c"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Tue Dec 22 10:32:15 2009 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Wed Dec 23 17:52:13 2009 -0800"
      },
      "message": "ocfs2/trivial: Use proper mask for 2 places in hearbeat.c\n\nI just noticed today that there are 2 places of \"mlog(0,...)\"\nin  fs/ocfs2/cluster/heartbeat.c, but actually have no default\nmask prefix in that file.\nSo change them to mlog(ML_HEARTBEAT,...).\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "86239d59e268a35a49a00fce9c8512a506267f5c",
      "tree": "32226428e244115fb2e9d2e785db44d18d563e53",
      "parents": [
        "55f4946ed23cbf78efe9f818c4b55e890fe2beff"
      ],
      "author": {
        "name": "Tristan Ye",
        "email": "tristan.ye@oracle.com",
        "time": "Tue Dec 22 09:11:58 2009 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Wed Dec 23 17:52:09 2009 -0800"
      },
      "message": "Ocfs2: Let ocfs2 support fiemap for symlink and fast symlink.\n\nFor fast symlink, it can be treated the same as inlined files since\nthe data extent we want to return of both case all were stored in\nmetadata block. For symlink, it can be simply treated the same as we\ndid for regular files.\n\nSigned-off-by: Tristan Ye \u003ctristan.ye@oracle.com\u003e\nAcked-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "f793067eb91afa37904d33075bd44fd8b2774b8a",
      "tree": "909cb1b829eae74d51dcaff918bcd252c54ed0e8",
      "parents": [
        "f988dac7fe4eb1ab0c7b1c5dc6d847f6aad5a1cd",
        "8042273801059884da2d53bbca34575d090b6f4e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 23 13:35:03 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 23 13:35:03 2009 -0800"
      },
      "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  devtmpfs: unlock mutex in case of string allocation error\n  Driver core: export platform_device_register_data as a GPL symbol\n  driver core: Prevent reference to freed memory on error path\n  Driver-core: Fix bogus 0 error return in device_add()\n  Driver core: driver_attribute parameters can often be const*\n  Driver core: bin_attribute parameters can often be const*\n  Driver core: device_attribute parameters can often be const*\n  Doc/stable rules: add new cherry-pick logic\n  vfs: get_sb_single() - do not pass options twice\n  devtmpfs: Convert dirlock to a mutex\n"
    },
    {
      "commit": "849254e9bba985e281526b57c02562c7a49a2fcf",
      "tree": "a061f4de1c7b2836185e9d5bd4d7871c79692ca4",
      "parents": [
        "6f40334694dce047d43c6f2cce255b596da6de50",
        "10cf1a02f444fdcd50be47cce3fa8bf08251dd9c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 23 13:33:07 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 23 13:33:07 2009 -0800"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2:\n  ocfs2: Set i_nlink properly during reflink.\n  ocfs2: Add reflinked file\u0027s inode to inode hash eariler.\n  ocfs2: refcounttree.c cleanup.\n  ocfs2: Find proper end cpos for a leaf refcount block.\n"
    },
    {
      "commit": "66ecb92be9eb579df93add22d19843e7869f168e",
      "tree": "60a8c4ecfd1ccb0743a137ecfbd972888dbd34ce",
      "parents": [
        "26579ab70aa0e0ea434e6e100279d2f67c094431"
      ],
      "author": {
        "name": "Phil Carmody",
        "email": "ext-phil.2.carmody@nokia.com",
        "time": "Fri Dec 18 15:34:20 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Dec 23 11:23:43 2009 -0800"
      },
      "message": "Driver core: bin_attribute parameters can often be const*\n\nMany struct bin_attribute descriptors are purely read-only\nstructures, and there\u0027s no need to change them. Therefore\nmake the promise not to, which will let those descriptors\nbe put in a ro section.\n\nSigned-off-by: Phil Carmody \u003cext-phil.2.carmody@nokia.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "9329d1beaeed1a94f030c784dcec5ff973f402c4",
      "tree": "cbb0bc9153f6fc98db6156779c0265f7859bbec3",
      "parents": [
        "f1f76f865b5f66db5b5c7f2d19874f2bb9b43b8d"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Fri Dec 18 21:18:15 2009 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Dec 23 11:23:43 2009 -0800"
      },
      "message": "vfs: get_sb_single() - do not pass options twice\n\nFilesystem code usually destroys the option buffer while\nparsing it. This leads to errors when the same buffer is\npassed twice. In case we fill a new superblock do not call\nremount.\n\nThis is needed to quite a warning that the debugfs code\ncauses every boot.\n\nCc: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "3ebfdf885acedafcadceb4007e77438479094135",
      "tree": "1bd9a4b223aa22e201af9a87868a33ec53605daf",
      "parents": [
        "c8afb44682fcef6273e8b8eb19fab13ddd05b386"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed Dec 23 08:05:15 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Dec 23 08:05:15 2009 -0500"
      },
      "message": "jbd2: don\u0027t use __GFP_NOFAIL in journal_init_common()\n\nIt triggers the warning in get_page_from_freelist(), and it isn\u0027t\nappropriate to use __GFP_NOFAIL here anyway.\n\nAddresses http://bugzilla.kernel.org/show_bug.cgi?id\u003d14843\n\nReported-by: Christian Casteyde \u003ccasteyde.christian@free.fr\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "c8afb44682fcef6273e8b8eb19fab13ddd05b386",
      "tree": "44c170427e54b611d7f02a31bbd5733cc9cf1dd0",
      "parents": [
        "17bd55d037a02b04d9119511cfd1a4b985d20f63"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Wed Dec 23 07:58:12 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Dec 23 07:58:12 2009 -0500"
      },
      "message": "ext4: flush delalloc blocks when space is low\n\nCreating many small files in rapid succession on a small\nfilesystem can lead to spurious ENOSPC; on a 104MB filesystem:\n\nfor i in `seq 1 22500`; do\n    echo -n \u003e $SCRATCH_MNT/$i\n    echo XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX \u003e $SCRATCH_MNT/$i\ndone\n\nleads to ENOSPC even though after a sync, 40% of the fs is free\nagain.\n\nThis is because we reserve worst-case metadata for delalloc writes,\nand when data is allocated that worst-case reservation is not\nusually needed.\n\nWhen freespace is low, kicking off an async writeback will start\nconverting that worst-case space usage into something more realistic,\nalmost always freeing up space to continue.\n\nThis resolves the testcase for me, and survives all 4 generic\nENOSPC tests in xfstests.\n\nWe\u0027ll still need a hard synchronous sync to squeeze out the last bit,\nbut this fixes things up to a large degree.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "17bd55d037a02b04d9119511cfd1a4b985d20f63",
      "tree": "ddbc227fffb84d1b95f5f8c48b627f88f3fd56ed",
      "parents": [
        "d3533d72e7478a61a3e1936956fc825289a2acf4"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Wed Dec 23 07:57:07 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Dec 23 07:57:07 2009 -0500"
      },
      "message": "fs-writeback: Add helper function to start writeback if idle\n\next4, at least, would like to start pushing on writeback if it starts\nto get close to ENOSPC when reserving worst-case blocks for delalloc\nwrites.  Writing out delalloc data will convert those worst-case\npredictions into usually smaller actual usage, freeing up space\nbefore we hit ENOSPC based on this speculation.\n\nThanks to Jens for the suggestion for the helper function,\n\u0026 the naming help.\n\nI\u0027ve made the helper return status on whether writeback was\nstarted even though I don\u0027t plan to use it in the ext4 patch;\nit seems like it would be potentially useful to test this\nin some cases.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "d3533d72e7478a61a3e1936956fc825289a2acf4",
      "tree": "5932e890fa8185bd792a94730725665a26a6102a",
      "parents": [
        "a6b43e382568a49cc64291bfaddf896652d44f70"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Wed Dec 23 07:52:31 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Dec 23 07:52:31 2009 -0500"
      },
      "message": "ext4: Eliminate potential double free on error path\n\nb_entry_name and buffer are initially NULL, are initialized within a loop\nto the result of calling kmalloc, and are freed at the bottom of this loop.\nThe loop contains gotos to cleanup, which also frees b_entry_name and\nbuffer.  Some of these gotos are before the reinitializations of\nb_entry_name and buffer.  To maintain the invariant that b_entry_name and\nbuffer are NULL at the top of the loop, and thus acceptable arguments to\nkfree, these variables are now set to NULL after the kfrees.\n\nThis seems to be the simplest solution.  A more complicated solution\nwould be to introduce more labels in the error handling code at the end of\nthe function.\n\nA simplified version of the semantic match that finds this problem is as\nfollows: (http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@r@\nidentifier E;\nexpression E1;\niterator I;\nstatement S;\n@@\n\n*kfree(E);\n... when !\u003d E \u003d E1\n    when !\u003d I(E,...) S\n    when !\u003d \u0026E\n*kfree(E);\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "a6b43e382568a49cc64291bfaddf896652d44f70",
      "tree": "b7ef950c5d704dc72e054ad621fa34d82ae4f9cf",
      "parents": [
        "cc3e1bea5d87635c519da657303690f5538bb4eb"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed Dec 23 07:48:08 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Dec 23 07:48:08 2009 -0500"
      },
      "message": "ext4: fix unsigned long long printk warning in super.c\n\nsparc64 allmodconfig:\n\nfs/ext4/super.c: In function `lifetime_write_kbytes_show\u0027:\nfs/ext4/super.c:2174: warning: long long unsigned int format, long unsigned int arg (arg 4)\nfs/ext4/super.c:2174: warning: long long unsigned int format, long unsigned int arg (arg 4)\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "869835dfad3eb6f7d90c3255a24b084fea82f30d",
      "tree": "738e438bcbab1330e8585ad6ee59dd8a66263a2c",
      "parents": [
        "765f8361902d015c864d5e62019b2f139452d7ef"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Dec 21 21:57:04 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Dec 23 13:44:13 2009 +0100"
      },
      "message": "quota: Improve checking of quota file header\n\nWhen we are asked for vfsv0 quota format and the file is in vfsv1\nformat (or vice versa), refuse to use the quota file. Also return\nwith error when we don\u0027t like the header of quota file.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "765f8361902d015c864d5e62019b2f139452d7ef",
      "tree": "f872385ae91fc926b036038e583a7f72ab5f3459",
      "parents": [
        "39bc680a8160bb9d6743f7873b535d553ff61058"
      ],
      "author": {
        "name": "Yin Kangkai",
        "email": "kangkai.yin@intel.com",
        "time": "Tue Dec 15 14:48:25 2009 -0800"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Dec 23 13:44:13 2009 +0100"
      },
      "message": "jbd: jbd-debug and jbd2-debug should be writable\n\njbd-debug and jbd2-debug is currently read-only (S_IRUGO), which is not\ncorrect. Make it writable so that we can start debuging.\n\nSigned-off-by: Yin Kangkai \u003ckangkai.yin@intel.com\u003e\nReviewed-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "39bc680a8160bb9d6743f7873b535d553ff61058",
      "tree": "6aac2c11b09870bffb877dcaf6ae44b34b56d4db",
      "parents": [
        "d21cd8f163ac44b15c465aab7306db931c606908"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Thu Dec 10 16:36:27 2009 +0000"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Dec 23 13:44:12 2009 +0100"
      },
      "message": "ext4: fix sleep inside spinlock issue with quota and dealloc (#14739)\n\nUnlock i_block_reservation_lock before vfs_dq_reserve_block().\nThis patch fixes http://bugzilla.kernel.org/show_bug.cgi?id\u003d14739\n\nCC: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "d21cd8f163ac44b15c465aab7306db931c606908",
      "tree": "72cbe30f358c93ed7cdae7d4061fc4fdb317959d",
      "parents": [
        "82fdfa928cfa19d9627526b2ce164a27f8e9d34b"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Thu Dec 10 03:31:45 2009 +0000"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Dec 23 13:44:12 2009 +0100"
      },
      "message": "ext4: Fix potential quota deadlock\n\nWe have to delay vfs_dq_claim_space() until allocation context destruction.\nCurrently we have following call-trace:\next4_mb_new_blocks()\n  /* task is already holding ac-\u003ealloc_semp */\n -\u003eext4_mb_mark_diskspace_used\n    -\u003evfs_dq_claim_space()  /*  acquire dqptr_sem here. Possible deadlock */\n -\u003eext4_mb_release_context() /* drop ac-\u003ealloc_semp here */\n\nLet\u0027s move quota claiming to ext4_da_update_reserve_space()\n\n \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n [ INFO: possible circular locking dependency detected ]\n 2.6.32-rc7 #18\n -------------------------------------------------------\n write-truncate-/3465 is trying to acquire lock:\n  (\u0026s-\u003es_dquot.dqptr_sem){++++..}, at: [\u003cc025e73b\u003e] dquot_claim_space+0x3b/0x1b0\n\n but task is already holding lock:\n  (\u0026meta_group_info[i]-\u003ealloc_sem){++++..}, at: [\u003cc02ce962\u003e] ext4_mb_load_buddy+0xb2/0x370\n\n which lock already depends on the new lock.\n\n the existing dependency chain (in reverse order) is:\n\n -\u003e #3 (\u0026meta_group_info[i]-\u003ealloc_sem){++++..}:\n        [\u003cc017d04b\u003e] __lock_acquire+0xd7b/0x1260\n        [\u003cc017d5ea\u003e] lock_acquire+0xba/0xd0\n        [\u003cc0527191\u003e] down_read+0x51/0x90\n        [\u003cc02ce962\u003e] ext4_mb_load_buddy+0xb2/0x370\n        [\u003cc02d0c1c\u003e] ext4_mb_free_blocks+0x46c/0x870\n        [\u003cc029c9d3\u003e] ext4_free_blocks+0x73/0x130\n        [\u003cc02c8cfc\u003e] ext4_ext_truncate+0x76c/0x8d0\n        [\u003cc02a8087\u003e] ext4_truncate+0x187/0x5e0\n        [\u003cc01e0f7b\u003e] vmtruncate+0x6b/0x70\n        [\u003cc022ec02\u003e] inode_setattr+0x62/0x190\n        [\u003cc02a2d7a\u003e] ext4_setattr+0x25a/0x370\n        [\u003cc022ee81\u003e] notify_change+0x151/0x340\n        [\u003cc021349d\u003e] do_truncate+0x6d/0xa0\n        [\u003cc0221034\u003e] may_open+0x1d4/0x200\n        [\u003cc022412b\u003e] do_filp_open+0x1eb/0x910\n        [\u003cc021244d\u003e] do_sys_open+0x6d/0x140\n        [\u003cc021258e\u003e] sys_open+0x2e/0x40\n        [\u003cc0103100\u003e] sysenter_do_call+0x12/0x32\n\n -\u003e #2 (\u0026ei-\u003ei_data_sem){++++..}:\n        [\u003cc017d04b\u003e] __lock_acquire+0xd7b/0x1260\n        [\u003cc017d5ea\u003e] lock_acquire+0xba/0xd0\n        [\u003cc0527191\u003e] down_read+0x51/0x90\n        [\u003cc02a5787\u003e] ext4_get_blocks+0x47/0x450\n        [\u003cc02a74c1\u003e] ext4_getblk+0x61/0x1d0\n        [\u003cc02a7a7f\u003e] ext4_bread+0x1f/0xa0\n        [\u003cc02bcddc\u003e] ext4_quota_write+0x12c/0x310\n        [\u003cc0262d23\u003e] qtree_write_dquot+0x93/0x120\n        [\u003cc0261708\u003e] v2_write_dquot+0x28/0x30\n        [\u003cc025d3fb\u003e] dquot_commit+0xab/0xf0\n        [\u003cc02be977\u003e] ext4_write_dquot+0x77/0x90\n        [\u003cc02be9bf\u003e] ext4_mark_dquot_dirty+0x2f/0x50\n        [\u003cc025e321\u003e] dquot_alloc_inode+0x101/0x180\n        [\u003cc029fec2\u003e] ext4_new_inode+0x602/0xf00\n        [\u003cc02ad789\u003e] ext4_create+0x89/0x150\n        [\u003cc0221ff2\u003e] vfs_create+0xa2/0xc0\n        [\u003cc02246e7\u003e] do_filp_open+0x7a7/0x910\n        [\u003cc021244d\u003e] do_sys_open+0x6d/0x140\n        [\u003cc021258e\u003e] sys_open+0x2e/0x40\n        [\u003cc0103100\u003e] sysenter_do_call+0x12/0x32\n\n -\u003e #1 (\u0026sb-\u003es_type-\u003ei_mutex_key#7/4){+.+...}:\n        [\u003cc017d04b\u003e] __lock_acquire+0xd7b/0x1260\n        [\u003cc017d5ea\u003e] lock_acquire+0xba/0xd0\n        [\u003cc0526505\u003e] mutex_lock_nested+0x65/0x2d0\n        [\u003cc0260c9d\u003e] vfs_load_quota_inode+0x4bd/0x5a0\n        [\u003cc02610af\u003e] vfs_quota_on_path+0x5f/0x70\n        [\u003cc02bc812\u003e] ext4_quota_on+0x112/0x190\n        [\u003cc026345a\u003e] sys_quotactl+0x44a/0x8a0\n        [\u003cc0103100\u003e] sysenter_do_call+0x12/0x32\n\n -\u003e #0 (\u0026s-\u003es_dquot.dqptr_sem){++++..}:\n        [\u003cc017d361\u003e] __lock_acquire+0x1091/0x1260\n        [\u003cc017d5ea\u003e] lock_acquire+0xba/0xd0\n        [\u003cc0527191\u003e] down_read+0x51/0x90\n        [\u003cc025e73b\u003e] dquot_claim_space+0x3b/0x1b0\n        [\u003cc02cb95f\u003e] ext4_mb_mark_diskspace_used+0x36f/0x380\n        [\u003cc02d210a\u003e] ext4_mb_new_blocks+0x34a/0x530\n        [\u003cc02c83fb\u003e] ext4_ext_get_blocks+0x122b/0x13c0\n        [\u003cc02a5966\u003e] ext4_get_blocks+0x226/0x450\n        [\u003cc02a5ff3\u003e] mpage_da_map_blocks+0xc3/0xaa0\n        [\u003cc02a6ed6\u003e] ext4_da_writepages+0x506/0x790\n        [\u003cc01de272\u003e] do_writepages+0x22/0x50\n        [\u003cc01d766d\u003e] __filemap_fdatawrite_range+0x6d/0x80\n        [\u003cc01d7b9b\u003e] filemap_flush+0x2b/0x30\n        [\u003cc02a40ac\u003e] ext4_alloc_da_blocks+0x5c/0x60\n        [\u003cc029e595\u003e] ext4_release_file+0x75/0xb0\n        [\u003cc0216b59\u003e] __fput+0xf9/0x210\n        [\u003cc0216c97\u003e] fput+0x27/0x30\n        [\u003cc02122dc\u003e] filp_close+0x4c/0x80\n        [\u003cc014510e\u003e] put_files_struct+0x6e/0xd0\n        [\u003cc01451b7\u003e] exit_files+0x47/0x60\n        [\u003cc0146a24\u003e] do_exit+0x144/0x710\n        [\u003cc0147028\u003e] do_group_exit+0x38/0xa0\n        [\u003cc0159abc\u003e] get_signal_to_deliver+0x2ac/0x410\n        [\u003cc0102849\u003e] do_notify_resume+0xb9/0x890\n        [\u003cc01032d2\u003e] work_notifysig+0x13/0x21\n\n other info that might help us debug this:\n\n 3 locks held by write-truncate-/3465:\n  #0:  (jbd2_handle){+.+...}, at: [\u003cc02e1f8f\u003e] start_this_handle+0x38f/0x5c0\n  #1:  (\u0026ei-\u003ei_data_sem){++++..}, at: [\u003cc02a57f6\u003e] ext4_get_blocks+0xb6/0x450\n  #2:  (\u0026meta_group_info[i]-\u003ealloc_sem){++++..}, at: [\u003cc02ce962\u003e] ext4_mb_load_buddy+0xb2/0x370\n\n stack backtrace:\n Pid: 3465, comm: write-truncate- Not tainted 2.6.32-rc7 #18\n Call Trace:\n  [\u003cc0524cb3\u003e] ? printk+0x1d/0x22\n  [\u003cc017ac9a\u003e] print_circular_bug+0xca/0xd0\n  [\u003cc017d361\u003e] __lock_acquire+0x1091/0x1260\n  [\u003cc016bca2\u003e] ? sched_clock_local+0xd2/0x170\n  [\u003cc0178fd0\u003e] ? trace_hardirqs_off_caller+0x20/0xd0\n  [\u003cc017d5ea\u003e] lock_acquire+0xba/0xd0\n  [\u003cc025e73b\u003e] ? dquot_claim_space+0x3b/0x1b0\n  [\u003cc0527191\u003e] down_read+0x51/0x90\n  [\u003cc025e73b\u003e] ? dquot_claim_space+0x3b/0x1b0\n  [\u003cc025e73b\u003e] dquot_claim_space+0x3b/0x1b0\n  [\u003cc02cb95f\u003e] ext4_mb_mark_diskspace_used+0x36f/0x380\n  [\u003cc02d210a\u003e] ext4_mb_new_blocks+0x34a/0x530\n  [\u003cc02c601d\u003e] ? ext4_ext_find_extent+0x25d/0x280\n  [\u003cc02c83fb\u003e] ext4_ext_get_blocks+0x122b/0x13c0\n  [\u003cc016bca2\u003e] ? sched_clock_local+0xd2/0x170\n  [\u003cc016be60\u003e] ? sched_clock_cpu+0x120/0x160\n  [\u003cc016beef\u003e] ? cpu_clock+0x4f/0x60\n  [\u003cc0178fd0\u003e] ? trace_hardirqs_off_caller+0x20/0xd0\n  [\u003cc052712c\u003e] ? down_write+0x8c/0xa0\n  [\u003cc02a5966\u003e] ext4_get_blocks+0x226/0x450\n  [\u003cc016be60\u003e] ? sched_clock_cpu+0x120/0x160\n  [\u003cc016beef\u003e] ? cpu_clock+0x4f/0x60\n  [\u003cc017908b\u003e] ? trace_hardirqs_off+0xb/0x10\n  [\u003cc02a5ff3\u003e] mpage_da_map_blocks+0xc3/0xaa0\n  [\u003cc01d69cc\u003e] ? find_get_pages_tag+0x16c/0x180\n  [\u003cc01d6860\u003e] ? find_get_pages_tag+0x0/0x180\n  [\u003cc02a73bd\u003e] ? __mpage_da_writepage+0x16d/0x1a0\n  [\u003cc01dfc4e\u003e] ? pagevec_lookup_tag+0x2e/0x40\n  [\u003cc01ddf1b\u003e] ? write_cache_pages+0xdb/0x3d0\n  [\u003cc02a7250\u003e] ? __mpage_da_writepage+0x0/0x1a0\n  [\u003cc02a6ed6\u003e] ext4_da_writepages+0x506/0x790\n  [\u003cc016beef\u003e] ? cpu_clock+0x4f/0x60\n  [\u003cc016bca2\u003e] ? sched_clock_local+0xd2/0x170\n  [\u003cc016be60\u003e] ? sched_clock_cpu+0x120/0x160\n  [\u003cc016be60\u003e] ? sched_clock_cpu+0x120/0x160\n  [\u003cc02a69d0\u003e] ? ext4_da_writepages+0x0/0x790\n  [\u003cc01de272\u003e] do_writepages+0x22/0x50\n  [\u003cc01d766d\u003e] __filemap_fdatawrite_range+0x6d/0x80\n  [\u003cc01d7b9b\u003e] filemap_flush+0x2b/0x30\n  [\u003cc02a40ac\u003e] ext4_alloc_da_blocks+0x5c/0x60\n  [\u003cc029e595\u003e] ext4_release_file+0x75/0xb0\n  [\u003cc0216b59\u003e] __fput+0xf9/0x210\n  [\u003cc0216c97\u003e] fput+0x27/0x30\n  [\u003cc02122dc\u003e] filp_close+0x4c/0x80\n  [\u003cc014510e\u003e] put_files_struct+0x6e/0xd0\n  [\u003cc01451b7\u003e] exit_files+0x47/0x60\n  [\u003cc0146a24\u003e] do_exit+0x144/0x710\n  [\u003cc017b163\u003e] ? lock_release_holdtime+0x33/0x210\n  [\u003cc0528137\u003e] ? _spin_unlock_irq+0x27/0x30\n  [\u003cc0147028\u003e] do_group_exit+0x38/0xa0\n  [\u003cc017babb\u003e] ? trace_hardirqs_on+0xb/0x10\n  [\u003cc0159abc\u003e] get_signal_to_deliver+0x2ac/0x410\n  [\u003cc0102849\u003e] do_notify_resume+0xb9/0x890\n  [\u003cc0178fd0\u003e] ? trace_hardirqs_off_caller+0x20/0xd0\n  [\u003cc017b163\u003e] ? lock_release_holdtime+0x33/0x210\n  [\u003cc0165b50\u003e] ? autoremove_wake_function+0x0/0x50\n  [\u003cc017ba54\u003e] ? trace_hardirqs_on_caller+0x134/0x190\n  [\u003cc017babb\u003e] ? trace_hardirqs_on+0xb/0x10\n  [\u003cc0300ba4\u003e] ? security_file_permission+0x14/0x20\n  [\u003cc0215761\u003e] ? vfs_write+0x131/0x190\n  [\u003cc0214f50\u003e] ? do_sync_write+0x0/0x120\n  [\u003cc0103115\u003e] ? sysenter_do_call+0x27/0x32\n  [\u003cc01032d2\u003e] work_notifysig+0x13/0x21\n\nCC: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "82fdfa928cfa19d9627526b2ce164a27f8e9d34b",
      "tree": "f47d4b812103a2e93f401fce7f9e1f07c1f7ef87",
      "parents": [
        "96d2a495c25d525873529b736cdb63ad502b101c"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Dec 15 22:24:36 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Dec 23 13:44:12 2009 +0100"
      },
      "message": "quota: Fix 64-bit limits setting on 32-bit archs\n\nFix warnings:\nfs/quota/quota_v2.c: In function ‘v2_read_file_info’:\nfs/quota/quota_v2.c:123: warning: integer constant is too large for ‘long’ type\nfs/quota/quota_v2.c:124: warning: integer constant is too large for ‘long’ type\n\nReported-by: Jerry Leo \u003cjerryleo860202@gmail.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "96d2a495c25d525873529b736cdb63ad502b101c",
      "tree": "7ceb418c1e26e682cc0c43d47efe4eb2cc639de9",
      "parents": [
        "b8a052d01669977f224255b0f9f2737018171ddb"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Dec 14 13:01:05 2009 -0600"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Dec 23 13:44:12 2009 +0100"
      },
      "message": "ext3: Replace lock/unlock_super() with an explicit lock for resizing\n\nUse a separate lock to protect s_groups_count and the other block\ngroup descriptors which get changed via an on-line resize operation,\nso we can stop overloading the use of lock_super().\n\nPort of ext4 commit 32ed5058ce90024efcd811254b4b1de0468099df by\nTheodore Ts\u0027o \u003ctytso@mit.edu\u003e.\n\nCC: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "b8a052d01669977f224255b0f9f2737018171ddb",
      "tree": "2ef6c2e038d269f2bc4eb73e82439f0301d5c6b1",
      "parents": [
        "4854a5f0cbb1967fc7db3ea861d97afeea78b88b"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Dec 14 13:00:30 2009 -0600"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Dec 23 13:44:11 2009 +0100"
      },
      "message": "ext3: Replace lock/unlock_super() with an explicit lock for the orphan list\n\nUse a separate lock to protect the orphan list, so we can stop\noverloading the use of lock_super().\n\nPort of ext4 commit 3b9d4ed26680771295d904a6b83e88e620780893\nby Theodore Ts\u0027o \u003ctytso@mit.edu\u003e.\n\nCC: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "4854a5f0cbb1967fc7db3ea861d97afeea78b88b",
      "tree": "092ac94277b2f3fc506f177a04f3e541e14b8aaa",
      "parents": [
        "ed505ee454dbf133b1a4067d3ac0325d4261eda1"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Dec 14 12:59:59 2009 -0600"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Dec 23 13:44:11 2009 +0100"
      },
      "message": "ext3: ext3_mark_recovery_complete() doesn\u0027t need to use lock_super\n\nThe function ext3_mark_recovery_complete() is called from two call\npaths: either (a) while mounting the filesystem, in which case there\u0027s\nno danger of any other CPU calling write_super() until the mount is\ncompleted, and (b) while remounting the filesystem read-write, in\nwhich case the fs core has already locked the superblock.  This also\nallows us to take out a very vile unlock_super()/lock_super() pair in\next3_remount().\n\nPort of ext4 commit a63c9eb2ce6f5028da90f282798232c4f398ceb8 by\nTheodore Ts\u0027o \u003ctytso@mit.edu\u003e.\n\nCC: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "ed505ee454dbf133b1a4067d3ac0325d4261eda1",
      "tree": "352720f71d096b838d7db68b2005a00ee4966a2e",
      "parents": [
        "dc52dd3a3a800e70b3440ea4424f8c87ab043e42"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Dec 14 12:59:18 2009 -0600"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Dec 23 13:43:50 2009 +0100"
      },
      "message": "ext3: Remove outdated comment about lock_super()\n\next3_fill_super() is no longer called by read_super(), and it is no\nlonger called with the superblock locked.  The\nunlock_super()/lock_super() is no longer present, so this comment is\nentirely superfluous.\n\nPort of ext4 commit 32ed5058ce90024efcd811254b4b1de0468099df by\nTheodore Ts\u0027o \u003ctytso@mit.edu\u003e.\n\nCC: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "dc52dd3a3a800e70b3440ea4424f8c87ab043e42",
      "tree": "1a4a0ba723065b8308db6597fe19cd0f73d5713a",
      "parents": [
        "a9e7f4472075fb6937c545af3f6329e9946bbe66"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Mon Dec 14 15:21:15 2009 +0300"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Dec 23 13:33:55 2009 +0100"
      },
      "message": "quota: Move duplicated code to separate functions\n\n- for(..) { mark_dquot_dirty(); } -\u003e mark_all_dquot_dirty()\n- for(..) { dput(); }             -\u003e dqput_all()\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "a9e7f4472075fb6937c545af3f6329e9946bbe66",
      "tree": "399e294982e1c9691332eca72942910a7f74e9f8",
      "parents": [
        "fd8fbfc1709822bd94247c5b2ab15a5f5041e103"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Mon Dec 14 15:21:14 2009 +0300"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Dec 23 13:33:55 2009 +0100"
      },
      "message": "ext4: Convert to generic reserved quota\u0027s space management.\n\nThis patch also fixes write vs chown race condition.\n\nAcked-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "fd8fbfc1709822bd94247c5b2ab15a5f5041e103",
      "tree": "225be57d6afafcd7c893c5b9026719f9b23def69",
      "parents": [
        "b462707e7ccad058ae151e5c5b06eb5cadcb737f"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Mon Dec 14 15:21:13 2009 +0300"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Dec 23 13:33:54 2009 +0100"
      },
      "message": "quota: decouple fs reserved space from quota reservation\n\nCurrently inode_reservation is managed by fs itself and this\nreservation is transfered on dquot_transfer(). This means what\ninode_reservation must always be in sync with\ndquot-\u003edq_dqb.dqb_rsvspace. Otherwise dquot_transfer() will result\nin incorrect quota(WARN_ON in dquot_claim_reserved_space() will be\ntriggered)\nThis is not easy because of complex locking order issues\nfor example http://bugzilla.kernel.org/show_bug.cgi?id\u003d14739\n\nThe patch introduce quota reservation field for each fs-inode\n(fs specific inode is used in order to prevent bloating generic\nvfs inode). This reservation is managed by quota code internally\nsimilar to i_blocks/i_bytes and may not be always in sync with\ninternal fs reservation.\n\nAlso perform some code rearrangement:\n- Unify dquot_reserve_space() and dquot_reserve_space()\n- Unify dquot_release_reserved_space() and dquot_free_space()\n- Also this patch add missing warning update to release_rsv()\n  dquot_release_reserved_space() must call flush_warnings() as\n  dquot_free_space() does.\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "b462707e7ccad058ae151e5c5b06eb5cadcb737f",
      "tree": "ea518c8eed963989c94fa5e555e1aeb3bb08143b",
      "parents": [
        "c459001fa4f71deafb62e00fa70d35f695498965"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Mon Dec 14 15:21:12 2009 +0300"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Dec 23 13:33:54 2009 +0100"
      },
      "message": "Add unlocked version of inode_add_bytes() function\n\nQuota code requires unlocked version of this function. Off course\nwe can just copy-paste the code, but copy-pasting is always an evil.\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "c459001fa4f71deafb62e00fa70d35f695498965",
      "tree": "ec3bf9ebcd0b06944174ff5ec0d8e7136e7d91ff",
      "parents": [
        "c9f937e4a3f4ebf9924ec21d80632e5eb61d949c"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Wed Dec 09 03:05:30 2009 +0300"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Dec 23 13:33:54 2009 +0100"
      },
      "message": "ext3: quota macros cleanup [V2]\n\nCurrently all quota block reservation macros contains hardcoded \"2\"\naka MAXQUOTAS value. This is no good because in some places it is not\nobvious to understand what does this digit represent. Let\u0027s introduce\nnew macro with self descriptive name.\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "cc3e1bea5d87635c519da657303690f5538bb4eb",
      "tree": "727b348d0389a2fe6618fb224fe1d81d207668c4",
      "parents": [
        "034fb4c95fc0fed4ec4a50778127b92c6f2aec01"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Dec 23 06:52:08 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Dec 23 06:52:08 2009 -0500"
      },
      "message": "ext4, jbd2: Add barriers for file systems with exernal journals\n\nThis is a bit complicated because we are trying to optimize when we\nsend barriers to the fs data disk.  We could just throw in an extra\nbarrier to the data disk whenever we send a barrier to the journal\ndisk, but that\u0027s not always strictly necessary.\n\nWe only need to send a barrier during a commit when there are data\nblocks which are must be written out due to an inode written in\nordered mode, or if fsync() depends on the commit to force data blocks\nto disk.  Finally, before we drop transactions from the beginning of\nthe journal during a checkpoint operation, we need to guarantee that\nany blocks that were flushed out to the data disk are firmly on the\nrust platter before we drop the transaction from the journal.\n\nThanks to Oleg Drokin for pointing out this flaw in ext3/ext4.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "28ba0ec64ca0f6ad2b0338ccec0b00a4e64e7a69",
      "tree": "6c3fb71757146bf99c4a098e99b73285992fb5ed",
      "parents": [
        "95ebc3a7930d5965b00bbedbf36bfd3eb9124d65"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Fri Nov 06 11:31:06 2009 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Dec 22 12:27:35 2009 -0500"
      },
      "message": "jfs: Fix 32bit build warning\n\nloff_t is a type that isn\u0027t entirely dependant upon 32 v 64bit choice\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "5300990c0370e804e49d9a59d928c5d53fb73487",
      "tree": "08ed922afd172662039c082ec9e9410070f4afe8",
      "parents": [
        "482928d59db668b8d82a48717f78986d8cea72e9"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Dec 19 10:15:07 2009 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Dec 22 12:27:34 2009 -0500"
      },
      "message": "Sanitize f_flags helpers\n\n* pull ACC_MODE to fs.h; we have several copies all over the place\n* nightmarish expression calculating f_mode by f_flags deserves a helper\ntoo (OPEN_FMODE(flags))\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "482928d59db668b8d82a48717f78986d8cea72e9",
      "tree": "6985c64474172ddfb67c737bc4a49e588c49d055",
      "parents": [
        "628ff7c1d8d8466a5ad8078bd0206a130f8b8a51"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Dec 19 10:10:39 2009 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Dec 22 12:27:34 2009 -0500"
      },
      "message": "Fix f_flags/f_mode in case of lookup_instantiate_filp() from open(pathname, 3)\n\nJust set f_flags when shoving struct file into nameidata; don\u0027t\npostpone that until __dentry_open().  do_filp_open() has correct\nvalue; lookup_instantiate_filp() doesn\u0027t - we lose the difference\nbetween O_RDWR and 3 by that point.\n\nWe still set .intent.open.flags, so no fs code needs to be changed.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "628ff7c1d8d8466a5ad8078bd0206a130f8b8a51",
      "tree": "cc7ab0c90849be38e200fc6ff6a3a09e3caf0405",
      "parents": [
        "ed2617585f39dd12fae38c657bba68b9779ea10d"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rdreier@cisco.com",
        "time": "Fri Dec 18 09:41:24 2009 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Dec 22 12:27:34 2009 -0500"
      },
      "message": "anonfd: Allow making anon files read-only\n\nIt seems a couple places such as arch/ia64/kernel/perfmon.c and\ndrivers/infiniband/core/uverbs_main.c could use anon_inode_getfile()\ninstead of a private pseudo-fs + alloc_file(), if only there were a way\nto get a read-only file.  So provide this by having anon_inode_getfile()\ncreate a read-only file if we pass O_RDONLY in flags.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ed2617585f39dd12fae38c657bba68b9779ea10d",
      "tree": "4cab8c51c644106dda764eb05e1f856683d4dc7a",
      "parents": [
        "05f94c9b74b0bed5469d97edffae350ec9c1f205"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Mon Dec 21 17:53:53 2009 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Dec 22 12:27:33 2009 -0500"
      },
      "message": "fs/compat_ioctl.c: fix build error when !BLOCK\n\nNo driver uses SG_SET_TRANSFORM any more in Linux, since the ide-scsi\ndriver was removed in 2.6.29. The compat-ioctl cleanup series moved\nthe handling for this around, which broke building without CONFIG_BLOCK.\n\nJust remove the code handling it for compat mode.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "385e3ed4f0b81dd0b0b214050a30d352a71b95f7",
      "tree": "e52388a091a36f29a6a0c1c442914cdc51eee1cc",
      "parents": [
        "f7b84a6ba7eaeba4e1df8feddca1473a7db369a5"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rdreier@cisco.com",
        "time": "Wed Dec 16 12:48:44 2009 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Dec 22 12:27:33 2009 -0500"
      },
      "message": "alloc_file(): simplify handling of mnt_clone_write() errors\n\nWhen alloc_file() and init_file() were combined, the error handling of\nmnt_clone_write() was taken into alloc_file() in a somewhat obfuscated\nway.  Since we don\u0027t use the error code for anything except warning,\nwe might as well warn directly without an extra variable.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3d354cbc43db36e7e8b27ed78901064b87864ffc",
      "tree": "08de81316e22a8edf430f4de9074968d2d73b57a",
      "parents": [
        "dd59f6c76b265ed2ff18b497d6105a9511b1feb1"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun Dec 20 10:43:35 2009 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 20 20:19:51 2009 -0800"
      },
      "message": "nfsd: fix \"insecure\" export option\n\nA typo in 12045a6ee9908b \"nfsd: let \"insecure\" flag vary by\npseudoflavor\" reversed the sense of the \"insecure\" flag.\n\nReported-by: Michael Guntsche \u003cmike@it-loops.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f69ac2f5a36948e1adf071074414c5d1907b89b7",
      "tree": "71fd91c4f6d644f118efe0e04c16413c44d15e00",
      "parents": [
        "7663dacd926584093dfc350892792054692b6cb3"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Dec 18 16:31:34 2009 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun Dec 20 10:22:58 2009 -0500"
      },
      "message": "nfsd: fix \"insecure\" export option\n\nA typo in 12045a6ee9908b \"nfsd: let \"insecure\" flag vary by\npseudoflavor\" reversed the sense of the \"insecure\" flag.\n\nReported-by: Michael Guntsche \u003cmike@it-loops.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "aac3d39693529ca538e37ebdb6ed5d6432a697c7",
      "tree": "bb1b0c9fe0538008aa2c97c6f5d9dfc2a4c34190",
      "parents": [
        "10e5453ffa0d04a2eda3cda3f55b88cb9c04595f",
        "077614ee1e93245a3b9a4e1213659405dbeb0ba6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 19 09:47:49 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 19 09:47:49 2009 -0800"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (25 commits)\n  sched: Fix broken assertion\n  sched: Assert task state bits at build time\n  sched: Update task_state_arraypwith new states\n  sched: Add missing state chars to TASK_STATE_TO_CHAR_STR\n  sched: Move TASK_STATE_TO_CHAR_STR near the TASK_state bits\n  sched: Teach might_sleep() about preemptible RCU\n  sched: Make warning less noisy\n  sched: Simplify set_task_cpu()\n  sched: Remove the cfs_rq dependency from set_task_cpu()\n  sched: Add pre and post wakeup hooks\n  sched: Move kthread_bind() back to kthread.c\n  sched: Fix select_task_rq() vs hotplug issues\n  sched: Fix sched_exec() balancing\n  sched: Ensure set_task_cpu() is never called on blocked tasks\n  sched: Use TASK_WAKING for fork wakups\n  sched: Select_task_rq_fair() must honour SD_LOAD_BALANCE\n  sched: Fix task_hot() test order\n  sched: Fix set_cpu_active() in cpu_down()\n  sched: Mark boot-cpu active before smp_init()\n  sched: Fix cpu_clock() in NMIs, on !CONFIG_HAVE_UNSTABLE_SCHED_CLOCK\n  ...\n"
    },
    {
      "commit": "10cf1a02f444fdcd50be47cce3fa8bf08251dd9c",
      "tree": "88e014a00955835988b7bc39a388846ebb0a778a",
      "parents": [
        "c7d260afcbc0f9f4074e74796d4e3646875c08e1"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Fri Dec 18 10:24:55 2009 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Dec 18 13:32:28 2009 -0800"
      },
      "message": "ocfs2: Set i_nlink properly during reflink.\n\nWe create a file in orphan dir for reflink so that if there\nis any error, we don\u0027t create any wrong dentry in the dir.\nBut actually the file in orphan dir should be i_nlink \u003d 0\nso that it can be replayed and freed successfully.\n\nThis patch first set i_nlink to 0 when creating the file in\norphan dir and then set it to 1(reflink now only works for\nregular file) when we move it to the dest dir.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "c7d260afcbc0f9f4074e74796d4e3646875c08e1",
      "tree": "71d200fa3fddd6d98c39ecc48fd7b6ca10d91afc",
      "parents": [
        "12d4cec988a8a20927a9795dbf2c6d9ef2f85baa"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Fri Dec 18 10:24:54 2009 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Dec 18 13:32:20 2009 -0800"
      },
      "message": "ocfs2: Add reflinked file\u0027s inode to inode hash eariler.\n\nWe used to add reflinked file\u0027s inode to inode hash when\nwe add it to the dest dir. But actually there is a race.\nConsider the following sequence.\n1. reflink happens and create the inode in orphan dir.\n2. reflink thread is scheduled out because of some io.\n3. recovery begins to work and calls ocfs2_recover_orphans.\n   It calls ocfs2_iget and get a new inode and i_count \u003d 1.\n   It calls iput then and delete inode. the buffer\u0027s\n   uptodate state is cleared.\n\nThis patch move insert_inode_hash to the create function so\nthat it can be found by step 3 and prevented from deleting\nbecause i_count \u003e 1.\n\nThis resolves the bug\nhttp://oss.oracle.com/bugzilla/show_bug.cgi?id\u003d1183.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "55f4946ed23cbf78efe9f818c4b55e890fe2beff",
      "tree": "354bcbe5424a2923f3e4b84689fc751a303e6ab6",
      "parents": [
        "faf8b70f79edf56fedd531dfcd41f3e73c3e9696"
      ],
      "author": {
        "name": "Tristan Ye",
        "email": "tristan.ye@oracle.com",
        "time": "Thu Dec 17 18:42:16 2009 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Dec 17 21:21:32 2009 -0800"
      },
      "message": "Ocfs2: Should ocfs2 support fiemap for S_IFDIR inode?\n\nLet userspace have a chance to get the extent info of a\ndirectory just like extN did.\n\nSigned-off-by: Tristan Ye \u003ctristan.ye@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "faf8b70f79edf56fedd531dfcd41f3e73c3e9696",
      "tree": "10ded8a52305670b13a1bcae53003452362ad9ad",
      "parents": [
        "8c0414cd524e9f1c483ffb3ff1c2d860f5c567c8"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Thu Dec 03 12:46:52 2009 -0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Dec 17 20:55:59 2009 -0800"
      },
      "message": "ocfs2: Use FIEMAP_EXTENT_SHARED\n\nAdds FIEMAP_EXTENT_SHARED flag to refcounted extents.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nAcked-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "936545401624217955df4dd44bb71615900e5397",
      "tree": "3b7b14db70e8cf9f31707891963a8ab655f3f8e6",
      "parents": [
        "3a05d7961e6b5fb77660849b56a22feca5d1e0c5"
      ],
      "author": {
        "name": "Coly Li",
        "email": "coly.li@suse.de",
        "time": "Sun Dec 06 22:38:53 2009 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Dec 17 20:55:54 2009 -0800"
      },
      "message": "ocfs2: replace u8 by __u8 in ocfs2_fs.h\n\nThis patch replaces date type \u0027u8\u0027 with \u0027__u8\u0027, which follows the coding style of ocfs2_fs.h, and portable to user space\nfor ocfs2-tools.\n\nSigned-off-by: Coly Li \u003ccoly.li@suse.de\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "3a05d7961e6b5fb77660849b56a22feca5d1e0c5",
      "tree": "6ca0f2de79d0897b4199f8b80d9f200128bbd922",
      "parents": [
        "f5befbbbf9b7af033c94a1df6acaf79e77a3ceb6"
      ],
      "author": {
        "name": "Coly Li",
        "email": "coly.li@suse.de",
        "time": "Fri Dec 04 02:02:35 2009 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Dec 17 20:55:52 2009 -0800"
      },
      "message": "ocfs2: explicit declare uninitialized var in user_cluster_connect()\n\nThis patch explicitly declares an uninitialized local variable in user_cluster_connect(), to remove a compiling warning.\n\nSigned-off-by: Coly Li \u003ccoly.li@suse.de\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "7c508e50be47737b9a72d0f15c3ef1146925e2d2",
      "tree": "767a7b1427e6f150e46ce99fd5b8d2463dda479c",
      "parents": [
        "dcc7cd011220d7425a265c9bbf04c5731dacec1b",
        "7a5d24b1067823e870bf23e62bf8a788bd73818d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 17 16:01:03 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 17 16:01:03 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:\n  Btrfs: make sure fallocate properly starts a transaction\n  Btrfs: make metadata chunks smaller\n  Btrfs: Show discard option in /proc/mounts\n  Btrfs: deny sys_link across subvolumes.\n  Btrfs: fail mount on bad mount options\n  Btrfs: don\u0027t add extent 0 to the free space cache v2\n  Btrfs: Fix per root used space accounting\n  Btrfs: Fix btrfs_drop_extent_cache for skip pinned case\n  Btrfs: Add delayed iput\n  Btrfs: Pass transaction handle to security and ACL initialization functions\n  Btrfs: Make truncate(2) more ENOSPC friendly\n  Btrfs: Make fallocate(2) more ENOSPC friendly\n  Btrfs: Avoid orphan inodes cleanup during committing transaction\n  Btrfs: Avoid orphan inodes cleanup while replaying log\n  Btrfs: Fix disk_i_size update corner case\n  Btrfs: Rewrite btrfs_drop_extents\n  Btrfs: Add btrfs_duplicate_item\n  Btrfs: Avoid superfluous tree-log writeout\n"
    },
    {
      "commit": "f6151dfea21496d43dbaba32cfcd9c9f404769bc",
      "tree": "092b73a1cd7edbd0e04fe2076ed678447446aa70",
      "parents": [
        "9cd80bbb07fcd6d4d037fad4297496d3b132ac6b"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Thu Dec 17 15:27:16 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 17 15:45:31 2009 -0800"
      },
      "message": "mm: introduce coredump parameter structure\n\nIntroduce coredump parameter data structure (struct coredump_params) to\nsimplify binfmt-\u003ecore_dump() arguments.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nSuggested-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Hidehiro Kawai \u003chidehiro.kawai.ez@hitachi.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9cd80bbb07fcd6d4d037fad4297496d3b132ac6b",
      "tree": "322216d34b6d5ba2366f53ba0d677950c4cde766",
      "parents": [
        "0f67b0b0392ccca98459bf40b36c0037793b5f71"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Thu Dec 17 15:27:15 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 17 15:45:31 2009 -0800"
      },
      "message": "do_wait() optimization: do not place sub-threads on task_struct-\u003echildren list\n\nThanks to Roland who pointed out de_thread() issues.\n\nCurrently we add sub-threads to -\u003ereal_parent-\u003echildren list.  This buys\nnothing but slows down do_wait().\n\nWith this patch -\u003echildren contains only main threads (group leaders).\nThe only complication is that forget_original_parent() should iterate over\nsub-threads by hand, and de_thread() needs another list_replace() when it\nchanges -\u003egroup_leader.\n\nHenceforth do_wait_thread() can never see task_detached() \u0026\u0026 !EXIT_DEAD\ntasks, we can remove this check (and we can unify do_wait_thread() and\nptrace_do_wait()).\n\nThis change can confuse the optimistic search in mm_update_next_owner(),\nbut this is fixable and minor.\n\nPerhaps badness() and oom_kill_process() should be updated, but they\nshould be fixed in any case.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Ratan Nalumasu \u003crnalumasu@gmail.com\u003e\nCc: Vitaly Mayatskikh \u003cvmayatsk@redhat.com\u003e\nCc: David Rientjes \u003crientjes@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": "0f67b0b0392ccca98459bf40b36c0037793b5f71",
      "tree": "12d0c43bb7f4e3e8980aebfc10ce0afbde210457",
      "parents": [
        "8a79503aa83d0f889abc64a2fc0a020411837222"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Thu Dec 17 15:27:14 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 17 15:45:31 2009 -0800"
      },
      "message": "nommu: ramfs: remove unused local var\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Greg Ungerer \u003cgerg@snapgear.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ec8e2f7466ca370f5e09000ca40a71759afc9ac8",
      "tree": "41c33d2317d9ffb0cc60cdacebf246bc023f8677",
      "parents": [
        "2bf212b9e48e1c35eaf8f0cc1729d7c4a39b7b5a"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Dec 17 15:27:06 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 17 15:45:30 2009 -0800"
      },
      "message": "reiserfs: truncate blocks not used by a write\n\nIt can happen that write does not use all the blocks allocated in\nwrite_begin either because of some filesystem error (like ENOSPC) or\nbecause page with data to write has been removed from memory.  We truncate\nthese blocks so that we don\u0027t have dangling blocks beyond i_size.\n\nCc: Jeff Mahoney \u003cjeffm@suse.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b6e3224fb20954f155e41ec5709b2ab70b50ae2d",
      "tree": "96302d1b564c879779b9cc5d7aae7c3c4471ed14",
      "parents": [
        "a2770d86b33024f71df269fde2de096df89d6a48"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 17 13:23:24 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 17 13:23:24 2009 -0800"
      },
      "message": "Revert \"task_struct: make journal_info conditional\"\n\nThis reverts commit e4c570c4cb7a95dbfafa3d016d2739bf3fdfe319, as\nrequested by Alexey:\n\n \"I think I gave a good enough arguments to not merge it.\n  To iterate:\n   * patch makes impossible to start using ext3 on EXT3_FS\u003dn kernels\n     without reboot.\n   * this is done only for one pointer on task_struct\"\n\n  None of config options which define task_struct are tristate directly\n  or effectively.\"\n\nRequested-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7a5d24b1067823e870bf23e62bf8a788bd73818d",
      "tree": "8b7b32d651f57fe1c12b8826f071b2e196032012",
      "parents": [
        "ebfee3d71d5a29102aac1fb2e756b8258f753592",
        "3a1abec9f6880cf406593c392636199ea1c6c917"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Dec 17 16:01:41 2009 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Dec 17 16:01:41 2009 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of ssh://master.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable into for-linus\n"
    },
    {
      "commit": "a2770d86b33024f71df269fde2de096df89d6a48",
      "tree": "d232695efd62bcdcb2b3a9b413bccea66c0ecf32",
      "parents": [
        "b8a7f3cd7e8212e5c572178ff3b5a514861036a5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 17 12:51:05 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 17 12:51:05 2009 -0800"
      },
      "message": "Revert \"fix mismerge with Trond\u0027s stuff (create_mnt_ns() export is gone now)\"\n\nThis reverts commit e9496ff46a20a8592fdc7bdaaf41b45eb808d310. Quoth Al:\n\n \"it\u0027s dependent on a lot of other stuff not currently in mainline\n  and badly broken with current fs/namespace.c.  Sorry, badly\n  out-of-order cherry-pick from old queue.\n\n  PS: there\u0027s a large pending series reworking the refcounting and\n  lifetime rules for vfsmounts that will, among other things, allow to\n  rip a subtree away _without_ dissolving connections in it, to be\n  garbage-collected when all active references are gone.  It\u0027s\n  considerably saner wrt \"is the subtree busy\" logics, but it\u0027s nowhere\n  near being ready for merge at the moment; this changeset is one of the\n  things becoming possible with that sucker, but it certainly shouldn\u0027t\n  have been picked during this cycle.  My apologies...\"\n\nNoticed-by: Eric Paris \u003ceparis@redhat.com\u003e\nRequested-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "3a1abec9f6880cf406593c392636199ea1c6c917"
}
