)]}'
{
  "log": [
    {
      "commit": "16dbc6c9616363fe53811abcbd935336dc0a0f01",
      "tree": "def1129950caf1e861563b7cbdc1874e7c41fc5c",
      "parents": [
        "08650869e0ec581f8d88cfdb563d37f5383abfe2"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Thu Oct 02 14:50:12 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 02 15:53:13 2008 -0700"
      },
      "message": "inotify: fix lock ordering wrt do_page_fault\u0027s mmap_sem\n\nFix inotify lock order reversal with mmap_sem due to holding locks over\ncopy_to_user.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nReported-by: \"Daniel J Blueman\" \u003cdaniel.blueman@gmail.com\u003e\nTested-by: \"Daniel J Blueman\" \u003cdaniel.blueman@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "31a78f23bac0069004e69f98808b6988baccb6b6",
      "tree": "edca8cffb4682de6be2e79b0b8d381dbb1b70964",
      "parents": [
        "bf5cb66447e7d9f7f111c1d0ebb6d7c90ec24b4d"
      ],
      "author": {
        "name": "Balbir Singh",
        "email": "balbir@linux.vnet.ibm.com",
        "time": "Sun Sep 28 23:09:31 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 29 08:41:47 2008 -0700"
      },
      "message": "mm owner: fix race between swapoff and exit\n\nThere\u0027s a race between mm-\u003eowner assignment and swapoff, more easily\nseen when task slab poisoning is turned on.  The condition occurs when\ntry_to_unuse() runs in parallel with an exiting task.  A similar race\ncan occur with callers of get_task_mm(), such as /proc/\u003cpid\u003e/\u003cmmstats\u003e\nor ptrace or page migration.\n\nCPU0                                    CPU1\n                                        try_to_unuse\n                                        looks at mm \u003d task0-\u003emm\n                                        increments mm-\u003emm_users\ntask 0 exits\nmm-\u003eowner needs to be updated, but no\nnew owner is found (mm_users \u003e 1, but\nno other task has task-\u003emm \u003d task0-\u003emm)\nmm_update_next_owner() leaves\n                                        mmput(mm) decrements mm-\u003emm_users\ntask0 freed\n                                        dereferencing mm-\u003eowner fails\n\nThe fix is to notify the subsystem via mm_owner_changed callback(),\nif no new owner is found, by specifying the new task as NULL.\n\nJiri Slaby:\nmm-\u003eowner was set to NULL prior to calling cgroup_mm_owner_callbacks(), but\nmust be set after that, so as not to pass NULL as old owner causing oops.\n\nDaisuke Nishimura:\nmm_update_next_owner() may set mm-\u003eowner to NULL, but mem_cgroup_from_task()\nand its callers need to take account of this situation to avoid oops.\n\nHugh Dickins:\nLockdep warning and hang below exec_mmap() when testing these patches.\nexit_mm() up_reads mmap_sem before calling mm_update_next_owner(),\nso exec_mmap() now needs to do the same.  And with that repositioning,\nthere\u0027s now no point in mm_need_new_owner() allowing for NULL mm.\n\nReported-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@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": "d0185c0882d76b8126d4a099c7ac82b3b216d103",
      "tree": "b43845a2f9872807466f206ea5fdca3c16c776fb",
      "parents": [
        "94715da3633d8abd63376b47c7120df59a69055e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 29 07:42:57 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 29 07:42:57 2008 -0700"
      },
      "message": "Fix NULL pointer dereference in proc_sys_compare\n\nThe VFS interface for the \u0027d_compare()\u0027 is a bit special (read: \u0027odd\u0027),\nbecause it really just essentially replaces a memcmp().  The filesystem\nis supposed to just compare the two names with whatever case-independent\nor other function.\n\nAnd when I say \u0027is supposed to\u0027, I obviously mean that \u0027procfs does odd\nthings, and actually looks at the dentry that we don\u0027t even pass down,\nrather than just the name\u0027.  Which results in problems, because we\nactually call d_compare before we have even verified that the dentry is\nstill hashed at all.\n\nAnd that causes a problm since the inode that procfs looks at may have\nbeen free\u0027d and the d_inode pointer is NULL.  procfs just assumes that\nall dentries are positive, since procfs itself never generates a\nnegative one.  But memory pressure will still result in the dentry\ngetting torn down, and as it is removed by RCU, it still remains visible\non some lists - and to d_compare.\n\nIf the filesystem just did a name comparison, we wouldn\u0027t care.  And we\ncould just fix procfs to know about negative dentries too.  But rather\nthan have the low-level filesystems know about internal VFS details,\njust move the check for a unhashed dentry up a bit, so that we will only\ncall d_compare on dentries that are still active.\n\nThe actual oops this caused didn\u0027t look like a NULL pointer dereference\nbecause procfs did a \u0027container_of(inode, struct proc_inode, vfs_inode)\u0027\nto get at its internal proc_inode information from the inode pointer,\nand accessed a field below the inode. So the oops would look something\nlike\n\n\tBUG: unable to handle kernel paging request at fffffffffffffff0\n\tIP: [\u003cffffffff802bc6c6\u003e] proc_sys_compare+0x36/0x50\n\nand was seen on both x86-64 (Alexey Dobriyan and Hugh Dickins) and\nppc64 (Hugh Dickins).\n\nReported-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nReviewed-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-of-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ec4d90287eae900e4041890f7b53fe055fb71c3b",
      "tree": "71fe1ee0b7f74a794a5d69c5cb3eec04133107da",
      "parents": [
        "bc173c5789e1fc6065fd378edc815914b40ee86b",
        "71a8c87fb300b601eacf7a86cc6c6322fe827bfd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 26 08:49:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 26 08:49:34 2008 -0700"
      },
      "message": "Merge git://oss.sgi.com:8090/xfs/linux-2.6\n\n* git://oss.sgi.com:8090/xfs/linux-2.6:\n  [XFS] Remove xfs_iext_irec_compact_full()\n  [XFS] Fix extent list corruption in xfs_iext_irec_compact_full().\n"
    },
    {
      "commit": "bde40fe071e327857b478a440c599f54d4fc14dd",
      "tree": "20aa357126bfbbe38962c4933616ed8e1c4cdafd",
      "parents": [
        "6ef190cc92e33565accff6a320f0e7d90480bfe7",
        "7424bac82ff3bd956ea04101550e01bdae17284d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 26 08:20:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 26 08:20:26 2008 -0700"
      },
      "message": "Merge branch \u0027linux-next\u0027 of git://git.infradead.org/~dedekind/ubifs-2.6\n\n* \u0027linux-next\u0027 of git://git.infradead.org/~dedekind/ubifs-2.6:\n  UBIFS: fix printk format warnings\n  UBIFS: remove incorrect assert\n  UBIFS: TNC / GC race fixes\n  UBIFS: create the name of the background thread in every case\n"
    },
    {
      "commit": "71a8c87fb300b601eacf7a86cc6c6322fe827bfd",
      "tree": "9f0e12933f6b2d74a452b69438693527853486c8",
      "parents": [
        "f1ccd2955157e1aff992f6aaaba0944209076220"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Fri Sep 26 12:17:57 2008 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Sep 26 12:17:57 2008 +1000"
      },
      "message": "[XFS] Remove xfs_iext_irec_compact_full()\n\nYet another bug was found in xfs_iext_irec_compact_full() and while the\nsource of the bug was found it wasn\u0027t an easy task to track it down\nbecause the conditions are very difficult to reproduce.\n\nA HUGE thank-you goes to Russell Cattelan and Eric Sandeen for their\nsignificant effort in tracking down the source of this corruption.\n\nxfs_iext_irec_compact_full() and xfs_iext_irec_compact_pages() are almost\nidentical - they both compact indirect extent lists by moving extents from\nsubsequent buffers into earlier ones. xfs_iext_irec_compact_pages() only\nmoves extents if all of the extents in the next buffer will fit into the\nempty space in the buffer before it. xfs_iext_irec_compact_full() will go\na step further and move part of the next buffer if all the extents wont\nfit. It will then shift the remaining extents in the next buffer up to the\nstart of the buffer. The bug here was that we did not update er_extoff and\nthis caused extent list corruption.\n\nIt does not appear that this extra functionality gains us much. Calling\nxfs_iext_irec_compact_pages() instead will do a good enough job at\ncompacting the indirect list and will be quicker too.\n\nFor the case in xfs_iext_indirect_to_direct() the total number of extents\nin the indirect list will fit into one buffer so we will never need the\nextra functionality of xfs_iext_irec_compact_full() there.\n\nAlso xfs_iext_irec_compact_pages() doesn\u0027t need to do a memmove() (the\nbuffers will never overlap) so we don\u0027t want the performance hit that can\nincur.\n\nSGI-PV: 987159\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32166a\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n"
    },
    {
      "commit": "f1ccd2955157e1aff992f6aaaba0944209076220",
      "tree": "224a32be1bd5cd508d0b85bc446783ea939b7ad3",
      "parents": [
        "6ef190cc92e33565accff6a320f0e7d90480bfe7"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Fri Sep 26 12:16:46 2008 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Sep 26 12:16:46 2008 +1000"
      },
      "message": "[XFS] Fix extent list corruption in xfs_iext_irec_compact_full().\n\nIf we don\u0027t move all the records from the next buffer into the current\nbuffer then we need to update the er_extoff field of the next buffer as we\nshift the remaining records to the start of the buffer.\n\nSGI-PV: 987159\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32165a\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: Russell Cattelan \u003ccattelan@thebarn.com\u003e\n"
    },
    {
      "commit": "62aa528e0299ffef8e138d9d92d13e631d06c5ff",
      "tree": "6dc9ca3bf077bf58352fe67e8adb4d4b304baba1",
      "parents": [
        "620678244bc7b83287e2e283ed4fe6b959e94b7d"
      ],
      "author": {
        "name": "Julien Brunel",
        "email": "brunel@diku.dk",
        "time": "Wed Sep 24 16:22:22 2008 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@ericvh-desktop.austin.ibm.com",
        "time": "Wed Sep 24 16:22:22 2008 -0500"
      },
      "message": "9p: use an IS_ERR test rather than a NULL test\n\nIn case of error, the function p9_client_walk returns an ERR pointer, but\nnever returns a NULL pointer.  So a NULL test that comes after an IS_ERR\ntest should be deleted.\n\nThe semantic match that finds this problem is as follows:\n(http://www.emn.fr/x-info/coccinelle/)\n\n// \u003csmpl\u003e\n@match_bad_null_test@\nexpression x, E;\nstatement S1,S2;\n@@\nx \u003d p9_client_walk(...)\n... when !\u003d x \u003d E\n*  if (x !\u003d NULL)\nS1 else S2\n// \u003c/smpl\u003e\n\nSigned-off-by: Julien Brunel \u003cbrunel@diku.dk\u003e\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n\n"
    },
    {
      "commit": "7424bac82ff3bd956ea04101550e01bdae17284d",
      "tree": "a9f5e3aacc822ad1bdb9fcb84193b44e1df147d3",
      "parents": [
        "6e14968c869cd30e236bb626dd0c16421d2a658d"
      ],
      "author": {
        "name": "Alexander Beregalov",
        "email": "a.beregalov@gmail.com",
        "time": "Wed Sep 17 22:09:41 2008 +0400"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Thu Sep 18 09:57:57 2008 +0300"
      },
      "message": "UBIFS: fix printk format warnings\n\nfs/ubifs/dir.c:428: warning: format \u0027%llu\u0027 expects type \u0027long long\nunsigned int\u0027, but argument 5 has type \u0027long unsigned int\u0027\n\nfs/ubifs/debug.c:541: warning: format \u0027%llu\u0027 expects type \u0027long long\nunsigned int\u0027, but argument 2 has type \u0027long unsigned int\u0027\n\nSigned-off-by: Alexander Beregalov \u003ca.beregalov@gmail.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "6e14968c869cd30e236bb626dd0c16421d2a658d",
      "tree": "cda074861f6c0a7d8c67a07bb8da2f9fff874566",
      "parents": [
        "6dcfac4f13d6b32fbaa60b64a23249999e66af8e"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "ext-adrian.hunter@nokia.com",
        "time": "Wed Sep 17 10:52:07 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Sep 17 14:47:09 2008 +0300"
      },
      "message": "UBIFS: remove incorrect assert\n\nThe assert was not valid because one of the variables\n\u0027taken_empty_lebs\u0027 has transient values out of sync\nwith the other variables.\n\nSigned-off-by: Adrian Hunter \u003cext-adrian.hunter@nokia.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "6dcfac4f13d6b32fbaa60b64a23249999e66af8e",
      "tree": "007884a8327658dc53252c7f1be9ab9daeb7ea14",
      "parents": [
        "0855f310dff76ae42c5aac32f600f8f692bbd23f"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "ext-adrian.hunter@nokia.com",
        "time": "Fri Sep 12 12:27:47 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Sep 17 14:23:26 2008 +0300"
      },
      "message": "UBIFS: TNC / GC race fixes\n\n- update GC sequence number if any nodes may have been moved\neven if GC did not finish the LEB\n- don\u0027t ignore error return when reading\n\nSigned-off-by: Adrian Hunter \u003cext-adrian.hunter@nokia.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "0855f310dff76ae42c5aac32f600f8f692bbd23f",
      "tree": "7efaea009e4b91b897ee7d2f1849bbf6acc44bb9",
      "parents": [
        "adee14b2e1557d0a8559f29681732d05a89dfc35"
      ],
      "author": {
        "name": "Sebastian Siewior",
        "email": "bigeasy@linutronix.de",
        "time": "Tue Sep 09 11:17:29 2008 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Sep 17 10:07:56 2008 +0300"
      },
      "message": "UBIFS: create the name of the background thread in every case\n\nIf the ubifs partition is mounted RO and then remounted RW we end\nup with no thread name in ubifs_remount_rw() and the thread appears\nnameless.\n\nSigned-off-by: Sebastian Siewior \u003cbigeasy@linutronix.de\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "2fd6f6ec64ff347447d26646ac6188f3658b383c",
      "tree": "bfa49e13be769ffbbbc152cb1b771fe10dcb185e",
      "parents": [
        "e1f5dbd7077eebec794452a516cb02f1669b036d"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Wed Sep 17 16:52:50 2008 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Wed Sep 17 16:52:50 2008 +1000"
      },
      "message": "[XFS] Don\u0027t do I/O beyond eof when unreserving space\n\nWhen unreserving space with boundaries that are not block aligned we round\nup the start and round down the end boundaries and then use this function,\nxfs_zero_remaining_bytes(), to zero the parts of the blocks that got\ndropped during the rounding. The problem is we don\u0027t consider if these\nblocks are beyond eof. Worse still is if we encounter delayed allocations\nbeyond eof we will try to use the magic delayed allocation block number as\na real block number. If the file size is ever extended to expose these\nblocks then we\u0027ll go through xfs_zero_eof() to zero them anyway.\n\nSGI-PV: 983683\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32055a\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "e1f5dbd7077eebec794452a516cb02f1669b036d",
      "tree": "6419e5089f94ef8cb10ab49ac3f66b2d67afd40c",
      "parents": [
        "f9114eba1eb08ee75fd0f1eee780f0290fb3c043"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Wed Sep 17 16:52:13 2008 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Wed Sep 17 16:52:13 2008 +1000"
      },
      "message": "[XFS] Fix use-after-free with buffers\n\nWe have a use-after-free issue where log completions access buffers via\nthe buffer log item and the buffer has already been freed. Fix this by\ntaking a reference on the buffer when attaching the buffer log item and\nrelease the hold when the buffer log item is detached and we no longer\nneed the buffer. Also create a new function xfs_buf_item_free() to combine\nsome common code.\n\nSGI-PV: 985757\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32025a\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "f9114eba1eb08ee75fd0f1eee780f0290fb3c043",
      "tree": "cfdb27e38eb600f84a4278744b19e1576ca5e7d3",
      "parents": [
        "b5b8c9acd547244eb2b7d0280ba38b9dd01971cc"
      ],
      "author": {
        "name": "David Chinner",
        "email": "david@fromorbit.com",
        "time": "Wed Sep 17 16:51:21 2008 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Wed Sep 17 16:51:21 2008 +1000"
      },
      "message": "[XFS] Prevent lockdep false positives when locking two inodes.\n\nIf we call xfs_lock_two_inodes() to grab both the iolock and the ilock,\nthen drop the ilocks on both inodes, then grab them again (as\nxfs_swap_extents() does) then lockdep will report a locking order problem.\nThis is a false positive.\n\nTo avoid this, disallow xfs_lock_two_inodes() fom locking both inode locks\nat once - force calers to make two separate calls. This means that nested\ndropping and regaining of the ilocks will retain the same lockdep subclass\nand so lockdep will not see anything wrong with this code.\n\nSGI-PV: 986238\n\nSGI-Modid: xfs-linux-melb:xfs-kern:31999a\n\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Peter Leckie \u003cpleckie@sgi.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "b5b8c9acd547244eb2b7d0280ba38b9dd01971cc",
      "tree": "ed441ac656570773941463a2d9e14032df5b6c36",
      "parents": [
        "364f358a734ddcd827c662ccbfa58ee3ac510762"
      ],
      "author": {
        "name": "David Chinner",
        "email": "david@fromorbit.com",
        "time": "Wed Sep 17 16:50:50 2008 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Wed Sep 17 16:50:50 2008 +1000"
      },
      "message": "[XFS] Fix barrier status change detection.\n\nThe current code in xlog_iodone() uses the wrong macro to check if the\nbarrier has been cleared due to an EOPNOTSUPP error form the lower layer.\n\nSGI-PV: 986143\n\nSGI-Modid: xfs-linux-melb:xfs-kern:31984a\n\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Nathaniel W. Turner \u003cnate@houseofnate.net\u003e\nSigned-off-by: Peter Leckie \u003cpleckie@sgi.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "364f358a734ddcd827c662ccbfa58ee3ac510762",
      "tree": "2af362aa418b145e0626066ed2c8b3b0918630eb",
      "parents": [
        "6efdf281777eb07fac28ac2b2d7df1e619ee6da1"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Wed Sep 17 16:50:14 2008 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Wed Sep 17 16:50:14 2008 +1000"
      },
      "message": "[XFS] Prevent direct I/O from mapping extents beyond eof\n\nWith the help from some tracing I found that we try to map extents beyond\neof when doing a direct I/O read. It appears that the way to inform the\ngeneric direct I/O path (ie do_direct_IO()) that we have breached eof is\nto return an unmapped buffer from xfs_get_blocks_direct(). This will cause\ndo_direct_IO() to jump to the hole handling code where is will check for\neof and then abort.\n\nThis problem was found because a direct I/O read was trying to map beyond\neof and was encountering delayed allocations. The delayed allocations\nbeyond eof are speculative allocations and they didn\u0027t get converted when\nthe direct I/O flushed the file because there was only enough space in the\ncurrent AG to convert and write out the dirty pages within eof. Note that\nxfs_iomap_write_allocate() wont necessarily convert all the delayed\nallocation passed to it - it will return after allocating the first extent\n- so if the delayed allocation extends beyond eof then it will stay that\nway.\n\nSGI-PV: 983683\n\nSGI-Modid: xfs-linux-melb:xfs-kern:31929a\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "6efdf281777eb07fac28ac2b2d7df1e619ee6da1",
      "tree": "300ee54e4a9a7d7180a9b6770a51d42ad544b989",
      "parents": [
        "31bd61f2bb79e098117d823e054342b03aa87668"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Sep 17 16:49:33 2008 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Wed Sep 17 16:49:33 2008 +1000"
      },
      "message": "[XFS] Fix regression introduced by remount fixup\n\nLogically we would return an error in xfs_fs_remount code to prevent users\nfrom believing they might have changed mount options using remount which\ncan\u0027t be changed.\n\nBut unfortunately mount(8) adds all options from mtab and fstab to the\nmount arguments in some cases so we can\u0027t blindly reject options, but have\nto check for each specified option if it actually differs from the\ncurrently set option and only reject it if that\u0027s the case.\n\nUntil that is implemented we return success for every remount request, and\nsilently ignore all options that we can\u0027t actually change.\n\nSGI-PV: 985710\n\nSGI-Modid: xfs-linux-melb:xfs-kern:31908a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "31bd61f2bb79e098117d823e054342b03aa87668",
      "tree": "a98afc0d4bcd98f0f4e648a5e1dddcc090c3f791",
      "parents": [
        "bc45eb8950b8c14487385cfd2bda1613ca8d9703"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Wed Sep 17 16:45:37 2008 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Wed Sep 17 16:45:37 2008 +1000"
      },
      "message": "[XFS] Move memory allocations for log tracing out of the critical path\n\nMemory allocations for log-\u003el_grant_trace and iclog-\u003eic_trace are done on\ndemand when the first event is logged. In xlog_state_get_iclog_space() we\ncall xlog_trace_iclog() under a spinlock and allocating memory here can\ncause us to sleep with a spinlock held and deadlock the system.\n\nFor the log grant tracing we use KM_NOSLEEP but that means we can lose\ntrace entries. Since there is no locking to serialize the log grant\ntracing we could race and have multiple allocations and leak memory.\n\nSo move the allocations to where we initialize the log/iclog structures.\nUse KM_NOFS to avoid recursing into the filesystem and drop log-\u003el_trace\nsince it\u0027s not even used.\n\nSGI-PV: 983738\n\nSGI-Modid: xfs-linux-melb:xfs-kern:31896a\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "8d99f83b9478768d3a8d7d1bcd9bd182c75a0447",
      "tree": "5ccc59694c9dc6dfad58c2e22463f1db55df8825",
      "parents": [
        "42cde4309b8f2671610be049352df2f8716e8809"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Sat Sep 13 02:33:25 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 13 14:41:52 2008 -0700"
      },
      "message": "rescan_partitions(): make device capacity errors non-fatal\n\nHerton Krzesinski reports that the error-checking changes in\n04ebd4aee52b06a2c38127d9208546e5b96f3a19 (\"block/ioctl.c and\nfs/partition/check.c: check value returned by add_partition\") cause his\nbuggy USB camera to no longer mount.  \"The camera is an Olympus X-840.\nThe original issue comes from the camera itself: its format program\ncreates a partition with an off by one error\".\n\nBuggy devices happen.  It is better for the kernel to warn and to proceed\nwith the mount.\n\nReported-by: Herton Ronaldo Krzesinski \u003cherton@mandriva.com.br\u003e\nCc: Abdel Benamrouche \u003cdraconux@gmail.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d7a3e4959c28bccc25dd33315809ffcf40f7493e",
      "tree": "d70e5079253288dfdac0b603839106a8d16ebc78",
      "parents": [
        "1558182f651798164418abf53f76786da0ea4a6f"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Sep 13 02:33:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 13 14:41:51 2008 -0700"
      },
      "message": "mm: ifdef Quicklists in /proc/meminfo\n\nA \"Quicklists:          0 kB\" line has just started appearing in\n/proc/meminfo, but most architectures (including x86) don\u0027t have\nthem configured, so #ifdef it, like the highmem lines.\n\nAnd those architectures which do have quicklists configured are\nusing them for page tables: so let\u0027s place it next to PageTables.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nAcked-by: 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": "1558182f651798164418abf53f76786da0ea4a6f",
      "tree": "ff27a7059beb86dd88eb04d8a99f57014f1f78ee",
      "parents": [
        "b261dfea48e81636516f4fa653667097638a8a62"
      ],
      "author": {
        "name": "Eric Sesterhenn",
        "email": "snakebyte@gmx.de",
        "time": "Sat Sep 13 02:33:12 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 13 14:41:51 2008 -0700"
      },
      "message": "bfs: fix Lockdep warning\n\nThis fixes:\n\n  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n  [ INFO: possible recursive locking detected ]\n  2.6.27-rc5-00283-g70bb089 #68\n  ---------------------------------------------\n  touch/6855 is trying to acquire lock:\n   (\u0026info-\u003ebfs_lock){--..}, at: [\u003cc02262f5\u003e] bfs_delete_inode+0x9e/0x18c\n\n  but task is already holding lock:\n   (\u0026info-\u003ebfs_lock){--..}, at: [\u003cc0226c00\u003e] bfs_create+0x45/0x187\n\n  other info that might help us debug this:\n  2 locks held by touch/6855:\n   #0:  (\u0026type-\u003ei_mutex_dir_key#5){--..}, at: [\u003cc018ad13\u003e] do_filp_open+0x10b/0x62f\n   #1:  (\u0026info-\u003ebfs_lock){--..}, at: [\u003cc0226c00\u003e] bfs_create+0x45/0x187\n\n  stack backtrace:\n  Pid: 6855, comm: touch Not tainted 2.6.27-rc5-00283-g70bb089 #68\n   [\u003cc013e769\u003e] validate_chain+0x458/0x9f4\n   [\u003cc013bece\u003e] ? trace_hardirqs_off+0xb/0xd\n   [\u003cc013f36b\u003e] __lock_acquire+0x666/0x6e0\n   [\u003cc013f440\u003e] lock_acquire+0x5b/0x77\n   [\u003cc02262f5\u003e] ? bfs_delete_inode+0x9e/0x18c\n   [\u003cc06aab74\u003e] mutex_lock_nested+0xbc/0x234\n   [\u003cc02262f5\u003e] ? bfs_delete_inode+0x9e/0x18c\n   [\u003cc02262f5\u003e] ? bfs_delete_inode+0x9e/0x18c\n   [\u003cc02262f5\u003e] bfs_delete_inode+0x9e/0x18c\n   [\u003cc0226257\u003e] ? bfs_delete_inode+0x0/0x18c\n   [\u003cc01925e1\u003e] generic_delete_inode+0x94/0xfe\n   [\u003cc019265d\u003e] generic_drop_inode+0x12/0x12f\n   [\u003cc0191b7e\u003e] iput+0x4b/0x4e\n   [\u003cc0226d1e\u003e] bfs_create+0x163/0x187\n   [\u003cc0188b42\u003e] vfs_create+0xa6/0x114\n   [\u003cc018adb5\u003e] do_filp_open+0x1ad/0x62f\n   [\u003cc0107cdc\u003e] ? native_sched_clock+0x82/0x96\n   [\u003cc06ac309\u003e] ? _spin_unlock+0x27/0x3c\n   [\u003cc019379e\u003e] ? alloc_fd+0xbf/0xc9\n   [\u003cc06ae2f4\u003e] ? sub_preempt_count+0x9d/0xab\n   [\u003cc019379e\u003e] ? alloc_fd+0xbf/0xc9\n   [\u003cc0180391\u003e] do_sys_open+0x42/0xb8\n   [\u003cc041d564\u003e] ? trace_hardirqs_on_thunk+0xc/0x10\n   [\u003cc0180449\u003e] sys_open+0x1e/0x26\n   [\u003cc01038bd\u003e] sysenter_do_call+0x12/0x31\n   \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nThe problem is that we don\u0027t unlock the bfs-\u003elock mutex before calling\niput (we do in the other cases).\n\nSigned-off-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nCc: Tigran Aivazian \u003ctigran@aivazian.fsnet.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "665020c35e89a9e0643e21561e4f8f967f4f2c4b",
      "tree": "23bb7ce5516918da4732e8b9b20d07d93de96a7a",
      "parents": [
        "a551b98d5f6fce5897d497abd8bfb262efb33d2a"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Sep 13 02:33:06 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 13 14:41:50 2008 -0700"
      },
      "message": "proc: more debugging for \"already registered\" case\n\nPrint parent directory name as well.\n\nThe aim is to catch non-creation of parent directory when proc_mkdir will\nreturn NULL and all subsequent registrations go directly in /proc instead\nof intended directory.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n[ Fixed insane printk string while at it.  - Linus ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e2858ce3ed519500e3b9af1c16c25250ff16cd5c",
      "tree": "8d06858485698fe01a7c618f6bbdb0dc0ae310e9",
      "parents": [
        "9a0e4c8038390342f48e574b157a1971e2f07348",
        "5c89468c12899b84886cb47eec93f0c88e0f896a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 11 08:40:11 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 11 08:40:11 2008 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6:\n  udf: add llseek method\n  udf: Fix error paths in udf_new_inode()\n  udf: Fix lock inversion between iprune_mutex and alloc_mutex (v2)\n"
    },
    {
      "commit": "0e116227a01580acf47437adba3afadf21b6bd5f",
      "tree": "65844ab6db53a7713e258830e571ced05a8d61ae",
      "parents": [
        "adee14b2e1557d0a8559f29681732d05a89dfc35"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Wed Sep 03 01:57:14 2008 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Wed Sep 10 01:44:08 2008 -0700"
      },
      "message": "ocfs2: Fix a bug in direct IO read.\n\nocfs2 will become read-only if we try to read the bytes which pass\nthe end of i_size. This can be easily reproduced by following steps:\n1. mkfs a ocfs2 volume with bs\u003d4k cs\u003d4k and nosparse.\n2. create a small file(say less than 100 bytes) and we will create the file\n   which is allocated 1 cluster.\n3. read 8196 bytes from the kernel using O_DIRECT which exceeds the limit.\n4. The ocfs2 volume becomes read-only and dmesg shows:\nOCFS2: ERROR (device sda13): ocfs2_direct_IO_get_blocks:\nInode 66010 has a hole at block 1\nFile system is now read-only due to the potential of on-disk corruption.\nPlease run fsck.ocfs2 once the file system is unmounted.\n\nSo suppress the ERROR message.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "b975dee3811ae0c58bd0e19cbd041cac8dd37ec5",
      "tree": "d65f5381024a00982e47fd6144d219bb6b34ff78",
      "parents": [
        "deac93df26b20cf8438339b5935b5f5643bc30c9",
        "a5cb562d6977d9d7989c346b7b153cef31ec0228"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 09 11:52:12 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 09 11:52:12 2008 -0700"
      },
      "message": "Merge branch \u0027linux-next\u0027 of git://git.infradead.org/~dedekind/ubifs-2.6\n\n* \u0027linux-next\u0027 of git://git.infradead.org/~dedekind/ubifs-2.6:\n  UBIFS: make minimum fanout 3\n  UBIFS: fix division by zero\n  UBIFS: amend f_fsid\n  UBIFS: fill f_fsid\n  UBIFS: improve statfs reporting even more\n  UBIFS: introduce LEB overhead\n  UBIFS: add forgotten gc_idx_lebs component\n  UBIFS: fix assertion\n  UBIFS: improve statfs reporting\n  UBIFS: remove incorrect index space check\n  UBIFS: push empty flash hack down\n  UBIFS: do not update min_idx_lebs in stafs\n  UBIFS: allow for racing between GC and TNC\n  UBIFS: always read hashed-key nodes under TNC mutex\n  UBIFS: fix zero-length truncations\n"
    },
    {
      "commit": "af904deaf6da3f3285eb0a06a3dc6a1af0251030",
      "tree": "ad0f0eef5824d22e1fa6ca79f45bc3b59c19985a",
      "parents": [
        "7686ad5606f08d9dfb33a2087a36c8366366015b"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Sep 08 11:58:13 2008 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 08 15:35:19 2008 -0700"
      },
      "message": "NFS: Restore missing hunk in NFS mount option parser\n\nAutomounter maps can contain mount options valid for other NFS\nimplementations but not for Linux.  The Linux automounter uses the\nmount command\u0027s \"-s\" command line option (\"s\" for \"sloppy\") so that\nmount requests containing such options are not rejected.\n\nCommit f45663ce5fb30f76a3414ab3ac69f4dd320e760a attempted to address a\nknown regression with text-based NFS mount option parsing.  Unrecognized\nmount options would cause mount requests to fail, even if the \"-s\"\noption was used on the mount command line.\n\nUnfortunately, this commit was not complete as submitted.  It adds a\nnew mount option, \"sloppy\".  But it is missing a hunk, so it now allows\nNFS mounts with unrecognized mount options, even if the \"sloppy\" option\nis not present.  This could be a problem if a required critical mount\noption such as \"sync\" is misspelled, for example, and is considered a\nregression from 2.6.26.\n\nThis patch restores the missing hunk.  Now, the default behavior of\ntext-based NFS mount options is as before: any unrecognized mount option\nwill cause the mount to fail.\n\nPlease include this in 2.6.27-rc.\n\nThanks to Neil Brown for reporting this.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nAcked-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5c89468c12899b84886cb47eec93f0c88e0f896a",
      "tree": "2a862d7ad5ac16d2911d0f34a66a096ef72f6211",
      "parents": [
        "97e1cfb08616987878f91a46cefdd7fc5fa3dba1"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Sep 08 19:44:17 2008 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 08 20:31:04 2008 +0200"
      },
      "message": "udf: add llseek method\n\nUDF currently doesn\u0027t set a llseek method for regular files, which\nmeans it will fall back to default_llseek.  This means no one can seek\nbeyond 2 Gigabytes on udf, and that there\u0027s not protection vs\nthe i_size updates from writers.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "a5cb562d6977d9d7989c346b7b153cef31ec0228",
      "tree": "c2e20c7eb8d83bafd29a335bdd132959b74c114f",
      "parents": [
        "f171d4d769c8ccac6675892960e37f6485837fae"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Sep 03 18:26:47 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Sep 05 20:02:35 2008 +0300"
      },
      "message": "UBIFS: make minimum fanout 3\n\nUBIFS does not really work correctly when fanout is 2,\nbecause of the way we manage the indexing tree. It may\njust become a list and UBIFS screws up.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "f171d4d769c8ccac6675892960e37f6485837fae",
      "tree": "60236e7749d9e9e8bd7a383214fba6aaaa6dcb2d",
      "parents": [
        "7c7cbadf7341a0792879c67d6e3020f040d6cd7f"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Sep 03 16:17:14 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Sep 05 20:01:59 2008 +0300"
      },
      "message": "UBIFS: fix division by zero\n\nIf fanout is 3, we have division by zero in\n\u0027ubifs_read_superblock()\u0027:\n\ndivide error: 0000 [#1] PREEMPT SMP\n\nPid: 28744, comm: mount Not tainted (2.6.27-rc4-ubifs-2.6 #23)\nEIP: 0060:[\u003cf8f9e3ef\u003e] EFLAGS: 00010202 CPU: 0\nEIP is at ubifs_reported_space+0x2d/0x69 [ubifs]\nEAX: 00000000 EBX: 00000000 ECX: 00000000 EDX: 00000000\nESI: 00000000 EDI: f0ae64b0 EBP: f1f9fcf4 ESP: f1f9fce0\n DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "49048622eae698e5c4ae61f7e71200f265ccc529",
      "tree": "e568595fe5329e1293eafc3a3cc833dfe89ffbf2",
      "parents": [
        "56c7426b3951e4f35a71d695f1c982989399d6fd"
      ],
      "author": {
        "name": "Balbir Singh",
        "email": "balbir@linux.vnet.ibm.com",
        "time": "Fri Sep 05 18:12:23 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 05 18:14:35 2008 +0200"
      },
      "message": "sched: fix process time monotonicity\n\nSpencer reported a problem where utime and stime were going negative despite\nthe fixes in commit b27f03d4bdc145a09fb7b0c0e004b29f1ee555fa. The suspected\nreason for the problem is that signal_struct maintains it\u0027s own utime and\nstime (of exited tasks), these are not updated using the new task_utime()\nroutine, hence sig-\u003eutime can go backwards and cause the same problem\nto occur (sig-\u003eutime, adds tsk-\u003eutime and not task_utime()). This patch\nfixes the problem\n\nTODO: using max(task-\u003eprev_utime, derived utime) works for now, but a more\ngeneric solution is to implement cputime_max() and use the cputime_gt()\nfunction for comparison.\n\nReported-by: spencer@bluehost.com\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7c7cbadf7341a0792879c67d6e3020f040d6cd7f",
      "tree": "845a25a3bcf44f8ce5331d4b03758c9538dde92f",
      "parents": [
        "b3385c278d3c32aec68d4900b35bc07df1b2240c"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Sep 03 14:16:42 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Sep 03 14:56:22 2008 +0300"
      },
      "message": "UBIFS: amend f_fsid\n\nDavid Woodhouse suggested to be consistent with other FSes\nand xor the beginning and the end of the UUID.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "4b8561521dbaa3d766b198496b220e984e3bf756",
      "tree": "af96d2bd09d7a1e0349b4dbfc879e009a8ca13eb",
      "parents": [
        "36fd71d293898a59b14e49da1f6e81c1a58f2035"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Tue Sep 02 14:35:53 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 02 19:21:38 2008 -0700"
      },
      "message": "mm: show quicklist usage in /proc/meminfo\n\nQuicklists can consume several GB of memory.  We should provide a means of\nmonitoring this.\n\nAfter this patch is applied, /proc/meminfo will output the following:\n\n% cat /proc/meminfo\n\nMemTotal:      7715392 kB\nMemFree:       5401600 kB\nBuffers:         80384 kB\nCached:         300800 kB\nSwapCached:          0 kB\nActive:         235584 kB\nInactive:       262656 kB\nSwapTotal:     2031488 kB\nSwapFree:      2031488 kB\nDirty:            3520 kB\nWriteback:           0 kB\nAnonPages:      117696 kB\nMapped:          38528 kB\nSlab:          1589952 kB\nSReclaimable:    23104 kB\nSUnreclaim:    1566848 kB\nPageTables:      14656 kB\nNFS_Unstable:        0 kB\nBounce:              0 kB\nWritebackTmp:        0 kB\nCommitLimit:   5889152 kB\nCommitted_AS:   393152 kB\nVmallocTotal: 17592177655808 kB\nVmallocUsed:     29056 kB\nVmallocChunk: 17592177626432 kB\nQuicklists:     130944 kB\nHugePages_Total:     0\nHugePages_Free:      0\nHugePages_Rsvd:      0\nHugePages_Surp:      0\nHugepagesize:    262144 kB\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Keiichiro Tokunaga \u003ctokunaga.keiich@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": "169ccbd44eb20f5bb7e4352451eba25397e29749",
      "tree": "f3e82bcbe479bc94a1ccde4334a76b1d1a136b4a",
      "parents": [
        "afa153fd7b6afcd55dd6df6aea06bb53aa1d3608"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Sep 02 14:35:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 02 19:21:37 2008 -0700"
      },
      "message": "NTFS: update homepage\n\nUpdate the location of the NTFS homepage in several files.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e77295dc9e6b52281ae85af4068f13752524e9f4",
      "tree": "fca6b723f6c91f2af79b28f05c05e114720fbe66",
      "parents": [
        "1136cf11066a32d4ac2a476dac302858d763703d",
        "91b80969ba466ba4b915a4a1d03add8c297add3f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 02 10:58:11 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 02 10:58:11 2008 -0700"
      },
      "message": "Merge branch \u0027for-2.6.27\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.27\u0027 of git://linux-nfs.org/~bfields/linux:\n  nfsd: fix buffer overrun decoding NFSv4 acl\n  sunrpc: fix possible overrun on read of /proc/sys/sunrpc/transports\n  nfsd: fix compound state allocation error handling\n  svcrdma: Fix race between svc_rdma_recvfrom thread and the dto_tasklet\n"
    },
    {
      "commit": "91b80969ba466ba4b915a4a1d03add8c297add3f",
      "tree": "2e35e071d4faa5a57ab6ed4d74cd3ef686e1ba91",
      "parents": [
        "27df6f25ff218072e0e879a96beeb398a79cdbc8"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Aug 29 19:18:45 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Sep 01 14:24:24 2008 -0400"
      },
      "message": "nfsd: fix buffer overrun decoding NFSv4 acl\n\nThe array we kmalloc() here is not large enough.\n\nThanks to Johann Dahm and David Richter for bug report and testing.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: David Richter \u003crichterd@citi.umich.edu\u003e\nTested-by: Johann Dahm \u003cjdahm@umich.edu\u003e\n"
    },
    {
      "commit": "c228c24bf1138d4757dbe20615df655815446da3",
      "tree": "97ee91f5a0eb5f3944f20c3d147a6b3de2d279ab",
      "parents": [
        "24b8b44780a2c53ecb738f4a1c08d114f5eda27c"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Thu Aug 21 08:42:16 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Sep 01 14:17:48 2008 -0400"
      },
      "message": "nfsd: fix compound state allocation error handling\n\nMove the cstate_alloc call so that if it fails, the response is setup to\nencode the NFS error. The out label now means that the\nnfsd4_compound_state has not been allocated.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "b3385c278d3c32aec68d4900b35bc07df1b2240c",
      "tree": "b13f63c22d399b4cb146b7fed3c9dfc6c316a838",
      "parents": [
        "7dad181bbe58b8fe9e170da28bcd5f6ec9addd6d"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sun Aug 31 17:13:18 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sun Aug 31 17:22:11 2008 +0300"
      },
      "message": "UBIFS: fill f_fsid\n\nUBIFS stores 16-bit UUID in the superblock, and it is a good\nidea to return part of it in \u0027f_fsid\u0027 filed of kstatfs structure.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "7dad181bbe58b8fe9e170da28bcd5f6ec9addd6d",
      "tree": "fd15bc2beeb1162e1c6315f590d82758d65af39c",
      "parents": [
        "9bbb5726efb64e2cfed42f6eec07db80cd87e63b"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Mon Aug 25 18:58:19 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sun Aug 31 17:21:51 2008 +0300"
      },
      "message": "UBIFS: improve statfs reporting even more\n\nSince free space we report in statfs is file size which should\nfit to the FS - change the way we calculate free space and use\nleb_overhead instead of dark_wm in calculations.\n\nResults of \"freespace\" test (120MiB volume, 16KiB LEB size,\n512 bytes page size). Before the change:\n\nfreespace: Test 1: fill the space we have 3 times\nfreespace: was free: 85204992 bytes 81.3 MiB, wrote: 96489472 bytes 92.0 MiB, delta: 11284480 bytes 10.8 MiB, wrote 13.2% more than predicted\nfreespace: was free: 83554304 bytes 79.7 MiB, wrote: 96489472 bytes 92.0 MiB, delta: 12935168 bytes 12.3 MiB, wrote 15.5% more than predicted\nfreespace: was free: 83554304 bytes 79.7 MiB, wrote: 96493568 bytes 92.0 MiB, delta: 12939264 bytes 12.3 MiB, wrote 15.5% more than predicted\nfreespace: Test 1 finished\n\nfreespace: Test 2: gradually lessen amount of free space and fill the FS\nfreespace: do 10 steps, lessen free space by 7596218 bytes 7.2 MiB each time\nfreespace: was free: 78675968 bytes 75.0 MiB, wrote: 88903680 bytes 84.8 MiB, delta: 10227712 bytes 9.8 MiB, wrote 13.0% more than predicted\nfreespace: was free: 72015872 bytes 68.7 MiB, wrote: 81514496 bytes 77.7 MiB, delta: 9498624 bytes 9.1 MiB, wrote 13.2% more than predicted\nfreespace: was free: 63938560 bytes 61.0 MiB, wrote: 72589312 bytes 69.2 MiB, delta: 8650752 bytes 8.2 MiB, wrote 13.5% more than predicted\nfreespace: was free: 56127488 bytes 53.5 MiB, wrote: 63762432 bytes 60.8 MiB, delta: 7634944 bytes 7.3 MiB, wrote 13.6% more than predicted\nfreespace: was free: 48336896 bytes 46.1 MiB, wrote: 54935552 bytes 52.4 MiB, delta: 6598656 bytes 6.3 MiB, wrote 13.7% more than predicted\nfreespace: was free: 40587264 bytes 38.7 MiB, wrote: 46157824 bytes 44.0 MiB, delta: 5570560 bytes 5.3 MiB, wrote 13.7% more than predicted\nfreespace: was free: 32841728 bytes 31.3 MiB, wrote: 37384192 bytes 35.7 MiB, delta: 4542464 bytes 4.3 MiB, wrote 13.8% more than predicted\nfreespace: was free: 25100288 bytes 23.9 MiB, wrote: 28618752 bytes 27.3 MiB, delta: 3518464 bytes 3.4 MiB, wrote 14.0% more than predicted\nfreespace: was free: 17342464 bytes 16.5 MiB, wrote: 19841024 bytes 18.9 MiB, delta: 2498560 bytes 2.4 MiB, wrote 14.4% more than predicted\nfreespace: was free: 9605120 bytes 9.2 MiB, wrote: 11063296 bytes 10.6 MiB, delta: 1458176 bytes 1.4 MiB, wrote 15.2% more than predicted\nfreespace: Test 2 finished\n\nfreespace: Test 3: gradually lessen amount of free space by trashing and fill the FS\nfreespace: do 10 steps, lessen free space by 7606272 bytes 7.3 MiB each time\nfreespace: trashing: was free: 83668992 bytes 79.8 MiB, need free: 7606272 bytes 7.3 MiB, files created: 248297, delete 225724 (90.9% of them)\nfreespace: was free: 70803456 bytes 67.5 MiB, wrote: 82485248 bytes 78.7 MiB, delta: 11681792 bytes 11.1 MiB, wrote 16.5% more than predicted\nfreespace: trashing: was free: 81080320 bytes 77.3 MiB, need free: 15212544 bytes 14.5 MiB, files created: 248711, delete 202047 (81.2% of them)\nfreespace: was free: 59867136 bytes 57.1 MiB, wrote: 71897088 bytes 68.6 MiB, delta: 12029952 bytes 11.5 MiB, wrote 20.1% more than predicted\nfreespace: trashing: was free: 82243584 bytes 78.4 MiB, need free: 22818816 bytes 21.8 MiB, files created: 248866, delete 179817 (72.3% of them)\nfreespace: was free: 50905088 bytes 48.5 MiB, wrote: 63168512 bytes 60.2 MiB, delta: 12263424 bytes 11.7 MiB, wrote 24.1% more than predicted\nfreespace: trashing: was free: 83402752 bytes 79.5 MiB, need free: 30425088 bytes 29.0 MiB, files created: 248920, delete 158114 (63.5% of them)\nfreespace: was free: 42651648 bytes 40.7 MiB, wrote: 55406592 bytes 52.8 MiB, delta: 12754944 bytes 12.2 MiB, wrote 29.9% more than predicted\nfreespace: trashing: was free: 84402176 bytes 80.5 MiB, need free: 38031360 bytes 36.3 MiB, files created: 248709, delete 136641 (54.9% of them)\nfreespace: was free: 35233792 bytes 33.6 MiB, wrote: 48250880 bytes 46.0 MiB, delta: 13017088 bytes 12.4 MiB, wrote 36.9% more than predicted\nfreespace: trashing: was free: 82530304 bytes 78.7 MiB, need free: 45637632 bytes 43.5 MiB, files created: 248778, delete 111208 (44.7% of them)\nfreespace: was free: 27287552 bytes 26.0 MiB, wrote: 40267776 bytes 38.4 MiB, delta: 12980224 bytes 12.4 MiB, wrote 47.6% more than predicted\nfreespace: trashing: was free: 85114880 bytes 81.2 MiB, need free: 53243904 bytes 50.8 MiB, files created: 248508, delete 93052 (37.4% of them)\nfreespace: was free: 22437888 bytes 21.4 MiB, wrote: 35328000 bytes 33.7 MiB, delta: 12890112 bytes 12.3 MiB, wrote 57.4% more than predicted\nfreespace: trashing: was free: 84103168 bytes 80.2 MiB, need free: 60850176 bytes 58.0 MiB, files created: 248637, delete 68743 (27.6% of them)\nfreespace: was free: 15536128 bytes 14.8 MiB, wrote: 28319744 bytes 27.0 MiB, delta: 12783616 bytes 12.2 MiB, wrote 82.3% more than predicted\nfreespace: trashing: was free: 84357120 bytes 80.4 MiB, need free: 68456448 bytes 65.3 MiB, files created: 248567, delete 46852 (18.8% of them)\nfreespace: was free: 9015296 bytes 8.6 MiB, wrote: 22044672 bytes 21.0 MiB, delta: 13029376 bytes 12.4 MiB, wrote 144.5% more than predicted\nfreespace: trashing: was free: 84942848 bytes 81.0 MiB, need free: 76062720 bytes 72.5 MiB, files created: 248636, delete 25993 (10.5% of them)\nfreespace: was free: 6086656 bytes 5.8 MiB, wrote: 8331264 bytes 7.9 MiB, delta: 2244608 bytes 2.1 MiB, wrote 36.9% more than predicted\nfreespace: Test 3 finished\n\nfreespace: finished successfully\n\nAfter the change:\n\nfreespace: Test 1: fill the space we have 3 times\nfreespace: was free: 94048256 bytes 89.7 MiB, wrote: 96489472 bytes 92.0 MiB, delta: 2441216 bytes 2.3 MiB, wrote 2.6% more than predicted\nfreespace: was free: 92246016 bytes 88.0 MiB, wrote: 96493568 bytes 92.0 MiB, delta: 4247552 bytes 4.1 MiB, wrote 4.6% more than predicted\nfreespace: was free: 92254208 bytes 88.0 MiB, wrote: 96489472 bytes 92.0 MiB, delta: 4235264 bytes 4.0 MiB, wrote 4.6% more than predicted\nfreespace: Test 1 finished\n\nfreespace: Test 2: gradually lessen amount of free space and fill the FS\nfreespace: do 10 steps, lessen free space by 8386001 bytes 8.0 MiB each time\nfreespace: was free: 86605824 bytes 82.6 MiB, wrote: 88252416 bytes 84.2 MiB, delta: 1646592 bytes 1.6 MiB, wrote 1.9% more than predicted\nfreespace: was free: 78667776 bytes 75.0 MiB, wrote: 80715776 bytes 77.0 MiB, delta: 2048000 bytes 2.0 MiB, wrote 2.6% more than predicted\nfreespace: was free: 69615616 bytes 66.4 MiB, wrote: 71630848 bytes 68.3 MiB, delta: 2015232 bytes 1.9 MiB, wrote 2.9% more than predicted\nfreespace: was free: 61018112 bytes 58.2 MiB, wrote: 62783488 bytes 59.9 MiB, delta: 1765376 bytes 1.7 MiB, wrote 2.9% more than predicted\nfreespace: was free: 52424704 bytes 50.0 MiB, wrote: 53968896 bytes 51.5 MiB, delta: 1544192 bytes 1.5 MiB, wrote 2.9% more than predicted\nfreespace: was free: 43880448 bytes 41.8 MiB, wrote: 45199360 bytes 43.1 MiB, delta: 1318912 bytes 1.3 MiB, wrote 3.0% more than predicted\nfreespace: was free: 35332096 bytes 33.7 MiB, wrote: 36425728 bytes 34.7 MiB, delta: 1093632 bytes 1.0 MiB, wrote 3.1% more than predicted\nfreespace: was free: 26771456 bytes 25.5 MiB, wrote: 27643904 bytes 26.4 MiB, delta: 872448 bytes 852.0 KiB, wrote 3.3% more than predicted\nfreespace: was free: 18231296 bytes 17.4 MiB, wrote: 18878464 bytes 18.0 MiB, delta: 647168 bytes 632.0 KiB, wrote 3.5% more than predicted\nfreespace: was free: 9674752 bytes 9.2 MiB, wrote: 10088448 bytes 9.6 MiB, delta: 413696 bytes 404.0 KiB, wrote 4.3% more than predicted\nfreespace: Test 2 finished\n\nfreespace: Test 3: gradually lessen amount of free space by trashing and fill the FS\nfreespace: do 10 steps, lessen free space by 8397544 bytes 8.0 MiB each time\nfreespace: trashing: was free: 92372992 bytes 88.1 MiB, need free: 8397552 bytes 8.0 MiB, files created: 248296, delete 225723 (90.9% of them)\nfreespace: was free: 71909376 bytes 68.6 MiB, wrote: 82472960 bytes 78.7 MiB, delta: 10563584 bytes 10.1 MiB, wrote 14.7% more than predicted\nfreespace: trashing: was free: 88989696 bytes 84.9 MiB, need free: 16795096 bytes 16.0 MiB, files created: 248794, delete 201838 (81.1% of them)\nfreespace: was free: 60354560 bytes 57.6 MiB, wrote: 71782400 bytes 68.5 MiB, delta: 11427840 bytes 10.9 MiB, wrote 18.9% more than predicted\nfreespace: trashing: was free: 90304512 bytes 86.1 MiB, need free: 25192640 bytes 24.0 MiB, files created: 248733, delete 179342 (72.1% of them)\nfreespace: was free: 51187712 bytes 48.8 MiB, wrote: 62943232 bytes 60.0 MiB, delta: 11755520 bytes 11.2 MiB, wrote 23.0% more than predicted\nfreespace: trashing: was free: 91209728 bytes 87.0 MiB, need free: 33590184 bytes 32.0 MiB, files created: 248779, delete 157160 (63.2% of them)\nfreespace: was free: 42704896 bytes 40.7 MiB, wrote: 55050240 bytes 52.5 MiB, delta: 12345344 bytes 11.8 MiB, wrote 28.9% more than predicted\nfreespace: trashing: was free: 92700672 bytes 88.4 MiB, need free: 41987728 bytes 40.0 MiB, files created: 248848, delete 136135 (54.7% of them)\nfreespace: was free: 35250176 bytes 33.6 MiB, wrote: 48115712 bytes 45.9 MiB, delta: 12865536 bytes 12.3 MiB, wrote 36.5% more than predicted\nfreespace: trashing: was free: 93986816 bytes 89.6 MiB, need free: 50385272 bytes 48.1 MiB, files created: 248723, delete 115385 (46.4% of them)\nfreespace: was free: 29995008 bytes 28.6 MiB, wrote: 41582592 bytes 39.7 MiB, delta: 11587584 bytes 11.1 MiB, wrote 38.6% more than predicted\nfreespace: trashing: was free: 91881472 bytes 87.6 MiB, need free: 58782816 bytes 56.1 MiB, files created: 248645, delete 89569 (36.0% of them)\nfreespace: was free: 22511616 bytes 21.5 MiB, wrote: 34705408 bytes 33.1 MiB, delta: 12193792 bytes 11.6 MiB, wrote 54.2% more than predicted\nfreespace: trashing: was free: 91774976 bytes 87.5 MiB, need free: 67180360 bytes 64.1 MiB, files created: 248580, delete 66616 (26.8% of them)\nfreespace: was free: 16908288 bytes 16.1 MiB, wrote: 26898432 bytes 25.7 MiB, delta: 9990144 bytes 9.5 MiB, wrote 59.1% more than predicted\nfreespace: trashing: was free: 92450816 bytes 88.2 MiB, need free: 75577904 bytes 72.1 MiB, files created: 248654, delete 45381 (18.3% of them)\nfreespace: was free: 10170368 bytes 9.7 MiB, wrote: 19111936 bytes 18.2 MiB, delta: 8941568 bytes 8.5 MiB, wrote 87.9% more than predicted\nfreespace: trashing: was free: 93282304 bytes 89.0 MiB, need free: 83975448 bytes 80.1 MiB, files created: 248513, delete 24794 (10.0% of them)\nfreespace: was free: 3911680 bytes 3.7 MiB, wrote: 7872512 bytes 7.5 MiB, delta: 3960832 bytes 3.8 MiB, wrote 101.3% more than predicted\nfreespace: Test 3 finished\n\nfreespace: finished successfully\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "9bbb5726efb64e2cfed42f6eec07db80cd87e63b",
      "tree": "e7c0a28fff531ef34bb35448479e6bbcaeffe1f9",
      "parents": [
        "131130b9a1e6e523c64b34137b14f88ae1382a6a"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Aug 22 18:23:22 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sun Aug 31 17:21:40 2008 +0300"
      },
      "message": "UBIFS: introduce LEB overhead\n\nThis is a preparational patch for the following statfs()\nreport fix.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "131130b9a1e6e523c64b34137b14f88ae1382a6a",
      "tree": "22d96db5b23f229c037eebfe85aa9c68cb74ecc0",
      "parents": [
        "ad507653a39e0d27404291e5d813683265388a20"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Mon Aug 25 18:34:45 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sun Aug 31 17:21:31 2008 +0300"
      },
      "message": "UBIFS: add forgotten gc_idx_lebs component\n\nWe add this component at other similar places, but not in this\none.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "ad507653a39e0d27404291e5d813683265388a20",
      "tree": "947cfad487ccb8f3c8ccae065a1fcee9ba7cdab7",
      "parents": [
        "4b5f2762ec914c9dfd0e9d2377c0574f2ee9a8f9"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Mon Aug 25 18:32:57 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sun Aug 31 17:21:22 2008 +0300"
      },
      "message": "UBIFS: fix assertion\n\nThe assertion was incorrect, because it did not take into\naccount free space.\n\nThis patch also amends the comments correspondingly, and\ncleans them up a little.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "4b5f2762ec914c9dfd0e9d2377c0574f2ee9a8f9",
      "tree": "e24294a283239682fcee794851a581335fbf50d0",
      "parents": [
        "8aabb75017291ba68c09ff5fdb998ef0a1fdaaf9"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Mon Aug 25 16:15:56 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sun Aug 31 17:20:26 2008 +0300"
      },
      "message": "UBIFS: improve statfs reporting\n\nMake free space calculation less pessimistic and more realistic,\nwhich in turn improves \u0027statfs()\u0027 reports. Now it lies by 10%-20%,\ninstead of 20%-30% (10% more honest).\n\nResults of \"freespace\" test (120MiB volume, 16KiB LEB size,\n512 bytes page size). Before the change:\n\nfreespace: Test 1: fill the space we have 3 times\nfreespace: was free: 78274560 bytes 74.6 MiB, wrote: 96489472 bytes 92.0 MiB, delta: 18214912 bytes 17.4 MiB, wrote 23.3% more than predicted\nfreespace: was free: 76754944 bytes 73.2 MiB, wrote: 96493568 bytes 92.0 MiB, delta: 19738624 bytes 18.8 MiB, wrote 25.7% more than predicted\nfreespace: was free: 76759040 bytes 73.2 MiB, wrote: 96489472 bytes 92.0 MiB, delta: 19730432 bytes 18.8 MiB, wrote 25.7% more than predicted\nfreespace: Test 1 finished\n\nfreespace: Test 2: gradually lessen amount of free space and fill the FS\nfreespace: do 10 steps, lessen free space by 6977722 bytes 6.7 MiB each time\nfreespace: was free: 72273920 bytes 68.9 MiB, wrote: 88891392 bytes 84.8 MiB, delta: 16617472 bytes 15.8 MiB, wrote 23.0% more than predicted\nfreespace: was free: 66154496 bytes 63.1 MiB, wrote: 81506304 bytes 77.7 MiB, delta: 15351808 bytes 14.6 MiB, wrote 23.2% more than predicted\nfreespace: was free: 58732544 bytes 56.0 MiB, wrote: 72572928 bytes 69.2 MiB, delta: 13840384 bytes 13.2 MiB, wrote 23.6% more than predicted\nfreespace: was free: 51552256 bytes 49.2 MiB, wrote: 63754240 bytes 60.8 MiB, delta: 12201984 bytes 11.6 MiB, wrote 23.7% more than predicted\nfreespace: was free: 44404736 bytes 42.3 MiB, wrote: 54943744 bytes 52.4 MiB, delta: 10539008 bytes 10.1 MiB, wrote 23.7% more than predicted\nfreespace: was free: 37285888 bytes 35.6 MiB, wrote: 46161920 bytes 44.0 MiB, delta: 8876032 bytes 8.5 MiB, wrote 23.8% more than predicted\nfreespace: was free: 30171136 bytes 28.8 MiB, wrote: 37384192 bytes 35.7 MiB, delta: 7213056 bytes 6.9 MiB, wrote 23.9% more than predicted\nfreespace: was free: 23048192 bytes 22.0 MiB, wrote: 28606464 bytes 27.3 MiB, delta: 5558272 bytes 5.3 MiB, wrote 24.1% more than predicted\nfreespace: was free: 15941632 bytes 15.2 MiB, wrote: 19828736 bytes 18.9 MiB, delta: 3887104 bytes 3.7 MiB, wrote 24.4% more than predicted\nfreespace: was free: 8830976 bytes 8.4 MiB, wrote: 11063296 bytes 10.6 MiB, delta: 2232320 bytes 2.1 MiB, wrote 25.3% more than predicted\nfreespace: Test 2 finished\n\nfreespace: Test 3: gradually lessen amount of free space by trashing and fill the FS\nfreespace: do 10 steps, lessen free space by 6985541 bytes 6.7 MiB each time\nfreespace: trashing: was free: 76840960 bytes 73.3 MiB, need free: 6985550 bytes 6.7 MiB, files created: 248311, delete 225737 (90.9% of them)\nfreespace: was free: 65228800 bytes 62.2 MiB, wrote: 82530304 bytes 78.7 MiB, delta: 17301504 bytes 16.5 MiB, wrote 26.5% more than predicted\nfreespace: trashing: was free: 74485760 bytes 71.0 MiB, need free: 13971091 bytes 13.3 MiB, files created: 248712, delete 202061 (81.2% of them)\nfreespace: was free: 55025664 bytes 52.5 MiB, wrote: 71925760 bytes 68.6 MiB, delta: 16900096 bytes 16.1 MiB, wrote 30.7% more than predicted\nfreespace: trashing: was free: 75550720 bytes 72.1 MiB, need free: 20956632 bytes 20.0 MiB, files created: 248849, delete 179822 (72.3% of them)\nfreespace: was free: 46669824 bytes 44.5 MiB, wrote: 63197184 bytes 60.3 MiB, delta: 16527360 bytes 15.8 MiB, wrote 35.4% more than predicted\nfreespace: trashing: was free: 76214272 bytes 72.7 MiB, need free: 27942173 bytes 26.6 MiB, files created: 248789, delete 157576 (63.3% of them)\nfreespace: was free: 39129088 bytes 37.3 MiB, wrote: 55164928 bytes 52.6 MiB, delta: 16035840 bytes 15.3 MiB, wrote 41.0% more than predicted\nfreespace: trashing: was free: 77398016 bytes 73.8 MiB, need free: 34927714 bytes 33.3 MiB, files created: 248711, delete 136474 (54.9% of them)\nfreespace: was free: 32325632 bytes 30.8 MiB, wrote: 48234496 bytes 46.0 MiB, delta: 15908864 bytes 15.2 MiB, wrote 49.2% more than predicted\nfreespace: trashing: was free: 75796480 bytes 72.3 MiB, need free: 41913255 bytes 40.0 MiB, files created: 248674, delete 111164 (44.7% of them)\nfreespace: was free: 25079808 bytes 23.9 MiB, wrote: 40775680 bytes 38.9 MiB, delta: 15695872 bytes 15.0 MiB, wrote 62.6% more than predicted\nfreespace: trashing: was free: 78209024 bytes 74.6 MiB, need free: 48898796 bytes 46.6 MiB, files created: 248708, delete 93207 (37.5% of them)\nfreespace: was free: 20582400 bytes 19.6 MiB, wrote: 34844672 bytes 33.2 MiB, delta: 14262272 bytes 13.6 MiB, wrote 69.3% more than predicted\nfreespace: trashing: was free: 77328384 bytes 73.7 MiB, need free: 55884337 bytes 53.3 MiB, files created: 248644, delete 68951 (27.7% of them)\nfreespace: was free: 14368768 bytes 13.7 MiB, wrote: 28278784 bytes 27.0 MiB, delta: 13910016 bytes 13.3 MiB, wrote 96.8% more than predicted\nfreespace: trashing: was free: 77434880 bytes 73.8 MiB, need free: 62869878 bytes 60.0 MiB, files created: 248640, delete 46767 (18.8% of them)\nfreespace: was free: 8286208 bytes 7.9 MiB, wrote: 21811200 bytes 20.8 MiB, delta: 13524992 bytes 12.9 MiB, wrote 163.2% more than predicted\nfreespace: trashing: was free: 77856768 bytes 74.2 MiB, need free: 69855419 bytes 66.6 MiB, files created: 248576, delete 25546 (10.3% of them)\nfreespace: was free: 5570560 bytes 5.3 MiB, wrote: 8187904 bytes 7.8 MiB, delta: 2617344 bytes 2.5 MiB, wrote 47.0% more than predicted\nfreespace: Test 3 finished\n\nfreespace: finished successfully\n\nAfter the change:\n\nfreespace: Test 1: fill the space we have 3 times\nfreespace: was free: 85204992 bytes 81.3 MiB, wrote: 96489472 bytes 92.0 MiB, delta: 11284480 bytes 10.8 MiB, wrote 13.2% more than predicted\nfreespace: was free: 83554304 bytes 79.7 MiB, wrote: 96489472 bytes 92.0 MiB, delta: 12935168 bytes 12.3 MiB, wrote 15.5% more than predicted\nfreespace: was free: 83554304 bytes 79.7 MiB, wrote: 96493568 bytes 92.0 MiB, delta: 12939264 bytes 12.3 MiB, wrote 15.5% more than predicted\nfreespace: Test 1 finished\n\nfreespace: Test 2: gradually lessen amount of free space and fill the FS\nfreespace: do 10 steps, lessen free space by 7596218 bytes 7.2 MiB each time\nfreespace: was free: 78675968 bytes 75.0 MiB, wrote: 88903680 bytes 84.8 MiB, delta: 10227712 bytes 9.8 MiB, wrote 13.0% more than predicted\nfreespace: was free: 72015872 bytes 68.7 MiB, wrote: 81514496 bytes 77.7 MiB, delta: 9498624 bytes 9.1 MiB, wrote 13.2% more than predicted\nfreespace: was free: 63938560 bytes 61.0 MiB, wrote: 72589312 bytes 69.2 MiB, delta: 8650752 bytes 8.2 MiB, wrote 13.5% more than predicted\nfreespace: was free: 56127488 bytes 53.5 MiB, wrote: 63762432 bytes 60.8 MiB, delta: 7634944 bytes 7.3 MiB, wrote 13.6% more than predicted\nfreespace: was free: 48336896 bytes 46.1 MiB, wrote: 54935552 bytes 52.4 MiB, delta: 6598656 bytes 6.3 MiB, wrote 13.7% more than predicted\nfreespace: was free: 40587264 bytes 38.7 MiB, wrote: 46157824 bytes 44.0 MiB, delta: 5570560 bytes 5.3 MiB, wrote 13.7% more than predicted\nfreespace: was free: 32841728 bytes 31.3 MiB, wrote: 37384192 bytes 35.7 MiB, delta: 4542464 bytes 4.3 MiB, wrote 13.8% more than predicted\nfreespace: was free: 25100288 bytes 23.9 MiB, wrote: 28618752 bytes 27.3 MiB, delta: 3518464 bytes 3.4 MiB, wrote 14.0% more than predicted\nfreespace: was free: 17342464 bytes 16.5 MiB, wrote: 19841024 bytes 18.9 MiB, delta: 2498560 bytes 2.4 MiB, wrote 14.4% more than predicted\nfreespace: was free: 9605120 bytes 9.2 MiB, wrote: 11063296 bytes 10.6 MiB, delta: 1458176 bytes 1.4 MiB, wrote 15.2% more than predicted\nfreespace: Test 2 finished\n\nfreespace: Test 3: gradually lessen amount of free space by trashing and fill the FS\nfreespace: do 10 steps, lessen free space by 7606272 bytes 7.3 MiB each time\nfreespace: trashing: was free: 83668992 bytes 79.8 MiB, need free: 7606272 bytes 7.3 MiB, files created: 248297, delete 225724 (90.9% of them)\nfreespace: was free: 70803456 bytes 67.5 MiB, wrote: 82485248 bytes 78.7 MiB, delta: 11681792 bytes 11.1 MiB, wrote 16.5% more than predicted\nfreespace: trashing: was free: 81080320 bytes 77.3 MiB, need free: 15212544 bytes 14.5 MiB, files created: 248711, delete 202047 (81.2% of them)\nfreespace: was free: 59867136 bytes 57.1 MiB, wrote: 71897088 bytes 68.6 MiB, delta: 12029952 bytes 11.5 MiB, wrote 20.1% more than predicted\nfreespace: trashing: was free: 82243584 bytes 78.4 MiB, need free: 22818816 bytes 21.8 MiB, files created: 248866, delete 179817 (72.3% of them)\nfreespace: was free: 50905088 bytes 48.5 MiB, wrote: 63168512 bytes 60.2 MiB, delta: 12263424 bytes 11.7 MiB, wrote 24.1% more than predicted\nfreespace: trashing: was free: 83402752 bytes 79.5 MiB, need free: 30425088 bytes 29.0 MiB, files created: 248920, delete 158114 (63.5% of them)\nfreespace: was free: 42651648 bytes 40.7 MiB, wrote: 55406592 bytes 52.8 MiB, delta: 12754944 bytes 12.2 MiB, wrote 29.9% more than predicted\nfreespace: trashing: was free: 84402176 bytes 80.5 MiB, need free: 38031360 bytes 36.3 MiB, files created: 248709, delete 136641 (54.9% of them)\nfreespace: was free: 35233792 bytes 33.6 MiB, wrote: 48250880 bytes 46.0 MiB, delta: 13017088 bytes 12.4 MiB, wrote 36.9% more than predicted\nfreespace: trashing: was free: 82530304 bytes 78.7 MiB, need free: 45637632 bytes 43.5 MiB, files created: 248778, delete 111208 (44.7% of them)\nfreespace: was free: 27287552 bytes 26.0 MiB, wrote: 40267776 bytes 38.4 MiB, delta: 12980224 bytes 12.4 MiB, wrote 47.6% more than predicted\nfreespace: trashing: was free: 85114880 bytes 81.2 MiB, need free: 53243904 bytes 50.8 MiB, files created: 248508, delete 93052 (37.4% of them)\nfreespace: was free: 22437888 bytes 21.4 MiB, wrote: 35328000 bytes 33.7 MiB, delta: 12890112 bytes 12.3 MiB, wrote 57.4% more than predicted\nfreespace: trashing: was free: 84103168 bytes 80.2 MiB, need free: 60850176 bytes 58.0 MiB, files created: 248637, delete 68743 (27.6% of them)\nfreespace: was free: 15536128 bytes 14.8 MiB, wrote: 28319744 bytes 27.0 MiB, delta: 12783616 bytes 12.2 MiB, wrote 82.3% more than predicted\nfreespace: trashing: was free: 84357120 bytes 80.4 MiB, need free: 68456448 bytes 65.3 MiB, files created: 248567, delete 46852 (18.8% of them)\nfreespace: was free: 9015296 bytes 8.6 MiB, wrote: 22044672 bytes 21.0 MiB, delta: 13029376 bytes 12.4 MiB, wrote 144.5% more than predicted\nfreespace: trashing: was free: 84942848 bytes 81.0 MiB, need free: 76062720 bytes 72.5 MiB, files created: 248636, delete 25993 (10.5% of them)\nfreespace: was free: 6086656 bytes 5.8 MiB, wrote: 8331264 bytes 7.9 MiB, delta: 2244608 bytes 2.1 MiB, wrote 36.9% more than predicted\nfreespace: Test 3 finished\n\nfreespace: finished successfully\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "8aabb75017291ba68c09ff5fdb998ef0a1fdaaf9",
      "tree": "a16b1f8bf707b6611f6e2a966dc35f6bc3bbe762",
      "parents": [
        "9e5de3549615818cae9c20a0ee1fd3ad4a747758"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Mon Aug 25 16:02:31 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sun Aug 31 17:16:03 2008 +0300"
      },
      "message": "UBIFS: remove incorrect index space check\n\nWhen we report free space to user-space, we should not report\n0 if the amount of empty LEBs is too low, because they would\nbe produced by GC when needed. Thus, just call\n\u0027ubifs_calc_available()\u0027 straight away which would take\n\u0027min_idx_lebs\u0027 into account anyway.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "9e5de3549615818cae9c20a0ee1fd3ad4a747758",
      "tree": "0ac4320ec95f9b0aa4a8fb4fb09ded2d739950e6",
      "parents": [
        "8191e1fa8131a422f4bf7b0f2dc1f8543fd17783"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Mon Aug 25 17:29:43 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sun Aug 31 17:15:53 2008 +0300"
      },
      "message": "UBIFS: push empty flash hack down\n\nWe have a hack which forces the amount of flash space to be\nequivalent to \u0027c-\u003eblocks_cnt\u0027 in case of empty FS. This is\nto make users happy and see \u0027%0\u0027 used in \u0027df\u0027 when they\nmount an empty FS. This hack is not needed in\n\u0027ubifs_calc_available()\u0027, but it is only needed the caller,\nin \u0027ubifs_budg_get_free_space()\u0027. So push it down there.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "8191e1fa8131a422f4bf7b0f2dc1f8543fd17783",
      "tree": "633b30c1a0e59c300c52a543daf9f59176e15e1a",
      "parents": [
        "601c0bc46753007be011b513ba4fc50ed8e30aef"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Aug 22 12:26:40 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sun Aug 31 17:15:43 2008 +0300"
      },
      "message": "UBIFS: do not update min_idx_lebs in stafs\n\nThis is bad because the rest of the code should not depend on it,\nand this may hide bugss, instead of revealing them.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "c76da9da1fffa6de263486df54950eb328d58f71",
      "tree": "370120a11b626ba03da03e47a3b31c7cebd2d609",
      "parents": [
        "2e655021b8d50b5d90ce442f3de6bf3667729910"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Aug 28 15:32:22 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Aug 28 15:32:22 2008 +0000"
      },
      "message": "[CIFS] Turn off Unicode during session establishment for plaintext authentication\n\nLANMAN session setup did not support Unicode (after session setup, unicode can\nstill be used though).\n\nFixes samba bug# 5319\n\nCC: Jeff Layton \u003cjlayton@redhat.com\u003e\nCC: Stable Kernel \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "2e655021b8d50b5d90ce442f3de6bf3667729910",
      "tree": "554a083b1d32f25b8c14a2e4929c17cb09f23670",
      "parents": [
        "838726c4756813576078203eb7e1e219db0da870"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Aug 28 15:30:06 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Aug 28 15:30:06 2008 +0000"
      },
      "message": "[CIFS] update cifs change log\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "838726c4756813576078203eb7e1e219db0da870",
      "tree": "3ae8b22db6060244d0ab2b23342b04897682e835",
      "parents": [
        "6405c9cd9bf7b1c35ed76ef8ee3e217056285702"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu Aug 28 07:54:59 2008 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Aug 28 14:15:32 2008 +0000"
      },
      "message": "cifs: fix O_APPEND on directio mounts\n\nThe direct I/O write codepath for CIFS is done through\ncifs_user_write(). That function does not currently call\ngeneric_write_checks() so the file position isn\u0027t being properly set\nwhen the file is opened with O_APPEND.  It\u0027s also not doing the other\n\"normal\" checks that should be done for a write call.\n\nThe problem is currently that when you open a file with O_APPEND on a\nmount with the directio mount option, the file position is set to the\nbeginning of the file. This makes any subsequent writes clobber the data\nin the file starting at the beginning.\n\nThis seems to fix the problem in cursory testing. It is, however\nimportant to note that NFS disallows the combination of\n(O_DIRECT|O_APPEND). If my understanding is correct, the concern is\nraces with multiple clients appending to a file clobbering each others\u0027\ndata. Since the write model for CIFS and NFS is pretty similar in this\nregard, CIFS is probably subject to the same sort of races. What\u0027s\nunclear to me is why this is a particular problem with O_DIRECT and not\nwith buffered writes...\n\nRegardless, disallowing O_APPEND on an entire mount is probably not\nreasonable, so we\u0027ll probably just have to deal with it and reevaluate\nthis flag combination when we get proper support for O_DIRECT. In the\nmeantime this patch at least fixes the existing problem.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nCc: Stable Tree \u003cstable@kernel.org\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "6405c9cd9bf7b1c35ed76ef8ee3e217056285702",
      "tree": "0659c9ae17d1375f185f88f4f7fef1a667f375d8",
      "parents": [
        "bcc55c6664a90146149ba0fd93052adc94287b9f",
        "4c246edd2550304df5b766cc841584b2bb058843"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Aug 28 02:47:00 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Aug 28 02:47:00 2008 +0000"
      },
      "message": "Merge branch \u0027master\u0027 of /pub/scm/linux/kernel/git/torvalds/linux-2.6\n"
    },
    {
      "commit": "325a9a3d3990e77c62b771a71239fcd0cb6f6e2c",
      "tree": "5f5a1b61f2730d61b94924cb1f9297d976260a0f",
      "parents": [
        "e4268bd3b2b0380faaa62fad3e8d705eea21d124",
        "87ed1d65fb536a0cd4e84874c0b038f953e448aa"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 27 14:34:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 27 14:34:49 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:\n  [CIFS] Add destroy routine for dns_resolver\n  [CIFS] Reorder cifs config item for better clarity\n  [CIFS] Correct keys dependency for cifs kerberos support\n"
    },
    {
      "commit": "5b51a7e9d84f19df4d532ebf5624dbb8ad0d6c9c",
      "tree": "aa8359921a8039474c7bb1544823184855e59694",
      "parents": [
        "3d87ff3e44bd2a13cbe2d2e02cc5e38953ff260f",
        "4cdfe84b51420c9ac95c7133da2d4c8a191094af"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 27 14:31:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 27 14:31:44 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  [PATCH] deal with the first call of -\u003eshow() generating no output\n  [PATCH] fix -\u003ellseek() for a bunch of directories\n  [PATCH] fix regular readdir() and friends\n  [PATCH] fix hpux_getdents()\n  [PATCH] fix osf_getdirents()\n  [PATCH] ntfs: use d_add_ci\n  [PATCH] change d_add_ci argument ordering\n  [PATCH] fix efs_lookup()\n  [PATCH] proc: inode number fixlet\n"
    },
    {
      "commit": "bcc55c6664a90146149ba0fd93052adc94287b9f",
      "tree": "7b90cd9ea4bad5625b5912a8430038fac6b398f2",
      "parents": [
        "87ed1d65fb536a0cd4e84874c0b038f953e448aa"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Aug 27 21:30:22 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Aug 27 21:30:22 2008 +0000"
      },
      "message": "[CIFS] Fix plaintext authentication\n\nThe last eight bytes of the password field were not cleared when doing lanman plaintext password authentication. This patch fixes that.\n\nI tested it with Samba by setting password\nencryption to no in the server\u0027s smb.conf.  Other servers also can be\nconfigured to force plaintext authentication.    Note that plaintexti\nauthentication requires setting /proc/fs/cifs/SecurityFlags to 0x30030\non the client (enabling both LANMAN and also plaintext password support).\nAlso note that LANMAN support (and thus plaintext password support) requires\nCONFIG_CIFS_WEAK_PW_HASH to be enabled in menuconfig.\n\nCC: Jeff Layton \u003cjlayton@redhat.com\u003e\nCC: Stable Kernel \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "87ed1d65fb536a0cd4e84874c0b038f953e448aa",
      "tree": "c6af45a3605a037a5f53101107da5e4cd4024325",
      "parents": [
        "96c2a1137b9e00bcdbe3a95113ea8f42ca994f76"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Aug 27 17:53:30 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Aug 27 21:17:41 2008 +0000"
      },
      "message": "[CIFS] Add destroy routine for dns_resolver\n\nOtherwise, we\u0027re leaking the payload memory.\n\nCC: Stable Kernel \u003cstable@vger.kernel.org\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "0559bc8e9bf8cb6063b9bc7206fbc28982491a5d",
      "tree": "3ec60750466eea38ae6443100b7213f5122e3d21",
      "parents": [
        "e472233fc52d9556cab7d8a1164ccd93ab36fb91",
        "5168c47b4c294412f079dd3cc891e0276bb0479e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 27 13:55:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 27 13:55:35 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  block: remove blk_queue_tag_depth() and blk_queue_tag_queue()\n  block: remove unused -\u003ebusy part of the block queue tag map\n  bio: fix __bio_copy_iov() handling of bio-\u003ebv_len\n  bio: fix bio_copy_kern() handling of bio-\u003ebv_len\n  block: submit_bh() inadvertently discards barrier flag on a sync write\n  block: clean up cmdfilter sysfs interface\n  block: rename blk_scsi_cmd_filter to blk_cmd_filter\n  sg: restore command permission for TYPE_SCANNER\n  block: move cmdfilter from gendisk to request_queue\n"
    },
    {
      "commit": "e472233fc52d9556cab7d8a1164ccd93ab36fb91",
      "tree": "9b5f8262ca8517532616cdd537c8867cee915c65",
      "parents": [
        "72e19b3b22f43b20ee84db0deba33c71803cbe34",
        "d6817cdbd143f87f9d7c59a4c3194091190eeb84"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 27 13:54:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 27 13:54:55 2008 -0700"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2:\n  ocfs2: Increment the reference count of an already-active stack.\n  [PATCH] configfs: Consolidate locking around configfs_detach_prep() in configfs_rmdir()\n  ocfs2: correctly set i_blocks after inline dir gets expanded\n  ocfs2: Jump to correct label in ocfs2_expand_inline_dir()\n  ocfs2: Fix sleep-with-spinlock recovery regression\n  [PATCH] ocfs2/cluster/netdebug.c: fix warning\n  [PATCH] ocfs2/cluster/tcp.c: make some functions static\n"
    },
    {
      "commit": "aefcc28a3a63ac33a298777aa50ba43641c75241",
      "tree": "d72a23323e80b45da16ea916c9abe03d6a3f6bfd",
      "parents": [
        "76029ff37f31dad64641489c610d98955217bb68"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Mon Aug 25 20:36:08 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Aug 27 09:50:19 2008 +0200"
      },
      "message": "bio: fix __bio_copy_iov() handling of bio-\u003ebv_len\n\nThe commit c5dec1c3034f1ae3503efbf641ff3b0273b64797 introduced\n__bio_copy_iov() to add bounce support to blk_rq_map_user_iov.\n\n__bio_copy_iov() uses bio-\u003ebv_len to copy data for READ commands after\nthe completion but it doesn\u0027t work with a request that partially\ncompleted. SCSI always completes a PC request as a whole but seems\nsome don\u0027t.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: stable@kernel.org\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "76029ff37f31dad64641489c610d98955217bb68",
      "tree": "e8f729fa6288676be357295141a0950f171a62d8",
      "parents": [
        "48fd4f93a00eac844678629f2f00518e146ed30d"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Mon Aug 25 20:36:08 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Aug 27 09:50:19 2008 +0200"
      },
      "message": "bio: fix bio_copy_kern() handling of bio-\u003ebv_len\n\nThe commit 68154e90c9d1492d570671ae181d9a8f8530da55 introduced\nbio_copy_kern() to add bounce support to blk_rq_map_kern.\n\nbio_copy_kern() uses bio-\u003ebv_len to copy data for READ commands after\nthe completion but it doesn\u0027t work with a request that partially\ncompleted. SCSI always completes a PC request as a whole but seems\nsome don\u0027t.\n\nThis patch fixes bio_copy_kern to handle the above case. As\nbio_copy_user does, bio_copy_kern uses struct bio_map_data to store\nstruct bio_vec.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nReported-by: Nix \u003cnix@esperi.org.uk\u003e\nTested-by: Nix \u003cnix@esperi.org.uk\u003e\nCc: stable@kernel.org\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "48fd4f93a00eac844678629f2f00518e146ed30d",
      "tree": "c71f6792742886db9912078c70b3e8806e9f260f",
      "parents": [
        "a4a778971b9cfcbedb8648ba502d801f7db04c47"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Aug 22 10:00:36 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Aug 27 09:50:19 2008 +0200"
      },
      "message": "block: submit_bh() inadvertently discards barrier flag on a sync write\n\nReported by Milan Broz \u003cmbroz@redhat.com\u003e, commit 18ce3751 inadvertently\nmade submit_bh() discard the barrier bit for a WRITE_SYNC request. Fix\nthat up.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "96c2a1137b9e00bcdbe3a95113ea8f42ca994f76",
      "tree": "f5fe28b9fe703c8be250d32595f139af12bcc487",
      "parents": [
        "e9775843ecb039318dbc9ded6da9c762bff28a0b"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Aug 26 18:32:28 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Aug 26 18:32:28 2008 +0000"
      },
      "message": "[CIFS] Reorder cifs config item for better clarity\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "e9775843ecb039318dbc9ded6da9c762bff28a0b",
      "tree": "bec4be16ee1d25e42d44051fedcd4bf570f48f5d",
      "parents": [
        "3dae49abef945c55c10fa7c479cfd8fd13af55db"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Aug 26 18:22:50 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Aug 26 18:22:50 2008 +0000"
      },
      "message": "[CIFS] Correct keys dependency for cifs kerberos support\n\nMust also depend on CIFS ...\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "3dae49abef945c55c10fa7c479cfd8fd13af55db",
      "tree": "487c47c6d23cc28a259b913396aeaff0b792d32d",
      "parents": [
        "6ce5eecb9cd3ac97b952c50309b87c31488a45e9",
        "b8e6c91c74e9f0279b7c51048779b3d62da60b88"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Aug 26 16:56:05 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Aug 26 16:56:05 2008 +0000"
      },
      "message": "Merge branch \u0027master\u0027 of /pub/scm/linux/kernel/git/torvalds/linux-2.6\n"
    },
    {
      "commit": "6ce5eecb9cd3ac97b952c50309b87c31488a45e9",
      "tree": "5d28ff051283462f6c927ae87c094b568fb5b1e9",
      "parents": [
        "3d2af3465e91335bd1dbf36b19e92079d901409f"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Aug 26 00:37:14 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Aug 26 00:37:14 2008 +0000"
      },
      "message": "[CIFS] check version in spnego upcall response\n\nCurrently, we don\u0027t check the version in the SPNEGO upcall response\neven though one is provided. Jeff and Q have made the corresponding\nchange to the Samba client (cifs.upcall).\n\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "d6817cdbd143f87f9d7c59a4c3194091190eeb84",
      "tree": "5744bb0cb5d3083f37674d845576d61431b4ebb3",
      "parents": [
        "de6bf18e9ce0df807dab08cff08751cac383429d"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "Joel.Becker@oracle.com",
        "time": "Fri Aug 22 14:30:10 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Aug 25 07:29:47 2008 -0700"
      },
      "message": "ocfs2: Increment the reference count of an already-active stack.\n\nThe ocfs2_stack_driver_request() function failed to increment the\nrefcount of an already-active stack.  It only did the increment on the\nfirst reference.  Whoops.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nTested-by: Marcos Matsunaga \u003cmarcos.matsunaga@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "601c0bc46753007be011b513ba4fc50ed8e30aef",
      "tree": "39017065a8418b60362686a7771afe138e100c08",
      "parents": [
        "761e29f3bb19b05bea55285dfdf2d28e001a63b8"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "ext-adrian.hunter@nokia.com",
        "time": "Fri Aug 22 14:23:35 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Mon Aug 25 14:34:02 2008 +0300"
      },
      "message": "UBIFS: allow for racing between GC and TNC\n\nThe TNC mutex is unlocked prematurely when reading leaf nodes\nwith non-hashed keys.  This is unsafe because the node may be\nmoved by garbage collection and the eraseblock unmapped, although\nthat has never actually happened during stress testing.\n\nThis patch fixes the flaw by detecting the race and retrying with\nthe TNC mutex locked.\n\nSigned-off-by: Adrian Hunter \u003cext-adrian.hunter@nokia.com\u003e\n"
    },
    {
      "commit": "761e29f3bb19b05bea55285dfdf2d28e001a63b8",
      "tree": "36acaae9cbcca6f613c03e29f7e7fe61bb4f243b",
      "parents": [
        "04da11bfcf511544ae19e0a7e5f994b3237752ac"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "ext-adrian.hunter@nokia.com",
        "time": "Wed Aug 20 16:32:40 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Mon Aug 25 14:33:41 2008 +0300"
      },
      "message": "UBIFS: always read hashed-key nodes under TNC mutex\n\nLeaf-nodes that have a hashed key are stored in the\nleaf-node-cache (LNC) which is protected by the TNC\nmutex.  Consequently, when reading a leaf node with\na hashed key (i.e. directory entries, xattr entries)\nthe TNC mutex is always required.\n\nSigned-off-by: Adrian Hunter \u003cext-adrian.hunter@nokia.com\u003e\n"
    },
    {
      "commit": "4cdfe84b51420c9ac95c7133da2d4c8a191094af",
      "tree": "b15ad9cd9d9db1117be13b5da1b00399ee544c70",
      "parents": [
        "59af1584bf33810639cb98d79856021253e2177c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Aug 24 07:45:33 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 25 01:18:10 2008 -0400"
      },
      "message": "[PATCH] deal with the first call of -\u003eshow() generating no output\n\nseq_read() has a subtle bug - we want the first loop there to go\nuntil at least one *non-empty* record had fit entirely into buffer.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "59af1584bf33810639cb98d79856021253e2177c",
      "tree": "dbb7261a2abdef5f1716b27417f8b2b61d42b418",
      "parents": [
        "8f3f655da7288504c1013621090ecc940173ae1c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Aug 24 07:24:41 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 25 01:18:09 2008 -0400"
      },
      "message": "[PATCH] fix -\u003ellseek() for a bunch of directories\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8f3f655da7288504c1013621090ecc940173ae1c",
      "tree": "add84c360aaf940d721166ff2685a27c094cf799",
      "parents": [
        "da574983de9f9283ba35662c8723627096e160de"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Aug 12 00:28:24 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 25 01:18:08 2008 -0400"
      },
      "message": "[PATCH] fix regular readdir() and friends\n\nHandling of -EOVERFLOW.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2690421743b03c9be05d8e44c3b827986d1329a7",
      "tree": "31948543f6aa652c214089768c9e7ed51f13daf0",
      "parents": [
        "e45b590b976465c258f3e2a6cc84573fc19e16d3"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Aug 07 23:50:21 2008 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 25 01:18:06 2008 -0400"
      },
      "message": "[PATCH] ntfs: use d_add_ci\n\nd_add_ci was lifted 1:1 from ntfs.  Change ntfs to use the common\nversion.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e45b590b976465c258f3e2a6cc84573fc19e16d3",
      "tree": "54b795a1acd985b9bcc5adbe057706209a2612d3",
      "parents": [
        "2d8a10cd1760e7ecc07a21e409485947c68a3291"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Aug 07 23:49:07 2008 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 25 01:18:05 2008 -0400"
      },
      "message": "[PATCH] change d_add_ci argument ordering\n\nAs pointed out during review d_add_ci argument order should match d_add,\nso switch the dentry and inode arguments.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2d8a10cd1760e7ecc07a21e409485947c68a3291",
      "tree": "d5fcaac5b05ae344c6250c42ae7ec34114f64ffb",
      "parents": [
        "cc996099174dc05b35b7a29301026987990e7f8c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 11 11:33:57 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 25 01:18:04 2008 -0400"
      },
      "message": "[PATCH] fix efs_lookup()\n\nit needs to use d_splice_alias(), not d_add()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "cc996099174dc05b35b7a29301026987990e7f8c",
      "tree": "bfdb337167e8d33d5fd88a17503821f189485d3e",
      "parents": [
        "6450f65168bcf3c03b5fb44c2fe96682c0d3086b"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Aug 02 07:30:48 2008 +0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 25 01:18:03 2008 -0400"
      },
      "message": "[PATCH] proc: inode number fixlet\n\nOuch, if number taken from IDA is too big, the intent was to signal an\nerror, not check for overflow and still do overflowing addition.\n\nOne still needs 2^28 proc entries to notice this.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7a8fc9b248e77a4eab0613acf30a6811799786b3",
      "tree": "24b3beb8bc0633db27ffdb791f94dce95d51b1d0",
      "parents": [
        "d3ee1b405872214609868f3cde631ac157026dd0"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sun Aug 17 17:36:59 2008 +0300"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 23 12:14:12 2008 -0700"
      },
      "message": "removed unused #include \u003clinux/version.h\u003e\u0027s\n\nThis patch lets the files using linux/version.h match the files that\n#include it.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "de6bf18e9ce0df807dab08cff08751cac383429d",
      "tree": "3e60e9f88b4da4711a34df273c99a348bdc10236",
      "parents": [
        "9780eb6cfaf7d2d5ccc061eaf94e7aec6a17791e"
      ],
      "author": {
        "name": "Louis Rilling",
        "email": "louis.rilling@kerlabs.com",
        "time": "Fri Aug 15 12:37:23 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Aug 22 11:09:02 2008 -0700"
      },
      "message": "[PATCH] configfs: Consolidate locking around configfs_detach_prep() in configfs_rmdir()\n\nIt appears that configfs_rmdir() can protect configfs_detach_prep() retries with\nless calls to {spin,mutex}_{lock,unlock}, and a cleaner code.\n\nThis patch does not change any behavior, except that it removes two useless\nlock/unlock pairs having nothing inside to protect and providing a useless\nbarrier.\n\nSigned-off-by: Louis Rilling \u003clouis.rilling@kerlabs.com\u003e\nSigned-off-by: Joel Becker \u003cJoel.Becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "9780eb6cfaf7d2d5ccc061eaf94e7aec6a17791e",
      "tree": "103ce3e47f06adcf3825902d406d06e6a76fd065",
      "parents": [
        "83cab5338fa8c74f979223698c8d4cc88f2ab68e"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Tue Aug 05 11:32:46 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Aug 22 11:09:02 2008 -0700"
      },
      "message": "ocfs2: correctly set i_blocks after inline dir gets expanded\n\nWe were setting i_blocks based on allocation before the extent insert, which\nis wrong as the value is a calculation based on ip_clusters which gets\nupdated as a result of the insert. This patch moves the line in question\nto just after the call to ocfs2_insert_extent().\n\nWithout this fix, inline directories were temporarily having an i_blocks\nvalue of zero immediately after expansion to extents.\n\nReported-and-tested-by: Tristan Ye \u003ctristan.ye@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "83cab5338fa8c74f979223698c8d4cc88f2ab68e",
      "tree": "3acf8331abe32db8204ba0aba7a708cb1c5a5912",
      "parents": [
        "a1af7d15a18d1e375b0a6fee93789a0bbfe088b4"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Thu Aug 21 14:14:27 2008 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Aug 22 11:09:02 2008 -0700"
      },
      "message": "ocfs2: Jump to correct label in ocfs2_expand_inline_dir()\n\nWhen we fail to insert extent in ocfs2_expand_inline_dir(), we should go to\nout_commit, not out.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "a1af7d15a18d1e375b0a6fee93789a0bbfe088b4",
      "tree": "24af83391b39cf787b7579859682c4050970ed76",
      "parents": [
        "a57a874b04e27cb530a0e18c244387452e73ccce"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Tue Aug 19 17:20:28 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Aug 22 11:08:38 2008 -0700"
      },
      "message": "ocfs2: Fix sleep-with-spinlock recovery regression\n\nThis fixes a bug introduced with 539d8264093560b917ee3afe4c7f74e5da09d6a5:\n    [PATCH 2/2] ocfs2: Fix race between mount and recovery\n\nocfs2_mark_dead_nodes() was reading journal inodes while holding the\nspinlock protecting our in-memory recovery state. The fix is very simple -\nthe disk state is protected by a cluster lock that\u0027s already held, so we\njust move the spinlock down past the read.\n\nReviewed-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "a57a874b04e27cb530a0e18c244387452e73ccce",
      "tree": "95b12c06d13ad9767bf5474bc59fd762e1df5765",
      "parents": [
        "18496e80f729be5f536d0315751b3bbb95ca913e"
      ],
      "author": {
        "name": "Alexander Beregalov",
        "email": "a.beregalov@gmail.com",
        "time": "Wed Aug 06 00:50:41 2008 +0400"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Aug 22 10:56:57 2008 -0700"
      },
      "message": "[PATCH] ocfs2/cluster/netdebug.c: fix warning\n\nocfs2/cluster/netdebug.c: fix warning\n\nfs/ocfs2/cluster/netdebug.c:154: warning: format \u0027%lu\u0027 expects\n     type \u0027long unsigned int\u0027, but argument 17 has type \u0027suseconds_t\u0027\n\nSigned-off-by: Alexander Beregalov \u003ca.beregalov@gmail.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "18496e80f729be5f536d0315751b3bbb95ca913e",
      "tree": "78b5c43b39bdf41571527f421780eb1d5dd9f778",
      "parents": [
        "d3ee1b405872214609868f3cde631ac157026dd0"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Thu Aug 07 00:11:12 2008 +0300"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Aug 22 10:56:40 2008 -0700"
      },
      "message": "[PATCH] ocfs2/cluster/tcp.c: make some functions static\n\nCommit 0f475b2abed6cbccee1da20a0bef2895eb2a0edd (ocfs2/net: Silence build\nwarnings) made sense as far as it fixed compile warnings, but it was not\nrequired that it made the functions global.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "ee26562772f47a6e2030a79b230226b204a410b6",
      "tree": "339b200c2c8e60e9d4b3c75680d3154b6fcd7f52",
      "parents": [
        "43cc071db83b6311a8135f5cc56ae7fae1023504",
        "4537398d91e6e03811ba971d959b762137058c1a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 22 08:37:07 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 22 08:37:07 2008 -0700"
      },
      "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: Update documentation to remind users to update mke2fs.conf\n  ext4: Fix small file fragmentation\n  ext4: Initialize writeback_index to 0 when allocating a new inode\n  ext4: make sure ext4_has_free_blocks returns 0 for ENOSPC\n  ext4: journal credit fix for the delayed allocation\u0027s writepages() function\n  ext4: Rework the ext4_da_writepages() function\n  ext4: journal credits reservation fixes for DIO, fallocate\n  ext4: journal credits reservation fixes for extent file writepage\n  ext4: journal credits calulation cleanup and fix for non-extent writepage\n  ext4: Fix bug where we return ENOSPC even though we have plenty of inodes\n  ext4: don\u0027t try to resize if there are no reserved gdt blocks left\n  ext4: Use ext4_discard_reservations instead of mballoc-specific call\n  ext4: Fix ext4_dx_readdir hash collision handling\n  ext4: Fix delalloc release block reservation for truncate\n  ext4: Fix potential truncate BUG due to i_prealloc_list being non-empty\n  ext4: Handle unwritten extent properly with delayed allocation\n"
    },
    {
      "commit": "04da11bfcf511544ae19e0a7e5f994b3237752ac",
      "tree": "8023d9cd338b2f0c7521df65df41880952310973",
      "parents": [
        "6a55617ed5d1aa62b850de2cf66f5ede2eef4825"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Aug 20 17:16:34 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Thu Aug 21 16:48:52 2008 +0300"
      },
      "message": "UBIFS: fix zero-length truncations\n\nAlways allow truncations to zero, even if budgeting thinks there\nis no space. UBIFS reserves some space for deletions anyway.\n\nOtherwise, the following happans:\n1. create a file, and write as much as possible there, until ENOSPC\n2. truncate the file, which fails with ENOSPC, which is not good.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "82d63fc9e30687c055b97928942b8893ea65b0bb",
      "tree": "c767b9a7a41893c434e85532f3e02515433076f1",
      "parents": [
        "d847471d063663b9f36927d265c66a270c0cfaab"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Wed Aug 20 14:09:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 20 15:40:32 2008 -0700"
      },
      "message": "cramfs: fix named-pipe handling\n\nAfter commit a97c9bf33f4612e2aed6f000f6b1d268b6814f3c (fix cramfs\nmaking duplicate entries in inode cache) in kernel 2.6.14, named-pipe\non cramfs does not work properly.\n\nIt seems the commit make all named-pipe on cramfs share their inode\n(and named-pipe buffer).\n\nMake ..._test() refuse to merge inodes with -\u003ei_ino \u003d\u003d 1, take inode setup\nback to get_cramfs_inode() and make -\u003edrop_inode() evict ones with -\u003ei_ino\n\u003d\u003d 1 immediately.\n\nReported-by: Atsushi Nemoto \u003canemo@mba.ocn.ne.jp\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.14 and later]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2d70b68d42b5196a48ccb639e3797f097ef5bea3",
      "tree": "b3040706cd69e0e7bc6d846e08fd91a441b34310",
      "parents": [
        "141d87e7debe3334018e46859c7565c44cebda65"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "kenchen@google.com",
        "time": "Wed Aug 20 14:09:17 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 20 15:40:32 2008 -0700"
      },
      "message": "fix setpriority(PRIO_PGRP) thread iterator breakage\n\nWhen user calls sys_setpriority(PRIO_PGRP ...) on a NPTL style multi-LWP\nprocess, only the task leader of the process is affected, all other\nsibling LWP threads didn\u0027t receive the setting.  The problem was that the\niterator used in sys_setpriority() only iteartes over one task for each\nprocess, ignoring all other sibling thread.\n\nIntroduce a new macro do_each_pid_thread / while_each_pid_thread to walk\neach thread of a process.  Convert 4 call sites in {set/get}priority and\nioprio_{set/get}.\n\nSigned-off-by: Ken Chen \u003ckenchen@google.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ff9bc512f198eb47204f55b24c6fe3d36ed89592",
      "tree": "e55d1639a5a3f8c0ef1827fae4ff8529d4ffef04",
      "parents": [
        "c82f2966015a2c9708fb8f20694ef7ba8567d2e1"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Aug 20 14:09:10 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 20 15:40:31 2008 -0700"
      },
      "message": "binfmt_misc: fix false -ENOEXEC when coupled with other binary handlers\n\nIn case the binfmt_misc binary handler is registered *before* the e.g.\nscript one (when for example being compiled as a module) the following\nsituation may occur:\n\n1. user launches a script, whose interpreter is a misc binary;\n2. the load_misc_binary sets the misc_bang and returns -ENOEVEC,\n   since the binary is a script;\n3. the load_script_binary loads one and calls for search_binary_hander\n   to run the interpreter;\n4. the load_misc_binary is called again, but refuses to load the\n   binary due to misc_bang bit set.\n\nThe fix is to move the misc_bang setting lower - prior to the actual\ncall to the search_binary_handler.\n\nCaused by the commit 3a2e7f47 (binfmt_misc.c: avoid potential kernel\nstack overflow)\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nReported-by: Kirill A. Shutemov \u003ckirill@shutemov.name\u003e\nTested-by: Kirill A. Shutemov \u003ckirill@shutemov.name\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.26.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1804dc6e145f3f24a8c94deddfc0a986d380a27f",
      "tree": "965ad5f3dfa7c6dc52bdfab7d838a82f78c8ad12",
      "parents": [
        "35fc908dc0e7ab0002ef18787886cc1340028020"
      ],
      "author": {
        "name": "Clement Calmels",
        "email": "cboulte@gmail.com",
        "time": "Wed Aug 20 14:09:00 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 20 15:40:30 2008 -0700"
      },
      "message": "/proc/self/maps doesn\u0027t display the real file offset\n\nThis addresses\n\n\thttp://bugzilla.kernel.org/show_bug.cgi?id\u003d11318\n\nIn function show_map (file: fs/proc/task_mmu.c), if vma-\u003evm_pgoff \u003e 2^20\nthan (vma-\u003evm_pgoff \u003c\u003c PAGE_SIZE) is greater than 2^32 (with PAGE_SIZE\nequal to 4096 (i.e.  2^12).  The next seq_printf use an unsigned long for\nthe conversion of (vma-\u003evm_pgoff \u003c\u003c PAGE_SIZE), as a result the offset\nvalue displayed in /proc/self/maps is truncated if the page offset is\ngreater than 2^20.\n\nA test that shows this issue:\n\n#define _GNU_SOURCE\n#include \u003csys/types.h\u003e\n#include \u003csys/stat.h\u003e\n#include \u003csys/mman.h\u003e\n#include \u003cstdlib.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003cfcntl.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003cstring.h\u003e\n\n#define PAGE_SIZE (getpagesize())\n\n#if __i386__\n#   define U64_STR \"%llx\"\n#elif __x86_64\n#   define U64_STR \"%lx\"\n#else\n#   error \"Architecture Unsupported\"\n#endif\n\nint main(int argc, char *argv[])\n{\n\tint fd;\n\tchar *addr;\n\toff64_t offset \u003d 0x10000000;\n\tchar *filename \u003d \"/dev/zero\";\n\n\tfd \u003d open(filename, O_RDONLY);\n\tif (fd \u003c 0) {\n\t\tperror(\"open\");\n\t\treturn 1;\n\t}\n\n\toffset *\u003d 0x10;\n\tprintf(\"offset \u003d \" U64_STR \"\\n\", offset);\n\n\taddr \u003d (char*)mmap64(NULL, PAGE_SIZE, PROT_READ, MAP_PRIVATE, fd,\n\t\t\t     offset);\n\tif ((void*)addr \u003d\u003d MAP_FAILED) {\n\t\tperror(\"mmap64\");\n\t\treturn 1;\n\t}\n\n\t{\n\t\tFILE *fmaps;\n\t\tchar *line \u003d NULL;\n\t\tsize_t len \u003d 0;\n\t\tssize_t read;\n\t\tsize_t filename_len \u003d strlen(filename);\n\n\t\tfmaps \u003d fopen(\"/proc/self/maps\", \"r\");\n\t\tif (!fmaps) {\n\t\t\tperror(\"fopen\");\n\t\t\treturn 1;\n\t\t}\n\t\twhile ((read \u003d getline(\u0026line, \u0026len, fmaps)) !\u003d -1) {\n\t\t\tif ((read \u003e filename_len + 1)\n\t\t\t    \u0026\u0026 (strncmp(\u0026line[read - filename_len - 1], filename, filename_len) \u003d\u003d 0))\n\t\t\t\tprintf(\"%s\", line);\n\t\t}\n\n\t\tif (line)\n\t\t\tfree(line);\n\n\t\tfclose(fmaps);\n\t}\n\n\tclose(fd);\n\treturn 0;\n}\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Clement Calmels \u003ccboulte@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1bbe44f69d7ea20740aaf5aba356e331a74b58b3",
      "tree": "4e71676275f2de09672d347244fc1b2bb67f39b1",
      "parents": [
        "8498ffd66774ce0e8550afc61a56b2cbeee77e9c",
        "9b9d6b2a4f6df5544a10de44760755fe757259e5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 20 08:46:11 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 20 08:46:11 2008 -0700"
      },
      "message": "Merge branch \u0027sh/for-2.6.27\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6\n\n* \u0027sh/for-2.6.27\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6:\n  sh: Provide a FLAT_PLAT_INIT() definition.\n  binfmt_flat: Stub in a FLAT_PLAT_INIT().\n  video: export sh_mobile_lcdc panel size\n  sh: select memchunk size using kernel cmdline\n  sh: export sh7723 VEU as VEU2H\n  input: migor_ts compile and detection fix\n  sh: remove MSTPCR defines from Migo-R header file\n  sh: Update sh7763rdp defconfig\n  sh: Add support sh7760fb to sh7763rdp board\n  sh: Add support sh_eth to sh7763rdp board\n  sh: Disable 64kB hugetlbpage size when using 64kB PAGE_SIZE.\n  sh: Don\u0027t export __{s,u}divsi3_i4i from SH-2 libgcc.\n  fix SH7705_CACHE_32KB compilation\n  sh: mach-x3proto: Fix up smc91x platform data.\n"
    },
    {
      "commit": "5f22ca9b13551debea77a407a8d06cd9c6f15238",
      "tree": "435b5eef62fd4a67f66a690e243b529ca475750b",
      "parents": [
        "395c68464cffbc645919a93d6111bc15201167f3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 20 08:31:19 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 20 08:31:19 2008 -0700"
      },
      "message": "vfat: fix \u0027sync\u0027 mount deadlock due to BKL-\u003elock_super conversion\n\nThere was another FAT BKL conversion deadlock reported by Bart\nTrojanowski due to the BKL being used as a recursive lock by FAT, which\nwas missed because it only triggers with \u0027sync\u0027 (or \u0027dirsync\u0027) mounts.\n\nThe recursion worked for the BKL, but after the conversion to lock_super\n(which uses a mutex), it just deadlocks.\n\nThanks to Bart for debugging this and testing the fix.  The lock\ndebugging information from the original 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\n  [ INFO: possible recursive locking detected ]\n  2.6.27-rc3-bisect-00448-ga7f5aaf #16\n  ---------------------------------------------\n  mv/4020 is trying to acquire lock:\n   (\u0026type-\u003es_lock_key#9){--..}, at: [\u003cc01a90fe\u003e] lock_super+0x1e/0x20\n\n  but task is already holding lock:\n   (\u0026type-\u003es_lock_key#9){--..}, at: [\u003cc01a90fe\u003e] lock_super+0x1e/0x20\n\n  other info that might help us debug this:\n  3 locks held by mv/4020:\n   #0:  (\u0026sb-\u003es_type-\u003ei_mutex_key#9/1){--..}, at: [\u003cc01b2336\u003e] do_unlinkat+0x66/0x140\n   #1:  (\u0026sb-\u003es_type-\u003ei_mutex_key#9){--..}, at: [\u003cc01b0954\u003e] vfs_unlink+0x84/0x110\n   #2:  (\u0026type-\u003es_lock_key#9){--..}, at: [\u003cc01a90fe\u003e] lock_super+0x1e/0x20\n\n  stack backtrace:\n  Pid: 4020, comm: mv Not tainted 2.6.27-rc3-bisect-00448-ga7f5aaf #16\n   [\u003cc014e694\u003e] validate_chain+0x984/0xea0\n   [\u003cc0108d70\u003e] ? native_sched_clock+0x0/0xf0\n   [\u003cc014ee9c\u003e] __lock_acquire+0x2ec/0x9b0\n   [\u003cc014f5cf\u003e] lock_acquire+0x6f/0x90\n   [\u003cc01a90fe\u003e] ? lock_super+0x1e/0x20\n   [\u003cc044e5fd\u003e] mutex_lock_nested+0xad/0x300\n   [\u003cc01a90fe\u003e] ? lock_super+0x1e/0x20\n   [\u003cc01a90fe\u003e] ? lock_super+0x1e/0x20\n   [\u003cc01a90fe\u003e] lock_super+0x1e/0x20\n   [\u003cf8b3a700\u003e] fat_write_inode+0x60/0x2b0 [fat]\n   [\u003cc0450878\u003e] ? _spin_unlock_irqrestore+0x48/0x80\n   [\u003cf8b3a953\u003e] ? fat_sync_inode+0x3/0x20 [fat]\n   [\u003cf8b3a962\u003e] fat_sync_inode+0x12/0x20 [fat]\n   [\u003cf8b37c7e\u003e] fat_remove_entries+0xbe/0x120 [fat]\n   [\u003cf8b422ef\u003e] vfat_unlink+0x5f/0x90 [vfat]\n   [\u003cf8b42290\u003e] ? vfat_unlink+0x0/0x90 [vfat]\n   [\u003cc01b0968\u003e] vfs_unlink+0x98/0x110\n   [\u003cc01b2400\u003e] do_unlinkat+0x130/0x140\n   [\u003cc016a8f5\u003e] ? audit_syscall_entry+0x105/0x150\n   [\u003cc01b253b\u003e] sys_unlinkat+0x3b/0x40\n   [\u003cc01040d3\u003e] sysenter_do_call+0x12/0x3f\n   \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nwhere the deadlock is due to the nesting of lock_super from vfat_unlink\nto fat_write_inode:\n\n - do_unlinkat\n   - vfs_unlink\n     - vfat_unlink\n       * lock_super\n       - fat_remove_entries\n         - fat_sync_inode\n           - fat_write_inode\n             * lock_super\n\nand the fix is to simply remove the use of lock_super() in fat_write_inode.\n\nThe lock_super() there had been just an automatic conversion of the\nkernel lock to the superblock lock, but no locking was actually needed\nthere, since the code in fat_write_inode already protected all relevant\naccesses with a spinlock (sbi-\u003einode_hash_lock to be exact).  The only\ncode inside the BKL (and thus the superblock lock) was accesses tp local\nvariables or calls to functions that have long been SMP-safe (i.e.\nsb_bread, mark_buffe_dirty and brlese).\n\nBart reports:\n \"Looks good.  I ran 10 parallel processes creating 1M files truncating\n  them, writing to them again and then deleting them.  This patch fixes\n  the issue I ran into.\n\n  Signed-off-by: Bart Trojanowski \u003cbart@jukie.net\u003e\"\n\nReported-and-tested-by: Bart Trojanowski \u003cbart@jukie.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3d2af3465e91335bd1dbf36b19e92079d901409f",
      "tree": "828c313011e8f70f030ef872012f63238fc14362",
      "parents": [
        "c16fefa56334e8d0197492607e473fdbb813073f"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Aug 19 20:51:09 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Aug 19 20:51:09 2008 +0000"
      },
      "message": "[CIFS] Kerberos support not considered experimental anymore\n\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "c16fefa56334e8d0197492607e473fdbb813073f",
      "tree": "8dc227ea6a712939ce216dd93746dc9baa4ee13f",
      "parents": [
        "cb7691b648bddbfaf6dd8d8068273dbb18d2484c"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Aug 19 19:35:33 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Aug 19 19:35:33 2008 +0000"
      },
      "message": "[CIFS] distinguish between Kerberos and MSKerberos in upcall\n\nProperly handle MSKRB5 by passing sec\u003dmskrb5 to the upcall so that the\nspengo blob can be generated appropriately. Also, make\ndecode_negTokenInit prefer whichever mechanism is first in the list.\n\nNeeded for some NetApp servers, and possibly some older\nversions of Windows which treat the two KRB5 mechanisms differently.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "cb7691b648bddbfaf6dd8d8068273dbb18d2484c",
      "tree": "74c896711abf398255cec10c7b6eb67070bc5ca0",
      "parents": [
        "aab3a8c7a3a6a001dd439ed00d4db17a1059803e"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Aug 18 15:41:05 2008 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Aug 19 17:11:35 2008 +0000"
      },
      "message": "cifs: add local server pointer to cifs_setup_session\n\ncifs_setup_session references pSesInfo-\u003eserver several times. That\npointer shouldn\u0027t change during the life of the function so grab it\nonce and store it in a local var. This makes the code look a little\ncleaner too.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "aab3a8c7a3a6a001dd439ed00d4db17a1059803e",
      "tree": "45e156bc129f9d6276dad3d54d66cfbf3d3ac3d5",
      "parents": [
        "1fca25427482387689fa27594c992a961d98768f"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Tue Aug 19 14:23:37 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Aug 19 14:23:37 2008 +0000"
      },
      "message": "[CIFS] reindent misindented statement\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "97e1cfb08616987878f91a46cefdd7fc5fa3dba1",
      "tree": "58442dfca90b9184a09c2b1ab1d7252a4100e296",
      "parents": [
        "db0badc58e948b810c7a75cfcc48845e2949ee37"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Aug 18 13:44:48 2008 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Aug 19 11:05:05 2008 +0200"
      },
      "message": "udf: Fix error paths in udf_new_inode()\n\nI case we failed to allocate memory for inode when creating it, we did not\nproperly free block already allocated for this inode. Move memory allocation\nbefore the block allocation which fixes this issue (thanks for the idea go to\nIngo Oeser \u003cioe-lkml@rameria.de\u003e). Also remove a few superfluous\ninitializations already done in udf_alloc_inode().\n\nReviewed-by: Ingo Oeser \u003cioe-lkml@rameria.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "db0badc58e948b810c7a75cfcc48845e2949ee37",
      "tree": "c6070b1d9ef4989bf1d73eecf9560c78980bab84",
      "parents": [
        "b635acec48bcaa9183fcbf4e3955616b0d4119b5"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Aug 18 13:40:18 2008 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Aug 19 11:04:36 2008 +0200"
      },
      "message": "udf: Fix lock inversion between iprune_mutex and alloc_mutex (v2)\n\nA memory allocation inside alloc_mutex must not recurse back into the\nfilesystem itself because that leads to lock inversion between iprune_mutex and\nalloc_mutex (and thus to deadlocks - see traces below). alloc_mutex is actually\nneeded only to update allocation statistics in the superblock so we can drop it\nbefore we start allocating memory for the inode.\n\ntar           D ffff81015b9c8c90     0  6614   6612\n ffff8100d5a21a20 0000000000000086 0000000000000000 00000000ffff0000\n ffff81015b9c8c90 ffff81015b8f0cd0 ffff81015b9c8ee0 0000000000000000\n 0000000000000003 0000000000000000 0000000000000000 0000000000000000\nCall Trace:\n [\u003cffffffff803c1d8a\u003e] __mutex_lock_slowpath+0x64/0x9b\n [\u003cffffffff803c1bef\u003e] mutex_lock+0xa/0xb\n [\u003cffffffff8027f8c2\u003e] shrink_icache_memory+0x38/0x200\n [\u003cffffffff80257742\u003e] shrink_slab+0xe3/0x15b\n [\u003cffffffff802579db\u003e] try_to_free_pages+0x221/0x30d\n [\u003cffffffff8025657e\u003e] isolate_pages_global+0x0/0x31\n [\u003cffffffff8025324b\u003e] __alloc_pages_internal+0x252/0x3ab\n [\u003cffffffff8026b08b\u003e] cache_alloc_refill+0x22e/0x47b\n [\u003cffffffff8026ae37\u003e] kmem_cache_alloc+0x3b/0x61\n [\u003cffffffff8026b15b\u003e] cache_alloc_refill+0x2fe/0x47b\n [\u003cffffffff8026b34e\u003e] __kmalloc+0x76/0x9c\n [\u003cffffffffa00751f2\u003e] :udf:udf_new_inode+0x202/0x2e2\n [\u003cffffffffa007ae5e\u003e] :udf:udf_create+0x2f/0x16d\n [\u003cffffffffa0078f27\u003e] :udf:udf_lookup+0xa6/0xad\n...\nkswapd0       D ffff81015b9d9270     0   125      2\n ffff81015b903c28 0000000000000046 ffffffff8028cbb0 00000000fffffffb\n ffff81015b9d9270 ffff81015b8f0cd0 ffff81015b9d94c0 000000000271b490\n ffffe2000271b458 ffffe2000271b420 ffffe20002728dc8 ffffe20002728d90\nCall Trace:\n [\u003cffffffff8028cbb0\u003e] __set_page_dirty+0xeb/0xf5\n [\u003cffffffff8025403a\u003e] get_dirty_limits+0x1d/0x22f\n [\u003cffffffff803c1d8a\u003e] __mutex_lock_slowpath+0x64/0x9b\n [\u003cffffffff803c1bef\u003e] mutex_lock+0xa/0xb\n [\u003cffffffffa0073f58\u003e] :udf:udf_bitmap_free_blocks+0x47/0x1eb\n [\u003cffffffffa007df31\u003e] :udf:udf_discard_prealloc+0xc6/0x172\n [\u003cffffffffa007875a\u003e] :udf:udf_clear_inode+0x1e/0x48\n [\u003cffffffff8027f121\u003e] clear_inode+0x6d/0xc4\n [\u003cffffffff8027f7f2\u003e] dispose_list+0x56/0xee\n [\u003cffffffff8027fa5a\u003e] shrink_icache_memory+0x1d0/0x200\n [\u003cffffffff80257742\u003e] shrink_slab+0xe3/0x15b\n [\u003cffffffff80257e93\u003e] kswapd+0x346/0x447\n...\n\nReported-by: Tibor Tajti \u003ctibor.tajti@gmail.com\u003e\nReviewed-by: Ingo Oeser \u003cioe-lkml@rameria.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "45edb89ffd6386f95a7a9e1e5461b0e61c76aa14",
      "tree": "e98cdb2860f6ac4e4bb6b2e233a1032eb18d08bb",
      "parents": [
        "8c9a9dd0fa3a269d380eaae2dc1bee39e865fae1",
        "ad661334b8ae421154b121ee6ad3b56807adbf11"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 15 11:02:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 15 11:02:35 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:\n  [CIFS] mount of IPC$ breaks with iget patch\n  [CIFS] remove trailing whitespace\n  [CIFS] if get root inode fails during mount, cleanup tree connection\n"
    },
    {
      "commit": "21d3bdb1606311a2900eabccfcb5a887952e2c44",
      "tree": "e4aebcff13178d18dc86e5ac760ac5f209243322",
      "parents": [
        "3141eb6c50f1dafa99874e702d8b444034e2bb10",
        "c78c7e35a4709b55d3126624662c8f6d7e3d1a5e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 15 10:33:07 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 15 10:33:07 2008 -0700"
      },
      "message": "Merge branch \u0027linux-next\u0027 of git://git.infradead.org/~dedekind/ubifs-2.6\n\n* \u0027linux-next\u0027 of git://git.infradead.org/~dedekind/ubifs-2.6: (29 commits)\n  UBIFS: xattr bugfixes\n  UBIFS: remove unneeded check\n  UBIFS: few commentary fixes\n  UBIFS: fix budgeting request alignment in xattr code\n  UBIFS: improve arguments checking in debugging messages\n  UBIFS: always set i_generation to 0\n  UBIFS: correct spelling of \"thrice\".\n  UBIFS: support splice_write\n  UBIFS: minor tweaks in commit\n  UBIFS: reserve more space for index\n  UBIFS: print pid in dump function\n  UBIFS: align inode data to eight\n  UBIFS: improve budgeting checks\n  UBIFS: correct orphan deletion order\n  UBIFS: fix typos in comments\n  UBIFS: do not union creat_sqnum and del_cmtno\n  UBIFS: optimize deletions\n  UBIFS: increment commit number earlier\n  UBIFS: remove another unneeded function parameter\n  UBIFS: remove unneeded function parameter\n  ...\n"
    },
    {
      "commit": "9419fc1c957d600093baaea247fef23cca3b4e93",
      "tree": "532606ac97d86d8952ffcdd8f8513b1499c10bf8",
      "parents": [
        "c963343a1150106819773e828c9b237ed977615b"
      ],
      "author": {
        "name": "Bob Copeland",
        "email": "me@bobcopeland.com",
        "time": "Fri Aug 15 00:40:47 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 15 08:35:44 2008 -0700"
      },
      "message": "omfs: fix oops when file metadata is corrupted\n\nA fuzzed fileystem image failed with OMFS when the extent count was\nused in a loop without being checked against the max number of extents.\nIt also provoked a signed division for an array index that was checked\nas if unsigned, leading to index by -1.\n\nomfsck will be updated to fix these cases, in the meantime bail out\ngracefully.\n\nReported-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nSigned-off-by: Bob Copeland \u003cme@bobcopeland.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c963343a1150106819773e828c9b237ed977615b",
      "tree": "abfcd2e27cb436315f835cd746c45e56c5397080",
      "parents": [
        "be4de35263f59ca1f4740edfffbfb02cc3f2189e"
      ],
      "author": {
        "name": "Bob Copeland",
        "email": "me@bobcopeland.com",
        "time": "Fri Aug 15 00:40:46 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 15 08:35:44 2008 -0700"
      },
      "message": "omfs: fix potential oops when directory size is corrupted\n\nTesting with a modified fsfuzzer reveals a couple of locations in omfs\nwhere filesystem variables are ultimately used as loop counters with\ninsufficient sanity checking.  In this case, dir-\u003ei_size is used to\ncompute the number of buckets in the directory hash.  If too large,\nreaddir will overrun a buffer.\n\nSince it\u0027s an invariant that dir-\u003ei_size is equal to the sysblock\nsize, and we already sanity check that, just use that value instead.\nThis fixes the following oops:\n\nBUG: unable to handle kernel paging request at c978e004\nIP: [\u003cc032298e\u003e] omfs_readdir+0x18e/0x32f\nOops: 0000 [#1] PREEMPT DEBUG_PAGEALLOC\nModules linked in:\n\nPid: 4796, comm: ls Not tainted (2.6.27-rc2 #12)\nEIP: 0060:[\u003cc032298e\u003e] EFLAGS: 00010287 CPU: 0\nEIP is at omfs_readdir+0x18e/0x32f\nEAX: c978d000 EBX: 00000000 ECX: cbfcfaf8 EDX: cb2cf100\nESI: 00001000 EDI: 00000800 EBP: cb2d3f68 ESP: cb2d3f0c\n DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068\nProcess ls (pid: 4796, ti\u003dcb2d3000 task\u003dcb175f40 task.ti\u003dcb2d3000)\nStack: 00000002 00000000 00000000 c018a820 cb2d3f94 cb2cf100 cbfb0000 ffffff10\n       cbfb3b80 cbfcfaf8 000001c9 00000a09 00000000 00000000 00000000 cbfcfbc8\n       c9697000 cbfb3b80 22222222 00001000 c08e6cd0 cb2cf100 cbfb3b80 cb2d3f88\nCall Trace:\n [\u003cc018a820\u003e] ? filldir64+0x0/0xcd\n [\u003cc018a9f2\u003e] ? vfs_readdir+0x56/0x82\n [\u003cc018a820\u003e] ? filldir64+0x0/0xcd\n [\u003cc018aa7c\u003e] ? sys_getdents64+0x5e/0xa0\n [\u003cc01038bd\u003e] ? sysenter_do_call+0x12/0x31\n \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nCode: 00 89 f0 89 f3 0f ac f8 14 81 e3 ff ff 0f 00 48 8d\n14 c5 b8 01 00 00 89 45 cc 89 55 f0 e9 8c 01 00 00 8b 4d c8 8b 75 f0 8b\n41 18 \u003c8b\u003e 54 30 04 8b 04 30 31 f6 89 5d dc 89 d1 8b 55 b8 0f c8 0f c9\n\nReported-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nSigned-off-by: Bob Copeland \u003cme@bobcopeland.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7d455e0030eeab820773e7786605be4d9e56a04b",
      "tree": "a388a21fac6ab04e75fb7a722a6abd095ab997a1",
      "parents": [
        "75312619e8cd47265da210189cca57ab09640b18"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Aug 15 00:40:43 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 15 08:35:44 2008 -0700"
      },
      "message": "fs/inode.c: properly init address_space-\u003ewriteback_index\n\nwrite_cache_pages() uses i_mapping-\u003ewriteback_index to pick up where it\nleft off the last time a given inode was found by pdflush or\nbalance_dirty_pages (or anyone else who sets wbc-\u003erange_cyclic)\n\nalloc_inode() should set it to a sane value so that writeback doesn\u0027t\nstart in the middle of a file.  It is somewhat difficult to notice the bug\nsince write_cache_pages will loop around to the start of the file and the\nelevator helps hide the resulting seeks.\n\nFor whatever reason, Btrfs hits this often.  Unpatched, untarring 30\ncopies of the linux kernel in series runs at 47MB/s on a single sata\ndrive.  With this fix, it jumps to 62MB/s.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c78c7e35a4709b55d3126624662c8f6d7e3d1a5e",
      "tree": "f36f56651f50f51b7e79451d0986e3656da0269d",
      "parents": [
        "720b499c806200d06f4f22c668d46db784117089"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Aug 12 16:30:12 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Thu Aug 14 12:46:20 2008 +0300"
      },
      "message": "UBIFS: xattr bugfixes\n\nXattr code has not been tested for a while and there were\nserveral bugs. One of them is using wrong inode in\n\u0027ubifs_jnl_change_xattr()\u0027. The other is a deadlock in\n\u0027ubifs_setxattr()\u0027: the i_mutex is locked in\n\u0027cap_inode_need_killpriv()\u0027 path, so deadlock happens when\n\u0027ubifs_setxattr()\u0027 tries to lock it again.\n\nThanks to Zoltan Sogor for finding these bugs.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    }
  ],
  "next": "ad661334b8ae421154b121ee6ad3b56807adbf11"
}
