)]}'
{
  "log": [
    {
      "commit": "1ef6ce7a340f9ed139a73147ff9cf7ad56889414",
      "tree": "a77e01134ae46b79262dbf97614df7be920965f2",
      "parents": [
        "458f8c895beba63851281dcdac3773685f0fae09",
        "2545cf6e94b4eb5a2c48dd55751aa9a70ff1ff9d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 21 12:33:12 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 21 12:33:12 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:\n  m68knommu: allow 4 coldfire serial ports\n  m68knommu: fix coldfire tcdrain\n  m68knommu: remove a duplicate vector setting line for 68360\n  Fix m68k-uclinux\u0027s rt_sigreturn trampoline\n  m68knommu: correct the CC flags for Coldfire M5272 targets\n  uclinux: error message when FLAT reloc symbol is invalid, v2\n"
    },
    {
      "commit": "255f41c59558a346d65a2012420a7573e36dc584",
      "tree": "a802e21e60c7e342ad72319853b64e214091b6a9",
      "parents": [
        "9befb55ef51ad69dd67e279b0533d4cbc5e4c6c0",
        "b6349ac89eacb813f6963f7263da05bc3f483351"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 21 12:31:12 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 21 12:31:12 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/joern/logfs\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/joern/logfs:\n  [LogFS] Split large truncated into smaller chunks\n  [LogFS] Set s_bdi\n  [LogFS] Prevent mempool_destroy NULL pointer dereference\n  [LogFS] Move assertion\n  [LogFS] Plug 8 byte information leak\n  [LogFS] Prevent memory corruption on large deletes\n  [LogFS] Remove unused method\n\nFix trivial conflict with added header includes in fs/logfs/super.c\n"
    },
    {
      "commit": "9befb55ef51ad69dd67e279b0533d4cbc5e4c6c0",
      "tree": "1270f24f89f10d832e879dd1352ef0209dd3aebe",
      "parents": [
        "a486b0af797e19ff79c6943cc8986111f2569fe8",
        "c7f2e1f0ac142a657a1de00d404e1c8345b20598"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 21 12:30:07 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 21 12:30:07 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6:\n  jfs: add jfs specific -\u003esetattr call\n  jfs: fix diAllocExt error in resizing filesystem\n  jfs_dmap.[ch]: trivial typo fix: s/heigth/height/g\n"
    },
    {
      "commit": "083fd8b21a13742b37ab347089c73f895a896672",
      "tree": "175030e7b74d83d768529b9d910b852f097a71c7",
      "parents": [
        "05ce7bfe547c9fa967d9cab6c37867a9cb6fb3fa"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Apr 21 12:01:23 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 21 12:27:43 2010 -0700"
      },
      "message": "AFS: Don\u0027t pass error value to page_cache_release() in error handling\n\nIn the error handling in afs_mntpt_do_automount(), we pass an error\npointer to page_cache_release() if read_mapping_page() failed.  Instead,\nwe should extend the gotos around the error handling we don\u0027t need.\n\nReported-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d7dfee3f5db5575b1d838744559c3c9bb351f74f",
      "tree": "8b134f197ee41daeac6a8563f51ce3c6156c0257",
      "parents": [
        "05ce7bfe547c9fa967d9cab6c37867a9cb6fb3fa"
      ],
      "author": {
        "name": "Jun Sun",
        "email": "jsun@junsun.net",
        "time": "Thu Dec 31 17:28:52 2009 -0800"
      },
      "committer": {
        "name": "Greg Ungerer",
        "email": "gerg@uclinux.org",
        "time": "Wed Apr 21 13:28:49 2010 +1000"
      },
      "message": "uclinux: error message when FLAT reloc symbol is invalid, v2\n\nThis patch fixes a cosmetic error in printk. Text segment and data/bss\nsegment are allocated from two different areas. It is not meaningful to\ngive the diff between them in the error reporting messages.\n\nSigned-off-by: Jun Sun \u003cjsun@junsun.net\u003e\nSigned-off-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\n"
    },
    {
      "commit": "b6349ac89eacb813f6963f7263da05bc3f483351",
      "tree": "6027a84ee332ea1598d1ac66d9345770da38d5fe",
      "parents": [
        "b8639077abf034824046ed09e779b74c4393031f"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Apr 20 21:44:10 2010 +0200"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Apr 20 21:44:10 2010 +0200"
      },
      "message": "[LogFS] Split large truncated into smaller chunks\n\nTruncate would do an almost limitless amount of work without invoking\nthe garbage collector in between.  Split it up into more manageable,\nthough still large, chunks.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "05ce7bfe547c9fa967d9cab6c37867a9cb6fb3fa",
      "tree": "e1c4331ac8db1c28d3ea4c055353c783cf7f01ac",
      "parents": [
        "27ee8963708185b96bc84a149eb5336a249a7497",
        "62af9b520513d78484f22f874916dfacbc889ce0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 20 09:39:40 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 20 09:39:40 2010 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6:\n  quota: Convert __DQUOT_PARANOIA symbol to standard config option\n"
    },
    {
      "commit": "62af9b520513d78484f22f874916dfacbc889ce0",
      "tree": "e5c13d868166380105c3d491b8d380fe220e6484",
      "parents": [
        "08261673cb6dc638c39f44d69b76fffb57b92a8b"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Apr 19 16:47:20 2010 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Apr 20 18:25:25 2010 +0200"
      },
      "message": "quota: Convert __DQUOT_PARANOIA symbol to standard config option\n\nMake __DQUOT_PARANOIA define from the old days a standard config option\nand turn it off by default.\n\nThis gets rid of a quota warning about writes before quota is turned on\nfor systems with ext4 root filesystem. Currently there\u0027s no way to legally\nsolve this because /etc/mtab has to be written before quota is turned on\non most systems.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "9b030e2006546366c832911ca5eb9e785408795b",
      "tree": "fe2b5913249c047fc8d7f851f7a6a0049825e2d3",
      "parents": [
        "76e506a754c9519ba0a948b475a62f31fac8b599",
        "9f37622f897a90ad3c3da5c14d94d8f3ffc62b70"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 19 14:20:32 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 19 14:20:32 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6:\n  eCryptfs: Turn lower lookup error messages into debug messages\n  eCryptfs: Copy lower directory inode times and size on link\n  ecryptfs: fix use with tmpfs by removing d_drop from ecryptfs_destroy_inode\n  ecryptfs: fix error code for missing xattrs in lower fs\n  eCryptfs: Decrypt symlink target for stat size\n  eCryptfs: Strip metadata in xattr flag in encrypted view\n  eCryptfs: Clear buffer before reading in metadata xattr\n  eCryptfs: Rename ecryptfs_crypt_stat.num_header_bytes_at_front\n  eCryptfs: Fix metadata in xattr feature regression\n"
    },
    {
      "commit": "9f37622f897a90ad3c3da5c14d94d8f3ffc62b70",
      "tree": "dbed84aa76784f22b20c0fee847b43c15dd29f72",
      "parents": [
        "3a8380c0754a7972668a46f645930910e304095c"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Thu Mar 25 11:16:56 2010 -0500"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Mon Apr 19 14:42:18 2010 -0500"
      },
      "message": "eCryptfs: Turn lower lookup error messages into debug messages\n\nVaugue warnings about ENAMETOOLONG errors when looking up an encrypted\nfile name have caused many users to become concerned about their data.\nSince this is a rather harmless condition, I\u0027m moving this warning to\nonly be printed when the ecryptfs_verbosity module param is 1.\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "3a8380c0754a7972668a46f645930910e304095c",
      "tree": "85bc2f8551aa121f0a40f4b5bb24b7c58da35b16",
      "parents": [
        "133b8f9d632cc23715c6d72d1c5ac449e054a12a"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Tue Mar 23 18:09:02 2010 -0500"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Mon Apr 19 14:42:15 2010 -0500"
      },
      "message": "eCryptfs: Copy lower directory inode times and size on link\n\nThe timestamps and size of a lower inode involved in a link() call was\nbeing copied to the upper parent inode.  Instead, we should be\ncopying lower parent inode\u0027s timestamps and size to the upper parent\ninode.  I discovered this bug using the POSIX test suite at Tuxera.\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "133b8f9d632cc23715c6d72d1c5ac449e054a12a",
      "tree": "4559634958e6da3f7a3e2b5ae1229b9e3924d5fa",
      "parents": [
        "cfce08c6bdfb20ade979284e55001ca1f100ed51"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@jeffreymahoney.com",
        "time": "Fri Mar 19 15:35:46 2010 -0400"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Mon Apr 19 14:42:13 2010 -0500"
      },
      "message": "ecryptfs: fix use with tmpfs by removing d_drop from ecryptfs_destroy_inode\n\nSince tmpfs has no persistent storage, it pins all its dentries in memory\nso they have d_count\u003d1 when other file systems would have d_count\u003d0.\n-\u003elookup is only used to create new dentries. If the caller doesn\u0027t\ninstantiate it, it\u0027s freed immediately at dput(). -\u003ereaddir reads\ndirectly from the dcache and depends on the dentries being hashed.\n\nWhen an ecryptfs mount is mounted, it associates the lower file and dentry\nwith the ecryptfs files as they\u0027re accessed. When it\u0027s umounted and\ndestroys all the in-memory ecryptfs inodes, it fput\u0027s the lower_files and\nd_drop\u0027s the lower_dentries. Commit 4981e081 added this and a d_delete in\n2008 and several months later commit caeeeecf removed the d_delete. I\nbelieve the d_drop() needs to be removed as well.\n\nThe d_drop effectively hides any file that has been accessed via ecryptfs\nfrom the underlying tmpfs since it depends on it being hashed for it to\nbe accessible. I\u0027ve removed the d_drop on my development node and see no\nill effects with basic testing on both tmpfs and persistent storage.\n\nAs a side effect, after ecryptfs d_drops the dentries on tmpfs, tmpfs\nBUGs on umount. This is due to the dentries being unhashed.\ntmpfs-\u003ekill_sb is kill_litter_super which calls d_genocide to drop\nthe reference pinning the dentry. It skips unhashed and negative dentries,\nbut shrink_dcache_for_umount_subtree doesn\u0027t. Since those dentries\nstill have an elevated d_count, we get a BUG().\n\nThis patch removes the d_drop call and fixes both issues.\n\nThis issue was reported at:\nhttps://bugzilla.novell.com/show_bug.cgi?id\u003d567887\n\nReported-by:  Árpád Bíró \u003cbiroa@demasz.hu\u003e\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\nCc: Dustin Kirkland \u003ckirkland@canonical.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "cfce08c6bdfb20ade979284e55001ca1f100ed51",
      "tree": "598510daaec037baf1088533cd366b5f37c05a1c",
      "parents": [
        "3a60a1686f0d51c99bd0df8ac93050fb6dfce647"
      ],
      "author": {
        "name": "Christian Pulvermacher",
        "email": "pulvermacher@gmx.de",
        "time": "Tue Mar 23 11:51:38 2010 -0500"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Mon Apr 19 14:42:09 2010 -0500"
      },
      "message": "ecryptfs: fix error code for missing xattrs in lower fs\n\nIf the lower file system driver has extended attributes disabled,\necryptfs\u0027 own access functions return -ENOSYS instead of -EOPNOTSUPP.\nThis breaks execution of programs in the ecryptfs mount, since the\nkernel expects the latter error when checking for security\ncapabilities in xattrs.\n\nSigned-off-by: Christian Pulvermacher \u003cpulvermacher@gmx.de\u003e\nCc: stable@kernel.org\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "3a60a1686f0d51c99bd0df8ac93050fb6dfce647",
      "tree": "8b1a32c122e86022f6397a9f5e82900783717aab",
      "parents": [
        "f4e60e6b303bc46cdc477d3174dbf9cb5dd013aa"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Mon Mar 22 00:41:35 2010 -0500"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Mon Apr 19 14:41:51 2010 -0500"
      },
      "message": "eCryptfs: Decrypt symlink target for stat size\n\nCreate a getattr handler for eCryptfs symlinks that is capable of\nreading the lower target and decrypting its path.  Prior to this patch,\na stat\u0027s st_size field would represent the strlen of the encrypted path,\nwhile readlink() would return the strlen of the decrypted path.  This\ncould lead to confusion in some userspace applications, since the two\nvalues should be equal.\n\nhttps://bugs.launchpad.net/bugs/524919\n\nReported-by: Loïc Minier \u003cloic.minier@canonical.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "b8639077abf034824046ed09e779b74c4393031f",
      "tree": "4b880158818468024f6e8e09cba5b3a76ca994b9",
      "parents": [
        "1f1b0008e8dd1930d6e89522c70f4a438374302a"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Sat Apr 17 19:54:27 2010 +0200"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Sat Apr 17 19:54:27 2010 +0200"
      },
      "message": "[LogFS] Set s_bdi\n\nSince 32a88aa1 sync() was turned into a NOP for logfs.  Worse, sync()\nwould not return an error, giving the illusion that writeout had\nactually happened.\n\nAfaics jffs2 was broken as well.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "f1d486a3617a2f620b31224e4ace1496c4627e39",
      "tree": "82eae8ca41e529690c2b71d712e886161e786e6b",
      "parents": [
        "b6f8dd49dbdbfa60a33bba3d4b766fe341109b4b"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Tue Apr 13 15:06:45 2010 +1000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Apr 16 13:51:44 2010 -0500"
      },
      "message": "xfs: don\u0027t warn on EAGAIN in inode reclaim\n\nAny inode reclaim flush that returns EAGAIN will result in the inode\nreclaim being attempted again later. There is no need to issue a\nwarning into the logs about this situation.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "b6f8dd49dbdbfa60a33bba3d4b766fe341109b4b",
      "tree": "75e492661ba039ce6a2d36277cccc41a27205384",
      "parents": [
        "dc57da3875f527b1cc195ea4ce5bd32e1e68433d"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Tue Apr 13 15:06:44 2010 +1000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Apr 16 13:51:23 2010 -0500"
      },
      "message": "xfs: ensure that sync updates the log tail correctly\n\nUpdates to the VFS layer removed an extra -\u003esync_fs call into the\nfilesystem during the sync process (from the quota code).\nUnfortunately the sync code was unknowingly relying on this call to\nmake sure metadata buffers were flushed via a xfs_buftarg_flush()\ncall to move the tail of the log forward in memory before the final\ntransactions of the sync process were issued.\n\nAs a result, the old code would write a very recent log tail value\nto the log by the end of the sync process, and so a subsequent crash\nwould leave nothing for log recovery to do. Hence in qa test 182,\nlog recovery only replayed a small handle for inode fsync\ntransactions in this case.\n\nHowever, with the removal of the extra -\u003esync_fs call, the log tail\nwas now not moved forward with the inode fsync transactions near the\nend of the sync procese the first (and only) buftarg flush occurred\nafter these transactions went to disk. The result is that log\nrecovery now sees a large number of transactions for metadata that\nis already on disk.\n\nThis usually isn\u0027t a problem, but when the transactions include\ninode chunk allocation, the inode create transactions and all\nsubsequent changes are replayed as we cannt rely on what is on disk\nis valid. As a result, if the inode was written and contains\nunlogged changes, the unlogged changes are lost, thereby violating\nsync semantics.\n\nThe fix is to always issue a transaction after the buftarg flush\noccurs is the log iѕ not idle or covered. This results in a dummy\ntransaction being written that contains the up-to-date log tail\nvalue, which will be very recent. Indeed, it will be at least as\nrecent as the old code would have left on disk, so log recovery\nwill behave exactly as it used to in this situation.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "c7f2e1f0ac142a657a1de00d404e1c8345b20598",
      "tree": "3afb52c22b24f2f31ec7c5638d87ab8bb1f04598",
      "parents": [
        "2b0b39517d1af5294128dbc2fd7ed39c8effa540"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Fri Apr 16 08:05:50 2010 -0500"
      },
      "committer": {
        "name": "Dave Kleikamp",
        "email": "shaggy@linux.vnet.ibm.com",
        "time": "Fri Apr 16 08:05:50 2010 -0500"
      },
      "message": "jfs: add jfs specific -\u003esetattr call\n\ngeneric setattr not longer responsible for quota transfer.\nuse jfs_setattr for all jfs\u0027s inodes.\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "2b0b39517d1af5294128dbc2fd7ed39c8effa540",
      "tree": "f210f174aec2531294b6fbdb3890dffc709e32b9",
      "parents": [
        "d7eecb483cc29e929bbc5515b8def830d7fc6ad2"
      ],
      "author": {
        "name": "Bill Pemberton",
        "email": "wfp5p@virginia.edu",
        "time": "Fri Apr 16 08:01:20 2010 -0500"
      },
      "committer": {
        "name": "Dave Kleikamp",
        "email": "shaggy@linux.vnet.ibm.com",
        "time": "Fri Apr 16 08:01:20 2010 -0500"
      },
      "message": "jfs: fix diAllocExt error in resizing filesystem\n\nResizing the filesystem would result in an diAllocExt error in some\ninstances because changes in bmp-\u003edb_agsize would not get noticed if\ngoto extendBmap was called.\n\nSigned-off-by: Bill Pemberton \u003cwfp5p@virginia.edu\u003e\nSigned-off-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nCc: jfs-discussion@lists.sourceforge.net\nCc: linux-kernel@vger.kernel.org\n"
    },
    {
      "commit": "1f1b0008e8dd1930d6e89522c70f4a438374302a",
      "tree": "fb35404bdb4db79925891779e3be118eca8e85dd",
      "parents": [
        "ead88af5f577fd2b399a0fcdfe52605116fac489"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Thu Apr 15 08:03:57 2010 +0200"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Thu Apr 15 08:03:57 2010 +0200"
      },
      "message": "[LogFS] Prevent mempool_destroy NULL pointer dereference\n\nIt would probably be better to just accept NULL pointers in\nmempool_destroy().  But for the current -rc series let\u0027s keep things\nsimple.\n\nThis patch was lost in the cracks for a while.\nKevin Cernekee \u003ccernekee@gmail.com\u003e had to rediscover the problem and\nsend a similar patch because of it. :(\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "96e35b40c0d6206f56370f937f6f4722739eb273",
      "tree": "2c387b6e3f628484a1f4bdc964e529f89d5f5821",
      "parents": [
        "f5c07a2d8acfc98e00d3be6298f979e5b3175953",
        "a6a5349d17f2a5c37079826f1a1474c3d08c6b53"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 14 18:45:31 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 14 18:45:31 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:\n  ceph: use separate class for ceph sockets\u0027 sk_lock\n  ceph: reserve one more caps space when doing readdir\n  ceph: queue_cap_snap should always queue dirty context\n  ceph: fix dentry reference leak in dcache readdir\n  ceph: decode v5 of osdmap (pool names) [protocol change]\n  ceph: fix ack counter reset on connection reset\n  ceph: fix leaked inode ref due to snap metadata writeback race\n  ceph: fix snap context reference leaks\n  ceph: allow writeback of snapped pages older than \u0027oldest\u0027 snapc\n  ceph: fix dentry rehashing on virtual .snap dir\n"
    },
    {
      "commit": "0fdfe5ad2802e747460bf48eb2eb0ca3d3f3af42",
      "tree": "1358c7920438e090605695f6fb8e7989eb3f8998",
      "parents": [
        "44d2d371d250b44cbe40f8d47e329c97668d7594",
        "0df5dd4aae211edeeeb84f7f84f6d093406d7c22"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 13 15:10:16 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 13 15:10:16 2010 -0700"
      },
      "message": "Merge branch \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:\n  NFSv4: fix delegated locking\n  NFS: Ensure that the WRITE and COMMIT RPC calls are always uninterruptible\n  NFS: Fix a race with the new commit code\n  NFS: Ensure that writeback_single_inode() calls write_inode() when syncing\n  NFS: Fix the mode calculation in nfs_find_open_context\n  NFSv4: Fall back to ordinary lookup if nfs4_atomic_open() returns EISDIR\n"
    },
    {
      "commit": "a6a5349d17f2a5c37079826f1a1474c3d08c6b53",
      "tree": "3b37dadbf297abdd65b3f63ac8e94a6137098198",
      "parents": [
        "e1e4dd0caa63e166afa46a1ccc947bebb4f66bcf"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Apr 13 14:07:07 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Apr 13 14:07:07 2010 -0700"
      },
      "message": "ceph: use separate class for ceph sockets\u0027 sk_lock\n\nUse a separate class for ceph sockets to prevent lockdep confusion.\nBecause ceph sockets only get passed kernel pointers, there is no\ndependency from sk_lock -\u003e mmap_sem.  If we share the same class as other\nsockets, lockdep detects a circular dependency from\n\n\tmmap_sem (page fault) -\u003e fs mutex -\u003e sk_lock -\u003e mmap_sem\n\nbecause dependencies are noted from both ceph and user contexts.  Using\na separate class prevents the sk_lock(ceph) -\u003e mmap_sem dependency and\nmakes lockdep happy.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "e1e4dd0caa63e166afa46a1ccc947bebb4f66bcf",
      "tree": "028dcbe599b2ecd0a08519e741298a7a5fcb701d",
      "parents": [
        "fc837c8f0446b73a1661339db406c0238dd1d184"
      ],
      "author": {
        "name": "Yehuda Sadeh",
        "email": "yehuda@hq.newdream.net",
        "time": "Tue Apr 13 11:45:56 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Apr 13 12:28:54 2010 -0700"
      },
      "message": "ceph: reserve one more caps space when doing readdir\n\nWe were missing space for the directory cap.  The result was a BUG at\nfs/ceph/caps.c:2178.\n\nSigned-off-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "fc837c8f0446b73a1661339db406c0238dd1d184",
      "tree": "5cc1e6b97a8f39f7979eb302ac8a090c812f2609",
      "parents": [
        "f5b066287c74b624583b993395a65d03a6487b3a"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Apr 13 11:41:22 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Apr 13 12:28:31 2010 -0700"
      },
      "message": "ceph: queue_cap_snap should always queue dirty context\n\nThis simplifies the calling convention, and fixes a bug where we queue a\ncapsnap with a context other than i_head_snapc (the one that matches the\ndirty pages).  The result was a BUG at fs/ceph/caps.c:2178 on writeback\ncompletion when a capsnap matching the writeback snapc could not be found.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "ead88af5f577fd2b399a0fcdfe52605116fac489",
      "tree": "498379d96c24f3180f99592700e9e017b962e688",
      "parents": [
        "d3a03f8031000f8297823b80e36db536fd020884"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Apr 13 17:57:21 2010 +0200"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Apr 13 17:57:21 2010 +0200"
      },
      "message": "[LogFS] Move assertion\n\nThe assertion is valid independently of the condition.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "d3a03f8031000f8297823b80e36db536fd020884",
      "tree": "d717a209e3cf2695d1a08c104296d0bd4544ee41",
      "parents": [
        "032d8f7268444a0f5d4ee02d9513d682d5b8edfc"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Apr 13 17:54:27 2010 +0200"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Apr 13 17:54:27 2010 +0200"
      },
      "message": "[LogFS] Plug 8 byte information leak\n\nWithin each journal segment, 8 bytes at offset 24 would remain\nuninitialized.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "032d8f7268444a0f5d4ee02d9513d682d5b8edfc",
      "tree": "57cd841514abb9ffe7df7d2569513663f551f960",
      "parents": [
        "e05c378f4973674a16d5b9636f2310cf88aca5f2"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Apr 13 17:46:37 2010 +0200"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Apr 13 17:46:37 2010 +0200"
      },
      "message": "[LogFS] Prevent memory corruption on large deletes\n\nRemoving sufficiently large files would create aliases for a large\nnumber of segments.  This in turn results in a large number of journal\nentries and an overflow of s_je_array.\n\nCheap fix is to add a BUG_ON, turning memory corruption into something\nannoying, but less dangerous.  Real fix is to count the number of\naffected segments and prevent the problem completely.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "d6cf853d4d73c268fc8920ac4e812ee26a12847c",
      "tree": "c909145638eb5c4897ea7e424759eb9b564ebe18",
      "parents": [
        "6a945f38be5f2c198853069a336c887a51d1a238",
        "9f680ce04ea19dabbbafe01b57b61930a9b70741"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 12 18:37:04 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 12 18:37:04 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable\n\n* \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:\n  Btrfs: make sure the chunk allocator doesn\u0027t create zero length chunks\n  Btrfs: fix data enospc check overflow\n"
    },
    {
      "commit": "6a945f38be5f2c198853069a336c887a51d1a238",
      "tree": "439a2082a75d8496dbc9cfe6f661df4b86ea43ba",
      "parents": [
        "50fc88cb03786a79e9982d9d8dfb3fd225de9099",
        "08261673cb6dc638c39f44d69b76fffb57b92a8b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 12 18:36:49 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 12 18:36:49 2010 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6:\n  quota: Fix possible dq_flags corruption\n  quota: Hide warnings about writes to the filesystem before quota was turned on\n  ext3: symlink must be handled via filesystem specific operation\n  ext2: symlink must be handled via filesystem specific operation\n"
    },
    {
      "commit": "50fc88cb03786a79e9982d9d8dfb3fd225de9099",
      "tree": "1d1812c58ab4dd5d5ddc9b75383618e24a00364e",
      "parents": [
        "4505a4938917f4872efcc90bc1e5f4f0ce903b47",
        "c15d0fc0fc399d2639240b35ad7ed93ed5a59412"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 12 18:36:34 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 12 18:36:34 2010 -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 speciffic -\u003esetattr callback\n  udf: potential integer overflow\n"
    },
    {
      "commit": "44fa2b4bee5b07d506a7b002b4e2eb73654db7e0",
      "tree": "5415a4988e326de7d3456d72115ac74f548ca8d1",
      "parents": [
        "0eddb519b9127c73d53db4bf3ec1d45b13f844d1",
        "be3bd2223b89d270853302ab0a5909fa875fd831"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 12 18:34:25 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 12 18:34:25 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2:\n  nilfs2: fix typo \"numer\" -\u003e \"number\" in alloc.c\n  nilfs2: Remove an uninitialization warning in nilfs_btree_propagate_v()\n  nilfs2: fix a wrong type conversion in nilfs_ioctl()\n"
    },
    {
      "commit": "f5b066287c74b624583b993395a65d03a6487b3a",
      "tree": "113dd2a4bbf0d2ff9fd374b53dc377f55677f922",
      "parents": [
        "2844a76a25a2fc2f5025cf128c95a14d86146d33"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Apr 12 14:24:28 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Apr 12 14:25:51 2010 -0700"
      },
      "message": "ceph: fix dentry reference leak in dcache readdir\n\nWhen filldir returned an error (e.g. buffer full for a large directory),\nwe would leak a dentry reference, causing an oops on umount.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "08261673cb6dc638c39f44d69b76fffb57b92a8b",
      "tree": "752b396f409897a4357ca29bc2f9c3384d29e07d",
      "parents": [
        "4c5e6c0e70fd6ca2fa67184fd36a261b3b7b38d0"
      ],
      "author": {
        "name": "Andrew Perepechko",
        "email": "andrew.perepechko@sun.com",
        "time": "Mon Apr 12 22:16:50 2010 +0400"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Apr 12 21:12:36 2010 +0200"
      },
      "message": "quota: Fix possible dq_flags corruption\n\ndq_flags are modified non-atomically in do_set_dqblk via __set_bit calls and\natomically for example in mark_dquot_dirty or clear_dquot_dirty.  Hence a\nchange done by an atomic operation can be overwritten by a change done by a\nnon-atomic one. Fix the problem by using atomic bitops even in do_set_dqblk.\n\nSigned-off-by: Andrew Perepechko \u003candrew.perepechko@sun.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "4c5e6c0e70fd6ca2fa67184fd36a261b3b7b38d0",
      "tree": "989f00937056222c6672a888b6670e570826442d",
      "parents": [
        "774f03fb2cf89951b5f5f363b7739a2835d5924e"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Apr 06 18:52:47 2010 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Apr 12 21:12:19 2010 +0200"
      },
      "message": "quota: Hide warnings about writes to the filesystem before quota was turned on\n\nFor a root filesystem write to the filesystem before quota is turned on happens\nregularly and there\u0027s no way around it because of writes to syslog, /etc/mtab,\nand similar. So the warning is rather pointless for ordinary users. It\u0027s\nstill useful during development so we just hide the warning behind\n__DQUOT_PARANOIA config option.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "774f03fb2cf89951b5f5f363b7739a2835d5924e",
      "tree": "d269578e834e95332b2352addee2b59976eb54ec",
      "parents": [
        "fc7683a3c30c22131b1651271d6bf9ea113b77c5"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Fri Mar 26 19:29:55 2010 +0300"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Apr 12 21:11:39 2010 +0200"
      },
      "message": "ext3: symlink must be handled via filesystem specific operation\n\ngeneric setattr implementation is no longer responsible for\nquota transfer so synlinks must be handled via ext3_setattr.\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "fc7683a3c30c22131b1651271d6bf9ea113b77c5",
      "tree": "5f3fadbccdd31fd8ac012a507af0bd384ca2baa2",
      "parents": [
        "0eddb519b9127c73d53db4bf3ec1d45b13f844d1"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Fri Mar 26 19:29:54 2010 +0300"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Apr 12 21:11:25 2010 +0200"
      },
      "message": "ext2: symlink must be handled via filesystem specific operation\n\ngeneric setattr implementation is no longer responsible for\nquota transfer so synlinks must be handled via ext2_setattr.\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "0df5dd4aae211edeeeb84f7f84f6d093406d7c22",
      "tree": "6e58bc436b873cf582f20cf0dbd21461c0a56837",
      "parents": [
        "2c61be0a9478258f77b66208a0c4b1f5f8161c3c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Apr 11 16:48:44 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 12 07:55:15 2010 -0400"
      },
      "message": "NFSv4: fix delegated locking\n\nArnaud Giersch reports that NFSv4 locking is broken when we hold a\ndelegation since commit 8e469ebd6dc32cbaf620e134d79f740bf0ebab79 (NFSv4:\nDon\u0027t allow posix locking against servers that don\u0027t support it).\n\nAccording to Arnaud, the lock succeeds the first time he opens the file\n(since we cannot do a delegated open) but then fails after we start using\ndelegated opens.\n\nThe following patch fixes it by ensuring that locking behaviour is\ngoverned by a per-filesystem capability flag that is initially set, but\ngets cleared if the server ever returns an OPEN without the\nNFS4_OPEN_RESULT_LOCKTYPE_POSIX flag being set.\n\nReported-by: Arnaud Giersch \u003carnaud.giersch@iut-bm.univ-fcomte.fr\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "be3bd2223b89d270853302ab0a5909fa875fd831",
      "tree": "7f309ea90c33c6306790c4f6dfc2d42ab0066ac7",
      "parents": [
        "308f44193f796b1c522b3b87760e43d8d8e316d2"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Apr 12 01:51:03 2010 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Apr 12 01:51:03 2010 +0900"
      },
      "message": "nilfs2: fix typo \"numer\" -\u003e \"number\" in alloc.c\n\nFixes the typo found in a warning message of a persistent object\nallocator function.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "2c61be0a9478258f77b66208a0c4b1f5f8161c3c",
      "tree": "84654744fc5f43f1b21f8fa484aba0a15787d5df",
      "parents": [
        "a6305ddb080fb483ca41ca56cacb6f96089f0c8e"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 09 19:54:50 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 09 19:54:50 2010 -0400"
      },
      "message": "NFS: Ensure that the WRITE and COMMIT RPC calls are always uninterruptible\n\nWe always want to ensure that WRITE and COMMIT completes, whether or not\nthe user presses ^C. Do this by making the call asynchronous, and allowing\nthe user to do an interruptible wait for rpc_task completion.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a6305ddb080fb483ca41ca56cacb6f96089f0c8e",
      "tree": "82c41752da42726ad1d7ed27203acbf06892dbaa",
      "parents": [
        "b80c3cb628f0ebc241b02e38dd028969fb8026a2"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 09 19:07:08 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 09 19:08:17 2010 -0400"
      },
      "message": "NFS: Fix a race with the new commit code\n\nThis patch fixes a race which occurs due to the fact that we release the\nPG_writeback flag while still holding the nfs_page locked.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b80c3cb628f0ebc241b02e38dd028969fb8026a2",
      "tree": "12b0b9a7d8c4dbac5ab17b5cef9f3d5e32df16b1",
      "parents": [
        "1544fa0f7a46241582abc48f07b74f3d846379e4"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 09 19:07:07 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 09 19:08:17 2010 -0400"
      },
      "message": "NFS: Ensure that writeback_single_inode() calls write_inode() when syncing\n\nSince writeback_single_inode() checks the inode-\u003ei_state flags _before_ it\nflushes out the data, we need to ensure that the I_DIRTY_DATASYNC flag is\nalready set. Otherwise we risk not seeing a call to write_inode(), which\nagain means that we break fsync() et al...\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1544fa0f7a46241582abc48f07b74f3d846379e4",
      "tree": "2557435df56c5beadf9ad8c3dabc93b07a78aed9",
      "parents": [
        "80e60639f1b7c121a7fea53920c5a4b94009361a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 25 13:54:49 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 09 19:08:16 2010 -0400"
      },
      "message": "NFS: Fix the mode calculation in nfs_find_open_context\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "80e60639f1b7c121a7fea53920c5a4b94009361a",
      "tree": "ee7f01512859dd5d5ff5d46b37a79d88bfc3af4c",
      "parents": [
        "0eddb519b9127c73d53db4bf3ec1d45b13f844d1"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 25 13:51:05 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 09 19:08:16 2010 -0400"
      },
      "message": "NFSv4: Fall back to ordinary lookup if nfs4_atomic_open() returns EISDIR\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "2844a76a25a2fc2f5025cf128c95a14d86146d33",
      "tree": "a57b3dac7f92d187bafe3c10270b0d28edf405e3",
      "parents": [
        "0e0d5e0c4bb0476d53a43bfc87d03a25ec4b5579"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Apr 09 15:46:42 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Apr 09 15:50:58 2010 -0700"
      },
      "message": "ceph: decode v5 of osdmap (pool names) [protocol change]\n\nTeach the client to decode an updated format for the osdmap.  The new\nformat includes pool names, which will be useful shortly.  Get this change\nin earlier rather than later.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "2f4084209adc77f9a1c9f38db3019a509e167882",
      "tree": "775657114c885505ecc46605e29ea1470e986f76",
      "parents": [
        "2f10ffcfb28beb35137d9e86992c771b4a6c5f2a",
        "3440c49f5c5ecb4f29b0544aa87da71888404f8f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 09 11:50:29 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 09 11:50:29 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block: (34 commits)\n  cfq-iosched: Fix the incorrect timeslice accounting with forced_dispatch\n  loop: Update mtime when writing using aops\n  block: expose the statistics in blkio.time and blkio.sectors for the root cgroup\n  backing-dev: Handle class_create() failure\n  Block: Fix block/elevator.c elevator_get() off-by-one error\n  drbd: lc_element_by_index() never returns NULL\n  cciss: unlock on error path\n  cfq-iosched: Do not merge queues of BE and IDLE classes\n  cfq-iosched: Add additional blktrace log messages in CFQ for easier debugging\n  i2o: Remove the dangerous kobj_to_i2o_device macro\n  block: remove 16 bytes of padding from struct request on 64bits\n  cfq-iosched: fix a kbuild regression\n  block: make CONFIG_BLK_CGROUP visible\n  Remove GENHD_FL_DRIVERFS\n  block: Export max number of segments and max segment size in sysfs\n  block: Finalize conversion of block limits functions\n  block: Fix overrun in lcm() and move it to lib\n  vfs: improve writeback_inodes_wb()\n  paride: fix off-by-one test\n  drbd: fix al-to-on-disk-bitmap for 4k logical_block_size\n  ...\n"
    },
    {
      "commit": "9ddd3a31aedcdb55d5509b595c04b187041c8adb",
      "tree": "210582aade8b4342b2abfbc3682dd2014456d23b",
      "parents": [
        "d620a7cf05d4f12f5bbb1060d766e8139ab31458",
        "f05337c6ac48d19d354e0640a8eb8fc884f82bcc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 08 11:58:14 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 08 11:58:14 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:\n  not overwriting file_lock structure after GET_LK\n  cifs: Fix a kernel BUG with remote OS/2 server (try #3)\n  [CIFS] initialize nbytes at the beginning of CIFSSMBWrite()\n  [CIFS] Add mmap for direct, nobrl cifs mount types\n"
    },
    {
      "commit": "c15d0fc0fc399d2639240b35ad7ed93ed5a59412",
      "tree": "a9f9f24d5ab9d48cb32ee3debe1eb29a65677185",
      "parents": [
        "69ecbbedac8e353bbd924fad16fed0c7c54e6382"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Mon Mar 29 11:05:21 2010 +0400"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Apr 08 15:35:20 2010 +0200"
      },
      "message": "udf: add speciffic -\u003esetattr callback\n\ngeneric setattr not longer responsible for quota transfer.\nuse udf_setattr for all udf\u0027s inodes.\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "69ecbbedac8e353bbd924fad16fed0c7c54e6382",
      "tree": "f008c3ad0750585ea3d403718251922f215cb626",
      "parents": [
        "0fdf86754f70e813845af4abaa805165ce57a0bb"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Mon Mar 15 11:21:13 2010 +0300"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Apr 08 15:35:20 2010 +0200"
      },
      "message": "udf: potential integer overflow\n\nbloc-\u003elogicalBlockNum is unsigned so it\u0027s never less than zero.\n\nWhen I saw that, it made me worry that \"bloc-\u003elogicalBlockNum + count\"\ncould overflow.  That\u0027s why I changed the check for less than zero\nto an overflow check.  (The test works because \"count\" is also\nunsigned.)\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "04287f975e68038051eb9c79896866d36610b8e0",
      "tree": "e87af9a47942a187a06b63aa3600511f4bc11ad8",
      "parents": [
        "48de8cb7847d040c8892701c1ff3c55eff1f46b4"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Thu Apr 08 00:06:07 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 07 16:10:16 2010 -0700"
      },
      "message": "Have nfs -\u003ed_revalidate() report errors properly\n\n\tIf nfs atomic open implementation ends up doing open request from\n-\u003ed_revalidate() codepath and gets an error from server, return that error\nto caller explicitly and don\u0027t bother with lookup_instantiate_filp() at all.\n-\u003ed_revalidate() can return an error itself just fine...\n\nSee\n\thttp://bugzilla.kernel.org/show_bug.cgi?id\u003d15674\n\thttp://marc.info/?l\u003dlinux-kernel\u0026m\u003d126988782722711\u0026w\u003d2\n\nfor original report.\n\nReported-by: Daniel J Blueman \u003cdaniel.blueman@gmail.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cc4fc29e59c386919a7674e203be7822dc968dc0",
      "tree": "b20f18950bc9e7c2a79a6694bae221dd48b9fdf7",
      "parents": [
        "08dc179b9b00cfbed006ae6f5d0e471ef79dc69c"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Apr 06 14:35:09 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 07 08:38:05 2010 -0700"
      },
      "message": "fs-cache: order the debugfs stats correctly\n\nOrder the debugfs statistics correctly.  The values displayed through a\nseq_printf() statement should be in the same order as the names in the\nformat string.\n\nIn the \u0027Lookups\u0027 line, objects created (\u0027crt\u003d\u0027) and lookups timed out\n(\u0027tmo\u003d\u0027) have their values transposed.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "116354d177ba2da37e91cf884e3d11e67f825efd",
      "tree": "150227e8a5c9ce8b6dd9333593ed513c8c012686",
      "parents": [
        "57119c34e53bbb8d244c3ff1335ef5145768538f"
      ],
      "author": {
        "name": "Naoya Horiguchi",
        "email": "n-horiguchi@ah.jp.nec.com",
        "time": "Tue Apr 06 14:35:04 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 07 08:38:04 2010 -0700"
      },
      "message": "pagemap: fix pfn calculation for hugepage\n\nWhen we look into pagemap using page-types with option -p, the value of\npfn for hugepages looks wrong (see below.) This is because pte was\nevaluated only once for one vma although it should be updated for each\nhugepage.  This patch fixes it.\n\n  $ page-types -p 3277 -Nl -b huge\n  voffset   offset  len     flags\n  7f21e8a00 11e400  1       ___U___________H_G________________\n  7f21e8a01 11e401  1ff     ________________TG________________\n               ^^^\n  7f21e8c00 11e400  1       ___U___________H_G________________\n  7f21e8c01 11e401  1ff     ________________TG________________\n               ^^^\n\nOne hugepage contains 1 head page and 511 tail pages in x86_64 and each\ntwo lines represent each hugepage.  Voffset and offset mean virtual\naddress and physical address in the page unit, respectively.  The\ndifferent hugepages should not have the same offset value.\n\nWith this patch applied:\n\n  $ page-types -p 3386 -Nl -b huge\n  voffset   offset   len    flags\n  7fec7a600 112c00   1      ___UD__________H_G________________\n  7fec7a601 112c01   1ff    ________________TG________________\n               ^^^\n  7fec7a800 113200   1      ___UD__________H_G________________\n  7fec7a801 113201   1ff    ________________TG________________\n               ^^^\n               OK\n\nMore info:\n\n- This patch modifies walk_page_range()\u0027s hugepage walker.  But the\n  change only affects pagemap_read(), which is the only caller of hugepage\n  callback.\n\n- Without this patch, hugetlb_entry() callback is called per vma, that\n  doesn\u0027t match the natural expectation from its name.\n\n- With this patch, hugetlb_entry() is called per hugepte entry and the\n  callback can become much simpler.\n\nSigned-off-by: Naoya Horiguchi \u003cn-horiguchi@ah.jp.nec.com\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b1dd3b2843b3b73b7fc2ee47d96310cd1c051371",
      "tree": "ab7d13e076d255dd2c598a3c819e114a854ae85f",
      "parents": [
        "55ab3a1ff843e3f0e24d2da44e71bffa5d853010"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Apr 06 14:35:00 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 07 08:38:04 2010 -0700"
      },
      "message": "vfs: rename block_fsync() to blkdev_fsync()\n\nRequested by hch, for consistency now it is exported.\n\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nCc: Jeff Moyer \u003cjmoyer@redhat.com\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": "55ab3a1ff843e3f0e24d2da44e71bffa5d853010",
      "tree": "092f383aab3dc57d6780348aa9638d01e99041cf",
      "parents": [
        "da258016293f5e82b36db67ac3db3931a4fbbc4d"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Tue Apr 06 14:34:58 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 07 08:38:04 2010 -0700"
      },
      "message": "raw: fsync method is now required\n\nCommit 148f948ba877f4d3cdef036b1ff6d9f68986706a (vfs: Introduce new\nhelpers for syncing after writing to O_SYNC file or IS_SYNC inode) broke\nthe raw driver.\n\nWe now call through generic_file_aio_write -\u003e generic_write_sync -\u003e\nvfs_fsync_range.  vfs_fsync_range has:\n\n        if (!fop || !fop-\u003efsync) {\n                ret \u003d -EINVAL;\n                goto out;\n        }\n\nBut drivers/char/raw.c doesn\u0027t set an fsync method.\n\nWe have two options: fix it or remove the raw driver completely.  I\u0027m\nhappy to do either, the fact this has been broken for so long suggests it\nis rarely used.\n\nThe patch below adds an fsync method to the raw driver.  My knowledge of\nthe block layer is pretty sketchy so this could do with a once over.\n\nIf we instead decide to remove the raw driver, this patch might still be\nuseful as a backport to 2.6.33 and 2.6.32.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nReviewed-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nReviewed-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nTested-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f05337c6ac48d19d354e0640a8eb8fc884f82bcc",
      "tree": "7be4407febc50dba022112281f1f6d04eb2a5a22",
      "parents": [
        "6513a81e9325d712f1bfb9a1d7b750134e49ff18"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastryyy@gmail.com",
        "time": "Mon Apr 05 09:59:14 2010 +0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Apr 06 17:24:26 2010 +0000"
      },
      "message": "not overwriting file_lock structure after GET_LK\n\nIf we have preventing lock, cifs should overwrite file_lock structure\nwith info about preventing lock. If we haven\u0027t preventing lock, cifs\nshould leave it unchanged except for the lock type (change it to F_UNLCK).\n\nSigned-off-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nReviewed-by: Jeff Layton \u003cjlayton@samba.org\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "309361e09ca9e9670dc8664e5d14125bf82078af",
      "tree": "2886267e80efa99d5447d56305e6560fd4cce410",
      "parents": [
        "5fbfb18d7a5b846946d52c4a10e3aaa213ec31b6"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Tue Apr 06 13:45:39 2010 +0300"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 06 08:23:47 2010 -0700"
      },
      "message": "proc: copy_to_user() returns unsigned\n\ncopy_to_user() returns the number of bytes left to be copied.\n\nThis was a typo from: d82ef020cf31 \"proc: pagemap: Hold mmap_sem during\npage walk\".\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9f680ce04ea19dabbbafe01b57b61930a9b70741",
      "tree": "30447eb92851fe8542469a69cfd126bec30f9dd2",
      "parents": [
        "ab6e24103cbd215e922938a4f58c75194761a60e"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Apr 06 09:37:47 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Apr 06 09:37:47 2010 -0400"
      },
      "message": "Btrfs: make sure the chunk allocator doesn\u0027t create zero length chunks\n\nA recent commit allowed for smaller chunks to be created, but didn\u0027t\nmake sure they were always bigger than a stripe.  After some divides,\nthis led to zero length stripes.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "749d229761ff0135cc4e16b8a28b41ae2f6b2c35",
      "tree": "25551c8cfb38319211f5ee59e78462a0f6fb85c4",
      "parents": [
        "795d580baec0d5386b83a8b557df47c20810e86b",
        "3dc9fef67f6292692dba181a6d0fd0211bd0a607"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 05 13:42:54 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 05 13:42:54 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:\n  9p: saving negative to unsigned char\n  9p: return on mutex_lock_interruptible()\n  9p: Creating files with names too long should fail with ENAMETOOLONG.\n  9p: Make sure we are able to clunk the cached fid on umount\n  9p: drop nlink remove\n  fs/9p: Clunk the fid resulting from partial walk of the name\n  9p: documentation update\n  9p: Fix setting of protocol flags in v9fs_session_info structure.\n"
    },
    {
      "commit": "795d580baec0d5386b83a8b557df47c20810e86b",
      "tree": "d0387c37562e9e27a4f43cf7ae425319cbdad359",
      "parents": [
        "449cedf099b23a250e7d61982e35555ccb871182",
        "109f6aef5fc436f355ad027f4d97bd696df2049a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 05 13:21:15 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 05 13:21:15 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:\n  Btrfs: add check for changed leaves in setup_leaf_for_split\n  Btrfs: create snapshot references in same commit as snapshot\n  Btrfs: fix small race with delalloc flushing waitqueue\u0027s\n  Btrfs: use add_to_page_cache_lru, use __page_cache_alloc\n  Btrfs: fix chunk allocate size calculation\n  Btrfs: kill max_extent mount option\n  Btrfs: fail to mount if we have problems reading the block groups\n  Btrfs: check btrfs_get_extent return for IS_ERR()\n  Btrfs: handle kmalloc() failure in inode lookup ioctl\n  Btrfs: dereferencing freed memory\n  Btrfs: Simplify num_stripes\u0027s calculation logical for __btrfs_alloc_chunk()\n  Btrfs: Add error handle for btrfs_search_slot() in btrfs_read_chunk_tree()\n  Btrfs: Remove unnecessary finish_wait() in wait_current_trans()\n  Btrfs: add NULL check for do_walk_down()\n  Btrfs: remove duplicate include in ioctl.c\n\nFix trivial conflict in fs/btrfs/compression.c due to slab.h include\ncleanups.\n"
    },
    {
      "commit": "ab6e24103cbd215e922938a4f58c75194761a60e",
      "tree": "d54479feddd7fe625888dd62084621d4d0871c4b",
      "parents": [
        "109f6aef5fc436f355ad027f4d97bd696df2049a"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Fri Mar 19 14:38:13 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Apr 05 16:04:50 2010 -0400"
      },
      "message": "Btrfs: fix data enospc check overflow\n\nBecause we account for reserved space we get from the allocator before we\nactually account for allocating delalloc space, we can have a small window where\nthe amount of \"used\" space in a space_info is more than the total amount of\nspace in the space_info.  This will cause a overflow in our check, so it will\nseem like we have _tons_ of free space, and we\u0027ll allow reservations to occur\nthat will end up larger than the amount of space we have.  I\u0027ve seen users\nreport ENOSPC panic\u0027s in cow_file_range a few times recently, so I tried to\nreproduce this problem and found I could reproduce it if I ran one of my tests\nin a loop for like 20 minutes.  With this patch my test ran all night without\nissues.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "85a770a8889035625466a4cfb1393cd7d2ffd165",
      "tree": "a860f3d7a95ad083863a1b55394f31f3b1b6f133",
      "parents": [
        "11e9b49b7fa056bfc00a56de8956d1d5fe8b84ea"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Tue Mar 30 09:41:25 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Apr 05 14:32:33 2010 -0500"
      },
      "message": "9p: return on mutex_lock_interruptible()\n\nIf \"err\" is -EINTR here the original code calls mutex_unlock() and then\nreturns, but it should just return directly.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n------------------------------------------------------------------------------\nDownload Intel\u0026#174; Parallel Studio Eval\nTry the new software tools for yourself. Speed compiling, find bugs\nproactively, and fine-tune applications for parallel performance.\nSee why Intel Parallel Studio got high marks during beta.\nhttp://p.sf.net/sfu/intel-sw-dev\n"
    },
    {
      "commit": "109f6aef5fc436f355ad027f4d97bd696df2049a",
      "tree": "645cf1752f2c62579f6dfe028d8a5d918c6b6f45",
      "parents": [
        "6bdb72ded1e281cd8844918c39d00cdd0e59f655"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Apr 02 09:20:18 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Apr 05 14:42:01 2010 -0400"
      },
      "message": "Btrfs: add check for changed leaves in setup_leaf_for_split\n\nsetup_leaf_for_split needs to drop the path and search again, and has\nchecks to see if the item we want to split changed size.  But, it misses\nthe case where the leaf changed and now has enough room for the item\nwe want to insert.\n\nThis adds an extra check to make sure the leaf really needs splitting\nbefore we call btrfs_split_leaf(), which keeps us from trying to split\na leaf with a single item.\n\nbtrfs_split_leaf() will blindly split the single item leaf, leaving us\nwith one good leaf and one empty leaf and then a crash.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "6bdb72ded1e281cd8844918c39d00cdd0e59f655",
      "tree": "39c25c85ddb1c2eecf7977e7e21a95f1c95ec21f",
      "parents": [
        "b5cb160084fad438c513d0952849e597ffe9e3d9"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Mar 15 17:27:13 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Apr 05 14:42:01 2010 -0400"
      },
      "message": "Btrfs: create snapshot references in same commit as snapshot\n\nThis creates the reference to a new snapshot in the same commit as the\nsnapshot itself.  This avoids the need for a second commit in order for a\nsnapshot to be persistent, and also avoids the problem of \"leaking\" a\nnew snapshot tree root if the host crashes before the second commit takes\nplace.\n\nIt is not at all clear to me why it wasn\u0027t always done this way.  If there\nis still a reason for the two-stage {create,finish}_pending_snapshots()\napproach I\u0027m missing something!  :)\n\nI\u0027ve been running this for a couple weeks under pretty heavy usage (a few\nsnapshots per minute) without obvious problems.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "b5cb160084fad438c513d0952849e597ffe9e3d9",
      "tree": "91a5a1352cc803695b2ae3b3217c82d423ca5edf",
      "parents": [
        "28ecb60906e86e74e9ad4ac7e0218d8631e73a94"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Fri Mar 12 19:28:18 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Apr 05 14:42:00 2010 -0400"
      },
      "message": "Btrfs: fix small race with delalloc flushing waitqueue\u0027s\n\nEverytime we start a new flushing thread, we init the waitqueue if there isn\u0027t a\nflushing thread running.  The problem with this is we check\nspace_info-\u003eflushing, which we clear right before doing a wake_up on the\nflushing waitqueue, which causes problems if we init the waitqueue in the middle\nof clearing the flushing flagh and calling wake_up.  This is hard to hit, but\nthe code is wrong anyway, so init the flushing/allocating waitqueue when\ncreating the space info and let it be.  I haven\u0027t seen the panic since I\u0027ve been\nusing this patch.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "28ecb60906e86e74e9ad4ac7e0218d8631e73a94",
      "tree": "7214fa7bfb39f789aa4a78e174e39f61ef101b95",
      "parents": [
        "0cad8a1130f77c7c445e3298c0e3593b3c0ef439"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Mar 17 13:31:04 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Apr 05 14:41:51 2010 -0400"
      },
      "message": "Btrfs: use add_to_page_cache_lru, use __page_cache_alloc\n\nPagecache pages should be allocated with __page_cache_alloc, so they\nobey pagecache memory policies.\n\nadd_to_page_cache_lru is exported, so it should be used. Benefits over\nusing a private pagevec: neater code, 128 bytes fewer stack used, percpu\nlru ordering is preserved, and finally don\u0027t need to flush pagevec\nbefore returning so batching may be shared with other LRU insertions.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e:\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "11e9b49b7fa056bfc00a56de8956d1d5fe8b84ea",
      "tree": "6dedb1817bc5de3ce5e19192ee6bcc26faaf92f7",
      "parents": [
        "6d96d3ab7aea5f0e75205a0c97f8d1fdf82c5287"
      ],
      "author": {
        "name": "Sripathi Kodi",
        "email": "sripathik@in.ibm.com",
        "time": "Mon Mar 29 18:13:59 2010 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Apr 05 10:37:37 2010 -0500"
      },
      "message": "9p: Creating files with names too long should fail with ENAMETOOLONG.\n\nSigned-off-by: Sripathi Kodi \u003csripathik@in.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n\n"
    },
    {
      "commit": "6d96d3ab7aea5f0e75205a0c97f8d1fdf82c5287",
      "tree": "a4dfa0472e2e670de1da7e7c0905da12d4608ab4",
      "parents": [
        "d994f4058d9f9be7e44529b55fc6be6552901ead"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Mar 29 18:13:59 2010 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Apr 05 10:37:36 2010 -0500"
      },
      "message": "9p: Make sure we are able to clunk the cached fid on umount\n\ndcache prune happen on umount. So we cannot mark the client\nsatus disconnect. That will prevent a 9p call to the server\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n\n"
    },
    {
      "commit": "d994f4058d9f9be7e44529b55fc6be6552901ead",
      "tree": "065d86bde3fbb8328642c0f5817d3bdcca358ad8",
      "parents": [
        "5b0fa207d1a6f27c9a2f2d707147dce01af21db7"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Mar 29 18:14:50 2010 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Apr 05 10:37:36 2010 -0500"
      },
      "message": "9p: drop nlink remove\n\nWe need to drop the link count on the inode of a sucessfull remove\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n\n"
    },
    {
      "commit": "5b0fa207d1a6f27c9a2f2d707147dce01af21db7",
      "tree": "b080986b3949faa9d3b5596b4b80a94765f5ede8",
      "parents": [
        "9208d24253e5e644f8cb1b87b69de44897668303"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Fri Mar 19 12:47:26 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Apr 05 10:37:36 2010 -0500"
      },
      "message": "fs/9p: Clunk the fid resulting from partial walk of the name\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "476ada0436351672fbf482db54cb94b8ba877709",
      "tree": "21228cf96fdee32f1c63cc7b31d6764935617ec7",
      "parents": [
        "db217dece3003df0841bacf9556b5c06aa097dae"
      ],
      "author": {
        "name": "Sripathi Kodi",
        "email": "sripathik@in.ibm.com",
        "time": "Wed Mar 17 17:02:38 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Apr 05 10:37:36 2010 -0500"
      },
      "message": "9p: Fix setting of protocol flags in v9fs_session_info structure.\n\nThis patch fixes a simple bug I left behind in my earlier protocol\nnegotiation patch.\n\nThanks,\nSripathi.\n\nSigned-off-by: Sripathi Kodi \u003csripathik@in.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "336f5899d287f06d8329e208fc14ce50f7ec9698",
      "tree": "9b762d450d5eb248a6ff8317badb7e223d93ed58",
      "parents": [
        "a4ab2773205e8b94c18625455f85e3b6bb9d7ad6",
        "db217dece3003df0841bacf9556b5c06aa097dae"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Apr 05 11:37:28 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Apr 05 11:37:28 2010 +0900"
      },
      "message": "Merge branch \u0027master\u0027 into export-slabh\n"
    },
    {
      "commit": "d82ef020cf31504c816803b1def94eb5ff173363",
      "tree": "1aac1f2260b602d28804a809783076d68a06bb33",
      "parents": [
        "5e11611a5d22252f3f9c169a3c9377eac0c32033"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Fri Apr 02 09:11:29 2010 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 04 12:06:02 2010 -0700"
      },
      "message": "proc: pagemap: Hold mmap_sem during page walk\n\nIn initial design, walk_page_range() was designed just for walking page\ntable and it didn\u0027t require mmap_sem.  Now, find_vma() etc..  are used\nin walk_page_range() and we need mmap_sem around it.\n\nThis patch adds mmap_sem around walk_page_range().\n\nBecause /proc/\u003cpid\u003e/pagemap\u0027s callback routine use put_user(), we have\nto get rid of it to do sane fix.\n\nChangelog: 2010/Apr/2\n - fixed start_vaddr and end overflow\nChangelog: 2010/Apr/1\n - fixed start_vaddr calculation\n - removed unnecessary cast.\n - removed unnecessary change in smaps.\n - use GFP_TEMPORARY instead of GFP_KERNEL\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: San Mehat \u003csan@google.com\u003e\nCc: Brian Swetland \u003cswetland@google.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n[ Fixed kmalloc failure return code as per Matt ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6513a81e9325d712f1bfb9a1d7b750134e49ff18",
      "tree": "f0f00a27d29ad6b6dc7cb05f6b10101aa01b0c64",
      "parents": [
        "a24e2d7d8f512340991ef0a59cb5d08d491b8e98"
      ],
      "author": {
        "name": "Suresh Jayaraman",
        "email": "sjayaraman@suse.de",
        "time": "Wed Mar 31 12:00:03 2010 +0530"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sat Apr 03 17:24:20 2010 +0000"
      },
      "message": "cifs: Fix a kernel BUG with remote OS/2 server (try #3)\n\nWhile chasing a bug report involving a OS/2 server, I noticed the server sets\npSMBr-\u003eCountHigh to a incorrect value even in case of normal writes. This\nresults in \u0027nbytes\u0027 being computed wrongly and triggers a kernel BUG at\nmm/filemap.c.\n\nvoid iov_iter_advance(struct iov_iter *i, size_t bytes)\n{\n        BUG_ON(i-\u003ecount \u003c bytes);    \u003c--- BUG here\n\nWhy the server is setting \u0027CountHigh\u0027 is not clear but only does so after\nwriting 64k bytes. Though this looks like the server bug, the client side\ncrash may not be acceptable.\n\nThe workaround is to mask off high 16 bits if the number of bytes written as\nreturned by the server is greater than the bytes requested by the client as\nsuggested by Jeff Layton.\n\nCC: Stable \u003cstable@kernel.org\u003e\nReviewed-by: Jeff Layton \u003cjlayton@samba.org\u003e\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "a24e2d7d8f512340991ef0a59cb5d08d491b8e98",
      "tree": "ceda70bdfd41835725f951d026073056f38aed42",
      "parents": [
        "810627a013163cd294762d57c0ea2ec055ffe4f6"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sat Apr 03 17:20:21 2010 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sat Apr 03 17:20:21 2010 +0000"
      },
      "message": "[CIFS] initialize nbytes at the beginning of CIFSSMBWrite()\n\nBy doing this we always overwrite nbytes value that is being passed on to\nCIFSSMBWrite() and need not rely on the callers to initialize. CIFSSMBWrite2 is\ndoing this already.\n\nCC: Stable \u003cstable@kernel.org\u003e\nReviewed-by: Shirish Pargaonkar \u003cshirishpargaonkar@gmail.com\u003e\nReviewed-by: Jeff Layton \u003cjlayton@samba.org\u003e\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "0afa80ab6ff9aac57f118463699cee306ad6ed8a",
      "tree": "c5002a93cf59827fb5f8506ff91a77cb826d90ae",
      "parents": [
        "5193d7a7f500cfbbfc0de221e808208199723521",
        "b7b7fa43103a9fb30dbcc60cbd5161fdfc25f904"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 02 19:48:54 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 02 19:48:54 2010 -0700"
      },
      "message": "Merge branch \u0027reiserfs/kill-bkl\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing\n\n* \u0027reiserfs/kill-bkl\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing:\n  reiserfs: Fix locking BUG during mount failure\n"
    },
    {
      "commit": "0e0d5e0c4bb0476d53a43bfc87d03a25ec4b5579",
      "tree": "66013a33ad1f46b258d55289adf12cac463d43f9",
      "parents": [
        "819ccbfa448403992ceafc05d6d7097aaa74d4c3"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Apr 02 16:07:19 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Apr 02 16:07:19 2010 -0700"
      },
      "message": "ceph: fix ack counter reset on connection reset\n\nIf in_seq_acked isn\u0027t reset along with in_seq, we don\u0027t ack received\nmessages until we reach the old count, consuming gobs memory on the other\nend of the connection and introducing a large delay when those messages\nare eventually deleted.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "308f44193f796b1c522b3b87760e43d8d8e316d2",
      "tree": "da0fae6f13ce7ae48d67b6d362303fea312a6d88",
      "parents": [
        "753234007f4ac2c96921cfb19ec1ba535ac29790"
      ],
      "author": {
        "name": "Li Hong",
        "email": "lihong.hi@gmail.com",
        "time": "Fri Apr 02 18:40:39 2010 +0800"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Fri Apr 02 20:03:30 2010 +0900"
      },
      "message": "nilfs2: Remove an uninitialization warning in nilfs_btree_propagate_v()\n\n`make CONFIG_NILFS2_FS\u003dm M\u003dfs/nilfs2/` will give the following warnings:\n\nfs/nilfs2/btree.c: In function \u0027nilfs_btree_propagate\u0027:\nfs/nilfs2/btree.c:1882: warning: \u0027maxlevel\u0027 may be used uninitialized in this function\nfs/nilfs2/btree.c:1882: note: \u0027maxlevel\u0027 was declared here\n\nSet maxlevel \u003d 0 to fix it.\n\nSigned-off-by: Li Hong \u003clihong.hi@gmail.com\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "819ccbfa448403992ceafc05d6d7097aaa74d4c3",
      "tree": "e6b3592fd85fbb35a63d6d10c84a8d01913eddab",
      "parents": [
        "6298a33757ba7361bb8f506c106daad77e5ac8cf"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Apr 01 09:33:46 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Apr 01 09:34:38 2010 -0700"
      },
      "message": "ceph: fix leaked inode ref due to snap metadata writeback race\n\nWe create a ceph_cap_snap if there is dirty cap metadata (for writeback to\nmds) OR dirty pages (for writeback to osd).  It is thus possible that the\nmetadata has been written back to the MDS but the OSD data has not when\nthe cap_snap is created.  This results in a cap_snap with dirty(caps) \u003d\u003d 0.\nThe problem is that cap writeback to the MDS isn\u0027t necessary, and a\nFLUSHSNAP cap op gets no ack from the MDS.  This leaves the cap_snap\nattached to the inode along with its inode reference.\n\nFix the problem by dropping the cap_snap if it becomes \u0027complete\u0027 (all\npages written out) and dirty(caps) \u003d\u003d 0 in ceph_put_wrbuffer_cap_refs().\n\nAlso, BUG() in __ceph_flush_snaps() if we encounter a cap_snap with\ndirty(caps) \u003d\u003d 0.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "6298a33757ba7361bb8f506c106daad77e5ac8cf",
      "tree": "ebd8e7cab86a66c00c0bd4f411c335ed4d0fda9f",
      "parents": [
        "80e755fedebc8de0599a79efad2c656503df2e62"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Mar 31 22:01:38 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Apr 01 09:34:37 2010 -0700"
      },
      "message": "ceph: fix snap context reference leaks\n\nThe get_oldest_context() helper takes a reference to the returned snap\ncontext, but most callers weren\u0027t dropping that reference.  Fix them.\n\nAlso drop the unused locked __get_oldest_context() variant.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "80e755fedebc8de0599a79efad2c656503df2e62",
      "tree": "05f0285f4d040958377d6542394bc56b10f80257",
      "parents": [
        "9358c6d4c0264b1572554c49c4b92673ea9a5c72"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Mar 31 21:52:10 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Apr 01 09:34:36 2010 -0700"
      },
      "message": "ceph: allow writeback of snapped pages older than \u0027oldest\u0027 snapc\n\nOn snap deletion, we don\u0027t regenerate ceph_cap_snaps for inodes with dirty\npages because deletion does not affect metadata writeback.  However, we\ndid run into problems when we went to write back the pages because the\n\u0027oldest\u0027 snapc is determined by the oldest cap_snap, and that may be the\nnewer snapc that reflects the deletion.  This caused confusion and an\ninfinite loop in ceph_update_writeable_page().\n\nChange the snapc checks to allow writeback of any snapc that is equal to\nOR older than the \u0027oldest\u0027 snapc.\n\nWhen there are no cap_snaps, we were also using the realm\u0027s latest snapc\nfor writeback, which complicates ceph_put_wrbufffer_cap_refs().  Instead,\nuse i_head_snapc, the most snapc used for the most recent (\u0027head\u0027) data.\nThis makes the writeback snapc (ceph_osd_request.r_snapc) _always_ match a\ncapsnap or i_head_snapc.\n\nAlso, in writepags_finish(), drop the snapc referenced by the _page_\nand do not assume it matches the request snapc (it may not anymore).\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "b95c35e76b29ba812e5dabdd91592e25ec640e93",
      "tree": "9584cf21e47baec986f5dc5455081e8538126be1",
      "parents": [
        "30d1872d9eb3663b4cf7bdebcbf5cd465674cced"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Thu Apr 01 15:13:57 2010 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 01 08:50:21 2010 -0700"
      },
      "message": "oom: fix the unsafe usage of badness() in proc_oom_score()\n\nproc_oom_score(task) has a reference to task_struct, but that is all.\nIf this task was already released before we take tasklist_lock\n\n\t- we can\u0027t use task-\u003egroup_leader, it points to nowhere\n\n\t- it is not safe to call badness() even if this task is\n\t  -\u003egroup_leader, has_intersects_mems_allowed() assumes\n\t  it is safe to iterate over -\u003ethread_group list.\n\n\t- even worse, badness() can hit -\u003esignal \u003d\u003d NULL\n\nAdd the pid_alive() check to ensure __unhash_process() was not called.\n\nAlso, use \"task\" instead of task-\u003egroup_leader. badness() should return\nthe same result for any sub-thread. Currently this is not true, but\nthis should be changed anyway.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "30d1872d9eb3663b4cf7bdebcbf5cd465674cced",
      "tree": "e3771c93ad38ad5e8f9d8c70a0915afb81423545",
      "parents": [
        "2eaa9cfdf33b8d7fb7aff27792192e0019ae8fc6"
      ],
      "author": {
        "name": "Nikolaus Schulz",
        "email": "microschulz@web.de",
        "time": "Thu Apr 01 02:21:10 2010 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 31 10:34:11 2010 -0700"
      },
      "message": "fat: fix buffer overflow in vfat_create_shortname()\n\nWhen using the string representation of a random counter as part of the base\nname, ensure that it is no longer than 4 bytes.\n\nSince we are repeatedly decrementing the counter in a loop until we have found a\nunique base name, the counter may wrap around zero; therefore, it is not enough\nto mask its higher bits before entering the loop, this must be done inside the\nloop.\n\n[hirofumi@mail.parknet.co.jp: use snprintf()]\nSigned-off-by: Nikolaus Schulz \u003cmicroschulz@web.de\u003e\nCc: stable@kernel.org\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "753234007f4ac2c96921cfb19ec1ba535ac29790",
      "tree": "c238c54daff482ba3e91153b0d13e2c646a6e1bd",
      "parents": [
        "2eaa9cfdf33b8d7fb7aff27792192e0019ae8fc6"
      ],
      "author": {
        "name": "Li Hong",
        "email": "lihong.hi@gmail.com",
        "time": "Wed Mar 31 15:41:00 2010 +0800"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Wed Mar 31 16:55:00 2010 +0900"
      },
      "message": "nilfs2: fix a wrong type conversion in nilfs_ioctl()\n\n(void * __user *) should be (void __user *)\n\nSigned-off-by: Li Hong \u003clihong.hi@gmail.com\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "0cad8a1130f77c7c445e3298c0e3593b3c0ef439",
      "tree": "1f045f7baccc9dd2c1ac805b94cdedc4bbab618f",
      "parents": [
        "287a0ab91d25ca982f895a76402e5893b47ed7a6"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Wed Mar 17 20:45:56 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Mar 30 21:19:09 2010 -0400"
      },
      "message": "Btrfs: fix chunk allocate size calculation\n\nIf the amount of free space left in a device is less than what we think should\nbe the minimum size, just ignore the minimum size and use the amount we have.  I\nran into this running tests on a 600mb volume, the chunk allocator wouldn\u0027t let\nme allocate the last 52mb of the disk for data because we want to have at least\n64mb chunks for data.  This patch fixes that problem.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "287a0ab91d25ca982f895a76402e5893b47ed7a6",
      "tree": "fcbe35daef2b4cbdc2bfc0c6026e7c45faef0245",
      "parents": [
        "1b1d1f6625e517a08640ddb4b8f8a0e025243fe3"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Fri Mar 19 18:07:23 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Mar 30 21:19:09 2010 -0400"
      },
      "message": "Btrfs: kill max_extent mount option\n\nAs Yan pointed out, theres not much reason for all this complicated math to\naccount for file extents being split up into max_extent chunks, since they are\nlikely to all end up in the same leaf anyway.  Since there isn\u0027t much reason to\nuse max_extent, just remove the option altogether so we have one less thing we\nneed to test.\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "1b1d1f6625e517a08640ddb4b8f8a0e025243fe3",
      "tree": "d662fe7e7d9ddec1214982b3dcd955228e18562f",
      "parents": [
        "6cf8bfbf5e88edfb09a2bf0631a067060f534592"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Fri Mar 19 20:49:55 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Mar 30 21:19:09 2010 -0400"
      },
      "message": "Btrfs: fail to mount if we have problems reading the block groups\n\nWe don\u0027t actually check the return value of btrfs_read_block_groups, so we can\npossibly succeed to mount, but then fail to say read the superblock xattr for\nselinux which will cause the vfs code to deactivate the super.\n\nThis is a problem because in find_free_extent we just assume that we\nwill find the right space_info for the allocation we want.  But if we\nfailed to read the block groups, we won\u0027t have setup any space_info\u0027s,\nand we\u0027ll hit a NULL pointer deref in find_free_extent.\n\nThis patch fixes that problem by checking the return value of\nbtrfs_read_block_groups, and failing out properly.  I\u0027ve also added a\ncheck in find_free_extent so if for some reason we don\u0027t find an\nappropriate space_info, we just return -ENOSPC.\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "6cf8bfbf5e88edfb09a2bf0631a067060f534592",
      "tree": "70cc8040189bcd623e72ab1f09c6dc4fb40741e5",
      "parents": [
        "c2b96929e2ca6914cf4a66cd8fe2a34c4a98277f"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Sat Mar 20 11:22:10 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Mar 30 21:19:09 2010 -0400"
      },
      "message": "Btrfs: check btrfs_get_extent return for IS_ERR()\n\nbtrfs_get_extent() never returns NULL, only a valid pointer or ERR_PTR()\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "c2b96929e2ca6914cf4a66cd8fe2a34c4a98277f",
      "tree": "acfc0f7c28305f2057e6eed88ffd8b34441ba2e1",
      "parents": [
        "683be16eb6e19a35aca2473668652259ed074094"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Sat Mar 20 11:24:15 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Mar 30 21:19:09 2010 -0400"
      },
      "message": "Btrfs: handle kmalloc() failure in inode lookup ioctl\n\nReturn -ENOMEM if kmalloc() fails.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "683be16eb6e19a35aca2473668652259ed074094",
      "tree": "e6ed753b392a576999140ab9758db9c58dc60926",
      "parents": [
        "f3eae7e8a5ed124bbc781e18ea10c21856017322"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Sat Mar 20 11:24:48 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Mar 30 21:19:09 2010 -0400"
      },
      "message": "Btrfs: dereferencing freed memory\n\nThe original code dereferenced range on the next line.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "f3eae7e8a5ed124bbc781e18ea10c21856017322",
      "tree": "5e275277720e220ac3c9c2e3dcc404c39a76bbe8",
      "parents": [
        "ab59381ea43f81c977cbd09add26950aaf6cb9fe"
      ],
      "author": {
        "name": "Zhao Lei",
        "email": "zhaolei@cn.fujitsu.com",
        "time": "Thu Mar 25 12:32:59 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Mar 30 21:19:09 2010 -0400"
      },
      "message": "Btrfs: Simplify num_stripes\u0027s calculation logical for __btrfs_alloc_chunk()\n\nWe can use this simple method to make source more readable.\n\nSigned-off-by: Zhao Lei \u003czhaolei@cn.fujitsu.com\u003e\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "ab59381ea43f81c977cbd09add26950aaf6cb9fe",
      "tree": "5c009854f6c04996492b3bcadc538ed9264948b9",
      "parents": [
        "471fa17dff556ad38caf26de097c0630530d8cbe"
      ],
      "author": {
        "name": "Zhao Lei",
        "email": "zhaolei@cn.fujitsu.com",
        "time": "Thu Mar 25 12:34:49 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Mar 30 21:19:09 2010 -0400"
      },
      "message": "Btrfs: Add error handle for btrfs_search_slot() in btrfs_read_chunk_tree()\n\nWe need to check return value of btrfs_search_slot() in\nbtrfs_read_chunk_tree() and do corresponding error handing.\n\nSigned-off-by: Zhao Lei \u003czhaolei@cn.fujitsu.com\u003e\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "471fa17dff556ad38caf26de097c0630530d8cbe",
      "tree": "1a89bf8fa9eb34df3512c1216d5a92a29327a98d",
      "parents": [
        "90d2c51dbb4db05c040bc7db264bb7ab35e35455"
      ],
      "author": {
        "name": "Zhao Lei",
        "email": "zhaolei@cn.fujitsu.com",
        "time": "Thu Mar 25 12:35:14 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Mar 30 21:19:08 2010 -0400"
      },
      "message": "Btrfs: Remove unnecessary finish_wait() in wait_current_trans()\n\nWe only need to call finish_wait() after wait loop.\n\nBy the way, this patch makes code of waiting loop similar to\nexample in wait.h(no functional change)\n\nSigned-off-by: Zhao Lei \u003czhaolei@cn.fujitsu.com\u003e\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "90d2c51dbb4db05c040bc7db264bb7ab35e35455",
      "tree": "d97b50f0a064366aecce9671b8e1791263999e59",
      "parents": [
        "2f3014fc2ab1e25c36531e19164c48182c168995"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Thu Mar 25 12:37:12 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Mar 30 21:19:08 2010 -0400"
      },
      "message": "Btrfs: add NULL check for do_walk_down()\n\nbtrfs_find_create_tree_block() may return NULL, so we must check the returned\nvalue, or we will access a NULL pointer.\n\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "2f3014fc2ab1e25c36531e19164c48182c168995",
      "tree": "84a906ae0d4c963377d768d8ec80a308122a4687",
      "parents": [
        "8ad6fcab564c5bc956bdc3dfa440ab152b6e780f"
      ],
      "author": {
        "name": "Andrea Gelmini",
        "email": "andrea.gelmini@gelma.net",
        "time": "Thu Mar 25 17:22:45 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Mar 30 21:19:08 2010 -0400"
      },
      "message": "Btrfs: remove duplicate include in ioctl.c\n\nfs/btrfs/ioctl.c: ctree.h is included more than once.\n\nSigned-off-by: Andrea Gelmini \u003candrea.gelmini@gelma.net\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "9358c6d4c0264b1572554c49c4b92673ea9a5c72",
      "tree": "3d11a5021487dccf61b8d53c66c32df6b84223eb",
      "parents": [
        "2eaa9cfdf33b8d7fb7aff27792192e0019ae8fc6"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Mar 30 13:54:41 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Mar 30 13:55:22 2010 -0700"
      },
      "message": "ceph: fix dentry rehashing on virtual .snap dir\n\nIf a lookup fails on the magic .snap directory, we bind it to a magic\nsnap directory inode in ceph_lookup_finish().  That code assumes the dentry\nis unhashed, but a recent server-side change started returning NULL leases\non lookup failure, causing the .snap dentry to be hashed and NULL by\nceph_fill_trace().\n\nThis causes dentry hash chain corruption, or a dies when d_rehash()\nincludes\n\tBUG_ON(!d_unhashed(entry));\n\nSo, avoid processing the NULL dentry lease if it the dentry matches the\nsnapdir name in ceph_fill_trace().  That allows the lookup completion to\nproperly bind it to the snapdir inode.  BUG there if dentry is hashed to\nbe sure.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "b7b7fa43103a9fb30dbcc60cbd5161fdfc25f904",
      "tree": "8d384f813009478e24ff41505dd2d96ef60c8e52",
      "parents": [
        "2eaa9cfdf33b8d7fb7aff27792192e0019ae8fc6"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@jeffreymahoney.com",
        "time": "Mon Mar 29 15:12:39 2010 -0400"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Mar 30 22:13:09 2010 +0200"
      },
      "message": "reiserfs: Fix locking BUG during mount failure\n\nCommit 8ebc423238341b52912c7295b045a32477b33f09 (reiserfs: kill-the-BKL)\nintroduced a bug in the mount failure case.\n\nThe error label releases the lock before calling journal_release_error,\nbut it requires that the lock be held. do_journal_release unlocks and\nretakes it. When it releases it without it held, we trigger a BUG().\n\nThe error_alloc label skips the unlock since the lock isn\u0027t held yet\nbut none of the other conditions that are clean up exist yet either.\n\nThis patch returns immediately after the kzalloc failure and moves\nthe reiserfs_write_unlock after the journal_release_error call.\n\nThis was reported in https://bugzilla.novell.com/show_bug.cgi?id\u003d591807\n\nReported-by:  Thomas Siedentopf \u003cthomas.siedentopf@novell.com\u003e\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\nCc: Thomas Siedentopf \u003cthomas.siedentopf@novell.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: 2.6.33.x \u003cstable@kernel.org\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "e05c378f4973674a16d5b9636f2310cf88aca5f2",
      "tree": "58beed3ac4007e00ad58e4391f9d13ada1f9b918",
      "parents": [
        "6be7fa06eb4d721df734bd0946b5e63b27c0589b"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Mar 30 18:25:17 2010 +0200"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Mar 30 18:25:17 2010 +0200"
      },
      "message": "[LogFS] Remove unused method\n\nAll callers are long gone.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "4660d3d240ac6c92cd3ad33657ca302026bdc24b",
      "tree": "b4ef5c5d2d1e127e9ea80bd047247fdb2d1547ed",
      "parents": [
        "be3fd3cc7c2142c46d5dcfec05e6031990d1f2ca",
        "6be7fa06eb4d721df734bd0946b5e63b27c0589b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 30 07:24:55 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 30 07:24:55 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/joern/logfs\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/joern/logfs:\n  [LogFS] Erase new journal segments\n  [LogFS] Move reserved segments with journal\n  [LogFS] Clear PagePrivate when moving journal\n  Simplify and fix pad_wbuf\n  Prevent data corruption in logfs_rewrite_block()\n  Use deactivate_locked_super\n  Fix logfs_get_sb_final error path\n  Write out both superblocks on mismatch\n  Prevent schedule while atomic in __logfs_readdir\n  Plug memory leak in writeseg_end_io\n  Limit max_pages for insane devices\n  Open segment file before using it\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "9623e5a23724d09283c238960946ec6f65733afe",
      "tree": "5fc1e3ef74ae13ff28c2357f35579af5fdc3f045",
      "parents": [
        "9f321603724be7386ea39ea41fd885954db60a4a",
        "14741472a05245ed5778aa0aec055e1f920b6ef8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 29 14:42:39 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 29 14:42:39 2010 -0700"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2:\n  ocfs2: Fix a race in o2dlm lockres mastery\n  Ocfs2: Handle deletion of reflinked oprhan inodes correctly.\n  Ocfs2: Journaling i_flags and i_orphaned_slot when adding inode to orphan dir.\n  ocfs2: Clear undo bits when local alloc is freed\n  ocfs2: Init meta_ac properly in ocfs2_create_empty_xattr_block.\n  ocfs2: Fix the update of name_offset when removing xattrs\n  ocfs2: Always try for maximum bits with new local alloc windows\n  ocfs2: set i_mode on disk during acl operations\n  ocfs2: Update i_blocks in reflink operations.\n  ocfs2: Change bg_chain check for ocfs2_validate_gd_parent.\n  [PATCH] Skip check for mandatory locks when unlocking\n"
    }
  ],
  "next": "9f321603724be7386ea39ea41fd885954db60a4a"
}
