)]}'
{
  "log": [
    {
      "commit": "0599ad53fee2d084f9ba26247d7452f06a40d298",
      "tree": "2d31232e6991d507ff60ec6a774eb0b27de7aeca",
      "parents": [
        "dcc997738e538919101d8756f19ca23110b25d8d"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed May 14 22:34:16 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 14 22:34:16 2008 -0700"
      },
      "message": "sysfs: remove error messages for -EEXIST case\n\nIt is possible that the entry in sysfs already exists, one case of this is\nwhen a network device is renamed to bonding_masters. Anyway, in this case\nthe proper error path is for device_rename to return an error code, not to\ngenerate bogus backtrace and errors.\n\nAlso, to avoid possible races, the create link should be done before the\nremove link. This makes a device rename atomic operation like other renames.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8f40f672e6bb071812f61bfbd30efc3fc1263ad1",
      "tree": "8dcdbbb7adc68647267794c4e3a4686afd94ad65",
      "parents": [
        "8978a318837d7acefca82645017c0534aeba5a36",
        "887b3ece65be7b643dfdae0d433c91a26a3f437d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 14 19:30:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 14 19:30:51 2008 -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 ssh://master.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:\n  9p: fix error path during early mount\n  9p: make cryptic unknown error from server less scary\n  9p: fix flags length in net\n  9p: Correct fidpool creation failure in p9_client_create\n  9p: use struct mutex instead of struct semaphore\n  9p: propagate parse_option changes to client and transports\n  fs/9p/v9fs.c (v9fs_parse_options): Handle kstrdup and match_strdup failure.\n  9p: Documentation updates\n  add match_strlcpy() us it to make v9fs make uname and remotename parsing more robust\n"
    },
    {
      "commit": "7e01c8e5420b6c7f9d85d34c15d8c7a15c9fc720",
      "tree": "9208cb180253bd98208ae3be34ffc10526d4f949",
      "parents": [
        "0c70814c311581a6c86198db4f982aa683c68fb8"
      ],
      "author": {
        "name": "Tiger Yang",
        "email": "tiger.yang@oracle.com",
        "time": "Wed May 14 16:05:47 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 14 19:11:14 2008 -0700"
      },
      "message": "ext3/4: fix uninitialized bs in ext3/4_xattr_set_handle()\n\nThis fix the uninitialized bs when we try to replace a xattr entry in\nibody with the new value which require more than free space.\n\nThis situation only happens we format ext3/4 with inode size more than 128 and\nwe have put xattr entries both in ibody and block.  The consequences about\nthis bug is we will lost the xattr block which pointed by i_file_acl with all\nxattr entires in it.  We will alloc a new xattr block and put that large value\nentry in it.  The old xattr block will become orphan block.\n\nSigned-off-by: Tiger Yang \u003ctiger.yang@oracle.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nAcked-by: Andreas Dilger \u003cadilger@sun.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": "772279c5f1dceb58d451dca94b557fd89b1ce890",
      "tree": "fa547bae10644896db94514db052443c6d903533",
      "parents": [
        "c3723ca3874a8fc2218c4726d57e3a7da9e83e47"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Wed May 14 16:05:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 14 19:11:14 2008 -0700"
      },
      "message": "jbd: need to hold j_state_lock to updates to transaction t_state to T_COMMIT\n\nUpdating the current transaction\u0027s t_state is protected by j_state_lock.  We\nneed to do the same when updating the t_state to T_COMMIT.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nAcked-by: Jan Kara \u003cjack@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "887b3ece65be7b643dfdae0d433c91a26a3f437d",
      "tree": "471889dcdd3f7eb6762d863fef236014c63a0301",
      "parents": [
        "332c421e67045343de74e644cdf389f559f0d83f"
      ],
      "author": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@opteron.9grid.us",
        "time": "Thu May 08 20:26:37 2008 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@opteron.9grid.us",
        "time": "Wed May 14 19:23:27 2008 -0500"
      },
      "message": "9p: fix error path during early mount\n\nThere was some cleanup issues during early mount which would trigger\na kernel bug for certain types of failure.  This patch reorganizes the\ncleanup to get rid of the bad behavior.\n\nThis also merges the 9pnet and 9pnet_fd modules for the purpose of\nconfiguration and initialization.  Keeping the fd transport separate\nfrom the core 9pnet code seemed like a good idea at the time, but in\npractice has caused more harm and confusion than good.\n\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "ab31267dfeddf80b2e483f077c8b03905993722b",
      "tree": "4038124e6ded2b6d2eb54385d86d245af58f2b91",
      "parents": [
        "ee443996a35c1e04f210cafd43d5a98d41e46085"
      ],
      "author": {
        "name": "Jim Meyering",
        "email": "jim@meyering.net",
        "time": "Thu Mar 06 17:10:28 2008 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@opteron.9grid.us",
        "time": "Wed May 14 19:23:25 2008 -0500"
      },
      "message": "fs/9p/v9fs.c (v9fs_parse_options): Handle kstrdup and match_strdup failure. Now that this function can fail, return an int, diagnose other option-parsing failures, and adjust the sole caller: (v9fs_session_init): Handle kstrdup failure. Propagate any new v9fs_parse_options failure \"up\".\n\nSigned-off-by: Jim Meyering \u003cmeyering@redhat.com\u003e\nCc: Ron Minnich \u003crminnich@sandia.gov\u003e\nCc: Latchesar Ionkov \u003clucho@ionkov.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nAcked-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "ee443996a35c1e04f210cafd43d5a98d41e46085",
      "tree": "58ee72b69a02d9dbb3a98e402a4561baba0eb9a8",
      "parents": [
        "b32a09db4fb9a87246ba4e7726a979ac4709ad97"
      ],
      "author": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@ericvh-desktop.(none)",
        "time": "Wed Mar 05 07:08:09 2008 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@opteron.9grid.us",
        "time": "Wed May 14 19:23:25 2008 -0500"
      },
      "message": "9p: Documentation updates\n\nThe kernel-doc comments of much of the 9p system have been in disarray since\nreorganization.  This patch fixes those problems, adds additional documentation\nand a template book which collects the 9p information.\n\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "b32a09db4fb9a87246ba4e7726a979ac4709ad97",
      "tree": "b84cf43745c329ccbcbd2671da91e729db8132ca",
      "parents": [
        "dd286422fefdcff784e8d336deeb88ce817e14db"
      ],
      "author": {
        "name": "Markus Armbruster",
        "email": "armbru@redhat.com",
        "time": "Tue Feb 26 09:57:11 2008 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@opteron.9grid.us",
        "time": "Wed May 14 19:23:25 2008 -0500"
      },
      "message": "add match_strlcpy() us it to make v9fs make uname and remotename parsing more robust\n\nmatch_strcpy() is a somewhat creepy function: the caller needs to make sure\nthat the destination buffer is big enough, and when he screws up or\nforgets, match_strcpy() happily overruns the buffer.\n\nThere\u0027s exactly one customer: v9fs_parse_options().  I believe it currently\ncan\u0027t overflow its buffer, but that\u0027s not exactly obvious.\n\nThe source string is a substing of the mount options.  The kernel silently\ntruncates those to PAGE_SIZE bytes, including the terminating zero.  See\ncompat_sys_mount() and do_mount().\n\nThe destination buffer is obtained from __getname(), which allocates from\nname_cachep, which is initialized by vfs_caches_init() for size PATH_MAX.\n\nWe\u0027re safe as long as PATH_MAX \u003c\u003d PAGE_SIZE.  PATH_MAX is 4096.  As far as\nI know, the smallest PAGE_SIZE is also 4096.\n\nHere\u0027s a patch that makes the code a bit more obviously correct.  It\ndoesn\u0027t depend on PATH_MAX \u003c\u003d PAGE_SIZE.\n\nSigned-off-by: Markus Armbruster \u003carmbru@redhat.com\u003e\nCc: Latchesar Ionkov \u003clucho@ionkov.net\u003e\nCc: Jim Meyering \u003cmeyering@redhat.com\u003e\nCc: \"Randy.Dunlap\" \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "43f14d856f013a4cc63da2c765617c665274338c",
      "tree": "f43026859c7fb6c6d9268fb0d6ff05fecb002652",
      "parents": [
        "d850a2fac11e4dd45d1d3d493a5a071b06c58c99"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@gmail.com",
        "time": "Mon May 12 14:02:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 13 08:02:26 2008 -0700"
      },
      "message": "eCryptFS: fix imbalanced mutex locking\n\nFix imbalanced calls for mutex lock/unlock on ecryptfs_daemon_hash_mux\nRevealed by Ingo Molnar: http://lkml.org/lkml/2008/5/7/260\n\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@gmail.com\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f36f21ecca9ee688301174e5f2e0827827a7a7ff",
      "tree": "b147bb5cc37683dfe01c86fba634808aa2ff567d",
      "parents": [
        "78bb6cb9a890d3d50ca3b02fce9223d3e734ab9b"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Mon May 12 14:02:33 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 13 08:02:26 2008 -0700"
      },
      "message": "Fix misuses of bdevname()\n\nbdevname() fills the buffer that it is given as a parameter, so calling\nstrcpy() or snprintf() on the returned value is redundant (and probably not\nguaranteed to work - I don\u0027t think strcpy and snprintf support overlapping\nbuffers.)\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Stephen Tweedie \u003csct@redhat.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "78bb6cb9a890d3d50ca3b02fce9223d3e734ab9b",
      "tree": "330cc4fd17af9176ae9e2ee833e1097638fd1b30",
      "parents": [
        "0f146a764ff08c4c210c04239c5e6784b4b77485"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Mon May 12 14:02:32 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 13 08:02:26 2008 -0700"
      },
      "message": "fuse: add flag to turn on big writes\n\nPrior to 2.6.26 fuse only supported single page write requests.  In theory all\nfuse filesystem should be able support bigger than 4k writes, as there\u0027s\nnothing in the API to prevent it.  Unfortunately there\u0027s a known case in\nNTFS-3G where big writes cause filesystem corruption.  There could also be\nother filesystems, where the lack of testing with big write requests would\nresult in bugs.\n\nTo prevent such problems on a kernel upgrade, disable big writes by default,\nbut let filesystems set a flag to turn it on.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: Szabolcs Szakacsits \u003cszaka@ntfs-3g.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4cd1a8fc3d3cd740416b14ece2693dbb5d065eaf",
      "tree": "2acebe40e15b91a3df78ea5b677a84c509a30ae0",
      "parents": [
        "c9bfcb3151040cff6714542d1da04ccd7e2d3efc"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Mon May 12 14:02:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 13 08:02:25 2008 -0700"
      },
      "message": "memcg: fix possible panic when CONFIG_MM_OWNER\u003dy\n\nWhen mm destruction happens, we should pass mm_update_next_owner() the old mm.\n But unfortunately new mm is passed in exec_mmap().\n\nThus, kernel panic is possible when a multi-threaded process uses exec().\n\nAlso, the owner member comment description is wrong.  mm-\u003eowner does not\nnecessarily point to the thread group leader.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: \"Paul Menage\" \u003cmenage@google.com\u003e\nCc: \"KAMEZAWA Hiroyuki\" \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "706322496b3a58af3cf258db2b553d6933656eef",
      "tree": "ec64bbc9e20be4a5b2baf9dcbb3e2201e822c97f",
      "parents": [
        "4413a0f637df4e59b934909ac388a21cfdd90e69"
      ],
      "author": {
        "name": "Eric Sesterhenn",
        "email": "snakebyte@gmx.de",
        "time": "Mon May 12 14:02:21 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 13 08:02:24 2008 -0700"
      },
      "message": "Fix hfsplus oops on image without extents\n\nFix an oops with a corrupted hfs+ image.\n\nSee http://bugzilla.kernel.org/show_bug.cgi?id\u003d10548 for details.\n\nProblem is that we call hfs_btree_open() from hfsplus_fill_super() to set\nHFSPLUS_SB(sb).[ext_tree|cat_tree] Both trees are still NULL at this moment.\nIf hfs_btree_open() fails for any reason it calls iput() on the page, which\ngets to hfsplus_releasepage() which tries to access HFSPLUS_SB(sb).* which is\nstill NULL and oopses while dereferencing it.\n\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "289f8e27ed435dcbefad132def06f4e84351e94f",
      "tree": "e5b3f6206111d5ba1c71eb13a2f01813f4403cee",
      "parents": [
        "c8894419acf5e56851de9741c5047bebd78acd1f"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Mon May 12 14:02:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 13 08:02:24 2008 -0700"
      },
      "message": "capabilities: add bounding set to /proc/self/status\n\nThere is currently no way to query the bounding set of another task.  As there\nappears to be no security reason not to, and as Michael Kerrisk points out the\nfollowing valid reasons to do so exist:\n\n* consistency (I can see all of the other per-thread/process sets in\n  /proc/.../status)\n\n* debugging -- I could imagine that it would make the job of debugging an\n  application that uses capabilities a little simpler.\n\nthis patch adds the bounding set to /proc/self/status right after the\neffective set.\n\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Michael Kerrisk \u003cmtk.manpages@gmail.com\u003e\nAcked-by: Andrew G. Morgan \u003cmorgan@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": "9377abd026bf9bde7db90dac09170034bf6d1cbf",
      "tree": "2a4740d19651ca9604dc577927b72064e0eadf59",
      "parents": [
        "bb45d64224e5cafe8c8e0d18a20da998e5a7dc93"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon May 12 14:02:08 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 13 08:02:23 2008 -0700"
      },
      "message": "quota: don\u0027t call sync_fs() from vfs_quota_off() when there\u0027s no quota turn off\n\nSometimes, vfs_quota_off() is called on a partially set up super block (for\nexample when fill_super() fails for some reason).  In such cases we cannot\ncall -\u003esync_fs() because it can Oops because of not properly filled in super\nblock.  So in case we find there\u0027s not quota to turn off, we just skip\neverything and return which fixes the above problem.\n\n[akpm@linux-foundation.org: fxi tpyo]\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bb45d64224e5cafe8c8e0d18a20da998e5a7dc93",
      "tree": "e2c8657016ad960e61e11e7b702ca6689faf4f73",
      "parents": [
        "b5be11329f8cb2cc1a4c3b33b6b8d096c6012895"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon May 12 14:02:06 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 13 08:02:23 2008 -0700"
      },
      "message": "ufs: remove unneeded ufs_put_inode prototype\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nAcked-by: Evgeniy Dushistov \u003cdushistov@mail.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8dc4e37362a5dc910d704d52ac6542bfd49ddc2f",
      "tree": "22f9a2e074a7718c90747bc0458845f54468d4fc",
      "parents": [
        "64d032ba434ad41586460811148f01511e5612f9"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Mon May 12 14:02:04 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 13 08:02:23 2008 -0700"
      },
      "message": "ecryptfs: clean up (un)lock_parent\n\ndget(dentry-\u003ed_parent) --\u003e dget_parent(dentry)\n\nunlock_parent() is racy and unnecessary.  Replace single caller with\nunlock_dir().\n\nThere are several other suspect uses of -\u003ed_parent in ecryptfs...\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "46d7b522ebf486edbd096965d534cc6465e9e309",
      "tree": "7c48c54b4d21de01ee383e07d2b2652af7174c49",
      "parents": [
        "a0612b1f0b3d851458dafe5886e33d58c1967440"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon May 12 14:01:50 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 13 08:02:21 2008 -0700"
      },
      "message": "uml: move hppfs_kern.c to hppfs.c\n\nThere\u0027s no reason for the _kern in hppfs_kern.c, so move it to hppfs.c.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a0612b1f0b3d851458dafe5886e33d58c1967440",
      "tree": "b7da1c80db4b280eb146342d39d19791ca3579d2",
      "parents": [
        "96cee3044dca2e6510ca7cc276d1eac34a1cfd51"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon May 12 14:01:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 13 08:02:21 2008 -0700"
      },
      "message": "uml: hppfs fixes\n\nhppfs tidying and fixes noticed during hch\u0027s get_inode work -\n      style fixes\n      a copy_to_user got its return value checked\n      hppfs_write no longer fiddles file-\u003ef_pos because it gets and\nreturns pos in its arguments\n      hppfs_delete_inode dputs the underlyng procfs dentry stored in\nits private data and mntputs the vfsmnt stashed in s_fs_info\n      hppfs_put_super no longer needs to mntput the s_fs_info, so it\nno longer needs to exist\n      hppfs_readlink and hppfs_follow_link were doing a bunch of stuff\nwith a struct file which they didn\u0027t use\n      there is now a -\u003epermission which calls generic_permission\n      get_inode was always returning 0 for some reason - it now\nreturns an inode if nothing bad happened\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "542dafadd81eb5826280f7714592930144ae3e1f",
      "tree": "f8ab7da88c9181b49ca272ccb34ff53de5a9f2d4",
      "parents": [
        "9404ef02974a5411687b6c1b8ef3984305620e02",
        "e691b9d1a096fbaaff9d6d6aef1adc593b786e62"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 12 13:29:15 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 12 13:29:15 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:\n  [CIFS] don\u0027t allow demultiplex thread to exit until kthread_stop is called\n  [CIFS] when not using unix extensions, check for and set ATTR_READONLY on create and mkdir\n  [CIFS]  add local struct inode pointer to cifs_setattr\n  [CIFS] cifs_find_tcp_session cleanup\n"
    },
    {
      "commit": "c3921ab71507b108d51a0f1ee960f80cd668a93d",
      "tree": "b1408b898a8b50f15ad4a0cf1f29e17cc0138485",
      "parents": [
        "9662369786b9d07fd46d65b0f9e3938a3e01a5d9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 11 16:04:48 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 11 16:04:48 2008 -0700"
      },
      "message": "Add new \u0027cond_resched_bkl()\u0027 helper function\n\nIt acts exactly like a regular \u0027cond_resched()\u0027, but will not get\noptimized away when CONFIG_PREEMPT is set.\n\nNormal kernel code is already preemptable in the presense of\nCONFIG_PREEMPT, so cond_resched() is optimized away (see commit\n02b67cc3ba36bdba351d6c3a00593f4ec550d9d3 \"sched: do not do\ncond_resched() when CONFIG_PREEMPT\").\n\nBut when wanting to conditionally reschedule while holding a lock, you\nneed to use \"cond_sched_lock(lock)\", and the new function is the BKL\nequivalent of that.\n\nAlso make fs/locks.c use it.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e691b9d1a096fbaaff9d6d6aef1adc593b786e62",
      "tree": "a329a4d115315d4dd459d171c3c98b2bc8c4728b",
      "parents": [
        "67750fb9e07940c078d1edb16fd736ccc92a4a4e"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sun May 11 15:53:33 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sun May 11 17:45:44 2008 +0000"
      },
      "message": "[CIFS] don\u0027t allow demultiplex thread to exit until kthread_stop is called\n\ncifs_demultiplex_thread can exit under several conditions:\n\n1) if it\u0027s signaled\n2) if there\u0027s a problem with session setup\n3) if kthread_stop is called on it\n\nThe first two are problems. If kthread_stop is called on the thread,\nthere is no guarantee that it will still be up. We need to have the\nthread stay up until kthread_stop is called on it.\n\nOne option would be to not even try to tear things down until after\nkthread_stop is called. However, in the case where there is a problem\nsetting up the session, there\u0027s no real reason to try continuing the\nloop.\n\nThis patch allows the thread to clean up and prepare for exit under all\nthree conditions, but it has the thread go to sleep until kthread_stop\nis called. This allows us to simplify the shutdown code somewhat since\nwe can be reasonably sure that the thread won\u0027t exit after being\nsignaled but before kthread_stop is called.\n\nIt also removes the places where the thread itself set the tsk variable\nsince it appeared that it could have a potential race where the thread\nmight never be shut down.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nAcked-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "67750fb9e07940c078d1edb16fd736ccc92a4a4e",
      "tree": "e0f2f224e6b06f02fc7961f7e0e64263a826e8fa",
      "parents": [
        "02eadeffda169a45946c79270ec19f45eeafb8e7"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri May 09 22:28:02 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sun May 11 17:45:43 2008 +0000"
      },
      "message": "[CIFS] when not using unix extensions, check for and set ATTR_READONLY on create and mkdir\n\nWhen creating a directory on a CIFS share without POSIX extensions,\nand the given mode has no write bits set, set the ATTR_READONLY bit.\n\nWhen creating a file, set ATTR_READONLY if the create mode has no write\nbits set and we\u0027re not using unix extensions.\n\nThere are some comments about this being problematic due to the VFS\nsplitting creates into 2 parts. I\u0027m not sure what that\u0027s actually\ntalking about, but I\u0027m assuming that it has something to do with how\nmknod is implemented. In the simple case where we have no unix\nextensions and we\u0027re just creating a regular file, there\u0027s no reason\nwe can\u0027t set ATTR_READONLY.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "02eadeffda169a45946c79270ec19f45eeafb8e7",
      "tree": "b416ae6cd3d48b4188716cfd7fe7b90808bb28ac",
      "parents": [
        "1b20d672188bf80baef60d515a123f556871a5ce"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri May 09 21:26:11 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sun May 11 17:45:43 2008 +0000"
      },
      "message": "[CIFS]  add local struct inode pointer to cifs_setattr\n\nClean up cifs_setattr a bit by adding a local inode pointer, and\nchanging all of the direntry-\u003ed_inode references to it. This also adds a\nbit of micro-optimization. d_inode shouldn\u0027t change over the life of\nthis function, so we only need to dereference it once.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "1b20d672188bf80baef60d515a123f556871a5ce",
      "tree": "84849ef20b010d86b3fd840ab988eef9bf25e25c",
      "parents": [
        "5bb7ff795fffc9418e3039cac77b42adcaae1a57"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@gmail.com",
        "time": "Fri May 09 18:17:21 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sun May 11 17:45:43 2008 +0000"
      },
      "message": "[CIFS] cifs_find_tcp_session cleanup\n\nThis patch cleans up cifs_find_tcp_session so it become\nless indented. Also the error of skipping IPv6 matched\naddresses fixed.\n\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@gmail.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "26c5e98e88a6126adef2ddce21899e5afe823a2b",
      "tree": "b5300f706c700667384d811a74750d2fe287e0ae",
      "parents": [
        "a9545ee3c8153e133556aaaa8110337ca3f864dc",
        "af4b3c355cbd38703471e55d11f42d8640db4118"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 09 08:10:09 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 09 08:10:09 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:\n  [CIFS] fix build warning\n  [CIFS] Fixed build warning in is_ip\n  [CIFS] cleanup cifsd completion\n  [CIFS] Remove over-indented code in find_unc().\n  [CIFS] fix typo\n  [CIFS] Remove duplicate call to mode_to_acl\n  [CIFS] convert usage of implicit booleans to bool\n  [CIFS] fixed compatibility issue with samba refferal request\n  [CIFS] Fix statfs formatting\n  [CIFS] Adds to dns_resolver checking if the server name is an IP addr and skipping upcall in this case.\n  [CIFS] Fix spelling mistake\n  [CIFS] Update cifs version number\n"
    },
    {
      "commit": "af4b3c355cbd38703471e55d11f42d8640db4118",
      "tree": "8425a90a4e3bce73f1bb18d4e76be688a1f3c451",
      "parents": [
        "7c5e628f95b440b69332b1ed3eb112648fc8f7ff"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri May 09 03:48:05 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri May 09 03:48:05 2008 +0000"
      },
      "message": "[CIFS] fix build warning\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "7c5e628f95b440b69332b1ed3eb112648fc8f7ff",
      "tree": "a75a077ca4bccd71fa708b4761e755295b27fed4",
      "parents": [
        "cf432eb50ffd03572c08a006f44e0069957cf300"
      ],
      "author": {
        "name": "Igor Mammedov",
        "email": "niallain@gmail.com",
        "time": "Thu May 08 20:48:42 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu May 08 20:48:42 2008 +0000"
      },
      "message": "[CIFS] Fixed build warning in is_ip\n\nSigned-off-by: Igor Mammedov \u003cniallain@gmail.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "19566ca6dc26600bae4b75701d4dced8d8540f16",
      "tree": "5e1f732b80b0db2192cb184f11dde147b5ed1aee",
      "parents": [
        "f7c83a0aaa772f8d0189fa197d77c762caaa367a"
      ],
      "author": {
        "name": "Huang Weiyi",
        "email": "weiyi.huang@gmail.com",
        "time": "Thu May 08 22:36:27 2008 +0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 08 10:56:22 2008 -0700"
      },
      "message": "fs/proc/task_mmu.c: remove duplicated include files\n\nRemoved duplicated include files \u003clinux/ptrace.h\u003e and \u003clinux/seq_file.h\u003e in\nfs/proc/task_mmu.c.\n\nSigned-off-by: Huang Weiyi \u003cweiyi.huang@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7a34912d90c17a90d9fad12c4c51833b4e70707b",
      "tree": "a3811697f5eba3c5d12216ac76f681420046b219",
      "parents": [
        "0f1bce41fed02e45f31c2409f29e69e1fedebcdc",
        "75065ff619e42fe35178eda863cbcddd57776794"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 08 10:48:36 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 08 10:48:36 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  Revert \"relay: fix splice problem\"\n  docbook: fix bio missing parameter\n  block: use unitialized_var() in bio_alloc_bioset()\n  block: avoid duplicate calls to get_part() in disk stat code\n  cfq-iosched: make io priorities inherit CPU scheduling class as well as nice\n  block: optimize generic_unplug_device()\n  block: get rid of likely/unlikely predictions in merge logic\n  vfs: splice remove_suid() cleanup\n  cfq-iosched: fix RCU race in the cfq io_context destructor handling\n  block: adjust tagging function queue bit locking\n  block: sysfs store function needs to grab queue_lock and use queue_flag_*()\n"
    },
    {
      "commit": "0f1bce41fed02e45f31c2409f29e69e1fedebcdc",
      "tree": "21cde215291e59ccc5e10fadd74fbfc6206832ae",
      "parents": [
        "da1ba891f22835db9a2c349315c3763e9f4e4e67",
        "9afadc4b1fd25337003832c9a4668f9bd42cdda9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 08 10:48:03 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 08 10:48:03 2008 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6:\n  udf: Fix memory corruption when fs mounted with noadinicb option\n  udf: Make udf exportable\n  udf: fs/udf/partition.c:udf_get_pblock() mustn\u0027t be inline\n"
    },
    {
      "commit": "ba719baeabbff5476eeb91c223e6921ba29e1490",
      "tree": "f3023d34b9ca087412839f6b5937478d49e567ec",
      "parents": [
        "c1236d31a1b9fc018b85e15a3e58e3601ddc90ae"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Tue May 06 20:42:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 08 10:46:56 2008 -0700"
      },
      "message": "sys_pipe(): fix file descriptor leaks\n\nRemember to close the files if copy_to_user() failed.\n\nSpotted by dm.n9107@gmail.com.\n\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nCc: DM \u003cdm.n9107@gmail.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": "75065ff619e42fe35178eda863cbcddd57776794",
      "tree": "e41d6e838cb2d2fcd62e5ea1980f720e98b57de7",
      "parents": [
        "ffee0259c9edcc4c0f06b60df51c461eeecad4c0"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu May 08 14:06:19 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu May 08 14:06:19 2008 +0200"
      },
      "message": "Revert \"relay: fix splice problem\"\n\nThis reverts commit c3270e577c18b3d0e984c3371493205a4807db9d.\n"
    },
    {
      "commit": "ffee0259c9edcc4c0f06b60df51c461eeecad4c0",
      "tree": "c15df497b6bbe8fd7e9ed47cbfb3fba68be2e2df",
      "parents": [
        "eeae1d48c011839d9e1cdc1e8aacf0193c9d8197"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Wed Apr 30 09:08:54 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed May 07 18:35:03 2008 +0200"
      },
      "message": "docbook: fix bio missing parameter\n\nFix fs/bio.c kernel-doc parameter warning:\nWarning(linux-2.6.25-git14//fs/bio.c:972): No description found for parameter \u0027reading\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "eeae1d48c011839d9e1cdc1e8aacf0193c9d8197",
      "tree": "77696d424a374adf671b1afb2ed03a76a65fee48",
      "parents": [
        "28f13702f03e527fcb979747a882cf366c489c50"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed May 07 13:26:27 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed May 07 13:26:27 2008 +0200"
      },
      "message": "block: use unitialized_var() in bio_alloc_bioset()\n\nBetter than setting idx to some random value and it silences the\nsame bogus gcc warning.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "9afadc4b1fd25337003832c9a4668f9bd42cdda9",
      "tree": "45f0ce3a176c3562ff308189ced71ebb6f0a1110",
      "parents": [
        "221e583a735fc5d879d83c2a76b8ee5afcbdf146"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@ghost.suse.cz",
        "time": "Tue May 06 18:26:17 2008 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed May 07 09:49:52 2008 +0200"
      },
      "message": "udf: Fix memory corruption when fs mounted with noadinicb option\n\nWhen UDF filesystem is mounted with noadinicb mount option, it\nhappens that we extend an empty directory with a block. A code in\nudf_add_entry() didn\u0027t count with this possibility and used\nuninitialized data leading to memory and filesystem corruption.\nAdd a check whether file already has some extents before operating\non them.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "221e583a735fc5d879d83c2a76b8ee5afcbdf146",
      "tree": "332eaa88f4f814389262e68b17dea0b0e3b0820c",
      "parents": [
        "22ba0317c81ba263172baaefd2cb38de78c4598f"
      ],
      "author": {
        "name": "Rasmus Rohde",
        "email": "rohde@duff.dk",
        "time": "Wed Apr 30 17:22:06 2008 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed May 07 09:48:23 2008 +0200"
      },
      "message": "udf: Make udf exportable\n\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Rasmus Rohde \u003crohde@duff.dk\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "7f3d4ee108c184ab215036051087aaaaa8de7661",
      "tree": "373f4f928f0687ca84478964b43c26e3ec9cec70",
      "parents": [
        "07416d29bcf608257f1e5280642dcbe0021518a3"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed May 07 09:22:39 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed May 07 09:29:00 2008 +0200"
      },
      "message": "vfs: splice remove_suid() cleanup\n\ngeneric_file_splice_write() duplicates remove_suid() just because it\ndoesn\u0027t hold i_mutex.  But it grabs i_mutex inside splice_from_pipe()\nanyway, so this is rather pointless.\n\nMove locking to generic_file_splice_write() and call remove_suid() and\n__splice_from_pipe() instead.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "cf432eb50ffd03572c08a006f44e0069957cf300",
      "tree": "2d8101320fa03c4a1be7e4226e2f1e57e7e26a91",
      "parents": [
        "dea570e08a69b14808b2cab56d6b0dda72145fa6"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue May 06 22:27:16 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue May 06 22:27:16 2008 +0000"
      },
      "message": "[CIFS] cleanup cifsd completion\n\nWas a holdover from the old kernel_thread based cifsd\ncode. We needed to know that the thread had set the task variable\nbefore proceeding. Now that kthread_run returns the new task, this\ndoesn\u0027t appear to be needed anymore.\n\nAs best I can tell, this sleep was intended to try to prevent\ncifs_umount from freeing the cifsSesInfo struct before cifsd had\nexited. Now that cifsd is using the kthread API, we know that\nwhen kthread_stop returns that cifsd has exited, so I don\u0027t\nthink this is needed any longer.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nAcked-by: Christop Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "dea570e08a69b14808b2cab56d6b0dda72145fa6",
      "tree": "4ce8fb7e018083b77d63ce78f5a6350bcd0209ad",
      "parents": [
        "a815752ac0ffdb910e92958d41d28f4fb28e5296"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue May 06 22:05:51 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue May 06 22:05:51 2008 +0000"
      },
      "message": "[CIFS] Remove over-indented code in find_unc().\n\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@gmail.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "6ce07c7b61e74af35a05060a2d6341f68fd92c9e",
      "tree": "d24bdf708f8b864bba349a3e92d329337f4f5dc4",
      "parents": [
        "aeed5fce37196e09b4dac3a1c00d8b7122e040ce"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 06 13:13:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 06 13:13:37 2008 -0700"
      },
      "message": "VFS: fix unused variable warning\n\nCommit 33dcdac2df54e66c447ae03f58c95c7251aa5649 (\"kill -\u003eput_inode\")\nremoved the final use of i_op-\u003eput_inode, but left the now totally\nunused \"op\" variable in iput().\n\nGet rid of it.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0b2bac2f1ea0d33a3621b27ca68b9ae760fca2e9",
      "tree": "f5d150cc2177700f0881eecf8d9ed69bb82aba17",
      "parents": [
        "33dcdac2df54e66c447ae03f58c95c7251aa5649"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue May 06 13:58:34 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue May 06 13:58:34 2008 -0400"
      },
      "message": "[PATCH] fix SMP ordering hole in fcntl_setlk()\n\nfcntl_setlk()/close() race prevention has a subtle hole - we need to\nmake sure that if we *do* have an fcntl/close race on SMP box, the\naccess to descriptor table and inode-\u003ei_flock won\u0027t get reordered.\n\nAs it is, we get STORE inode-\u003ei_flock, LOAD descriptor table entry vs.\nSTORE descriptor table entry, LOAD inode-\u003ei_flock with not a single\nlock in common on both sides.  We do have BKL around the first STORE,\nbut check in locks_remove_posix() is outside of BKL and for a good\nreason - we don\u0027t want BKL on common path of close(2).\n\nSolution is to hold -\u003efile_lock around fcheck() in there; that orders\nus wrt removal from descriptor table that preceded locks_remove_posix()\non close path and we either come first (in which case eviction will be\nhandled by the close side) or we\u0027ll see the effect of close and do\neviction ourselves.  Note that even though it\u0027s read-only access,\nwe do need -\u003efile_lock here - rcu_read_lock() won\u0027t be enough to\norder the things.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a815752ac0ffdb910e92958d41d28f4fb28e5296",
      "tree": "a3aa16a282354da0debe8e3a3a7ed8aac6e54001",
      "parents": [
        "5ade9deaaa3e1f7291467d97b238648e43eae15e",
        "a15306365a16380f3bafee9e181ba01231d4acd7"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue May 06 17:55:32 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue May 06 17:55:32 2008 +0000"
      },
      "message": "Merge branch \u0027master\u0027 of /pub/scm/linux/kernel/git/torvalds/linux-2.6\n"
    },
    {
      "commit": "33dcdac2df54e66c447ae03f58c95c7251aa5649",
      "tree": "72163e37bd44452581f68d7991b14e70f37b8bba",
      "parents": [
        "dca3c33652e437ed02c30ed3eca3cecd0cc00838"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Apr 29 17:46:26 2008 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue May 06 13:45:34 2008 -0400"
      },
      "message": "[PATCH] kill -\u003eput_inode\n\nAnd with that last patch to affs killing the last put_inode instance we\ncan finally, after many years of transition kill this racy and awkward\ninterface.\n\n(It\u0027s kinda funny that even the description in\nDocumentation/filesystems/vfs.txt was entirely wrong..)\n\nAlso remove a very misleading comment above the defintion of\nstruct super_operations.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "dca3c33652e437ed02c30ed3eca3cecd0cc00838",
      "tree": "590db1cd28a19c85532ba8ec8abf5eeb70f993ea",
      "parents": [
        "a15306365a16380f3bafee9e181ba01231d4acd7"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Tue Apr 29 17:02:20 2008 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue May 06 13:45:33 2008 -0400"
      },
      "message": "[PATCH] fix reservation discarding in affs\n\n- remove affs_put_inode, so preallocations aren\u0027t discared unnecessarily\n  often.\n- remove affs_drop_inode, it\u0027s called with a spinlock held, so it can\u0027t\n  use a mutex.\n- make i_opencnt atomic\n- avoid direct b_count manipulations\n- a few allocation failure fixes, so that these are more gracefully\n  handled now.\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "eb28062f131b0a1da32b2554fd819af5221040de",
      "tree": "d952084a2c3258965a24f8cb22c3704f30107a1f",
      "parents": [
        "d0dcd41d7b463de955b7ae7a55f76ff4216ed665"
      ],
      "author": {
        "name": "Bryan Wu",
        "email": "cooloney@kernel.org",
        "time": "Sun May 04 23:12:55 2008 +0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 04 17:08:48 2008 -0700"
      },
      "message": "task_nommu: fix compile failing bug because of spilt file.h\n\n  CC      fs/proc/task_nommu.o\nfs/proc/task_nommu.c: In function ‘task_mem’:\nfs/proc/task_nommu.c:55: error: dereferencing pointer to incomplete type\nmake[2]: *** [fs/proc/task_nommu.o] Error 1\nmake[1]: *** [fs/proc] Error 2\nmake: *** [fs] Error 2\n\nSigned-off-by: Bryan Wu \u003ccooloney@kernel.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d35c7b0e54a596c5a8134d75999b7f391a9c6550",
      "tree": "697bb89dbeccae28eb928b2589f500d747ed38ec",
      "parents": [
        "2ddcca36c8bcfa251724fe342c8327451988be0d"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Sat May 03 15:10:37 2008 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 03 13:50:33 2008 -0700"
      },
      "message": "unified (weak) sys_pipe implementation\n\nThis replaces the duplicated arch-specific versions of \"sys_pipe()\" with\none unified implementation.  This removes almost 250 lines of duplicated\ncode.\n\nIt\u0027s marked __weak, so that *if* an architecture wants to override the\ndefault implementation it can do so by simply having its own replacement\nversion, since many architectures use alternate calling conventions for\nthe \u0027pipe()\u0027 system call for legacy reasons (ie traditional UNIX\nimplementations often return the two file descriptors in registers)\n\nI still haven\u0027t changed the cris version even though Linus says the BKL\nisn\u0027t needed.  The arch maintainer can easily do it if there are really\nno obstacles.\n\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4f9faaace217b854ae1e1746ee4ac44688ddadbd",
      "tree": "34122d9e84349a394988d6bfc480115e4809776a",
      "parents": [
        "bf640be423d60d954b9673527e106a461a129eb8",
        "f37f2c62a28e848e06399ea2f9be1e098212625c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 03 10:18:21 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 03 10:18:21 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (47 commits)\n  rose: Wrong list_lock argument in rose_node seqops\n  netns: Fix reassembly timer to use the right namespace\n  netns: Fix device renaming for sysfs\n  bnx2: Update version to 1.7.5.\n  bnx2: Update RV2P firmware for 5709.\n  bnx2: Zero out context memory for 5709.\n  bnx2: Fix register test on 5709.\n  bnx2: Fix remote PHY initial link state.\n  bnx2: Refine remote PHY locking.\n  bridge: forwarding table information for \u003e256 devices\n  tg3: Update version to 3.92\n  tg3: Add link state reporting to UMP firmware\n  tg3: Fix ethtool loopback test for 5761 BX devices\n  tg3: Fix 5761 NVRAM sizes\n  tg3: Use constant 500KHz MI clock on adapters with a CPMU\n  hci_usb.h: fix hard-to-trigger race\n  dccp: ccid2.c, ccid3.c use clamp(), clamp_t()\n  net: remove NR_CPUS arrays in net/core/dev.c\n  net: use get/put_unaligned_* helpers\n  bluetooth: use get/put_unaligned_* helpers\n  ...\n"
    },
    {
      "commit": "5ade9deaaa3e1f7291467d97b238648e43eae15e",
      "tree": "e1e5b82a78aa062f66336c5a11f3eecf8dac36cd",
      "parents": [
        "9b1ec9eceabe0c90d12116871f692263b69d476d"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri May 02 20:56:23 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri May 02 20:56:23 2008 +0000"
      },
      "message": "[CIFS] fix typo\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "be2e88011bd800222bfd7b477c727966f93186a9",
      "tree": "089ab03feb7cfde6a1b548e9de70ee35860d393d",
      "parents": [
        "d626e3bf728c47746f2129aa00c775d4e8c2a73b",
        "4ba1c5bfd2e5a6c9528eb7777b66c297e70f61ca"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 02 13:53:07 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 02 13:53:07 2008 -0700"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2:\n  ocfs2: Use GFP_NOFS in kmalloc during localalloc window move\n  ocfs2: Allow uid/gid/perm changes of symlinks\n  ocfs2/dlm: dlmdebug.c: make 2 functions static\n  ocfs2: make struct o2cb_stack_ops static\n  ocfs2: make struct ocfs2_control_device static\n  ocfs2: Correct merge of 52f7c21 (Move /sys/o2cb to /sys/fs/o2cb)\n"
    },
    {
      "commit": "b66e1f11ebc429569a3784aaf64123633d9e3ed1",
      "tree": "d49f96acc682aaf29416921428110da5fd78fea4",
      "parents": [
        "1be1d6b7f3f6e3a87f872dd5e7a867d03d8a6851",
        "5c598b3428c372a1209597cee99a70da20625876"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 02 11:23:14 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 02 11:23:14 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  [PATCH] fix sysctl_nr_open bugs\n  [PATCH] sanitize anon_inode_getfd()\n  [PATCH] split linux/file.h\n  [PATCH] make osf_select() use core_sys_select()\n  [PATCH] remove horrors with irix tty ioctls handling\n  [PATCH] fix file and descriptor handling in perfmon\n"
    },
    {
      "commit": "78e92b99ec4eb73755abd4e357b0b211eadafd88",
      "tree": "8db0049da6d0ce0a968b11fae12f3f91664881dd",
      "parents": [
        "8b169240e266d7fc58d9b9077d18d50a548d9732"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Fri May 02 04:12:41 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 02 04:12:41 2008 -0700"
      },
      "message": "netns: assign PDE-\u003edata before gluing entry into /proc tree\n\nIn this unfortunate case, proc_mkdir_mode wrapper can\u0027t be used anymore and\nthis is no way to reuse proc_create_data due to nlinks assignment. So,\ncopy the code from proc_mkdir and assign PDE-\u003edata at the appropriate\nmoment.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2c4aabcca847ac4c92aa5e960c3f6053e1051b62",
      "tree": "756481631c3375d6a1b07233013efa12d8aa3725",
      "parents": [
        "bcf35afb528109a31264b45d4851fa6ae72dbe18",
        "a98889f3d8882995b5aa2255b931cf0202325cc0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 11:15:28 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 11:15:28 2008 -0700"
      },
      "message": "Merge git://git.infradead.org/mtd-2.6\n\n* git://git.infradead.org/mtd-2.6:\n  [MTD][NOR] Add physical address to point() method\n  [JFFS2] Track parent inode for directories (for NFS export)\n  [JFFS2] Invert last argument of jffs2_gc_fetch_inode(), make it boolean.\n  [JFFS2] Quiet lockdep false positive.\n  [JFFS2] Clean up jffs2_alloc_inode() and jffs2_i_init_once()\n  [MTD] Delete long-unused jedec.h header file.\n  [MTD] [NAND] at91_nand: use at91_nand_{en,dis}able consistently.\n"
    },
    {
      "commit": "a98889f3d8882995b5aa2255b931cf0202325cc0",
      "tree": "686a1d3369143dc46c43709e0c40b2cc8ef619d7",
      "parents": [
        "27c72b040c0be8f3704ed0b6b84c12cbba24a7e8"
      ],
      "author": {
        "name": "Jared Hulbert",
        "email": "jaredeh@gmail.com",
        "time": "Tue Apr 29 23:26:49 2008 -0700"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Thu May 01 18:59:11 2008 +0100"
      },
      "message": "[MTD][NOR] Add physical address to point() method\n\nAdding the ability to get a physical address from point() in addition\nto virtual address.  This physical address is required for XIP of\nuserspace code from flash.\n\nSigned-off-by: Jared Hulbert \u003cjaredeh@gmail.com\u003e\nReviewed-by: Jörn Engel \u003cjoern@logfs.org\u003e\nAcked-by: Nicolas Pitre \u003cnico@cam.org\u003e\nAcked-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "27c72b040c0be8f3704ed0b6b84c12cbba24a7e8",
      "tree": "0b84847120e817465d517d21fa4653d958222567",
      "parents": [
        "1b690b48786229571e590dd22fe01ecc22a8746b"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Thu May 01 18:47:17 2008 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Thu May 01 18:47:17 2008 +0100"
      },
      "message": "[JFFS2] Track parent inode for directories (for NFS export)\n\nTo support NFS export, we need to know the parent inode of directories.\nRather than growing the jffs2_inode_cache structure, share space with\nthe nlink field -- which was always set to 1 for directories anyway.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "5c598b3428c372a1209597cee99a70da20625876",
      "tree": "2ab9df5d60471e28074e97dca3c97b8c37d626b3",
      "parents": [
        "2030a42cecd4dd1985a2ab03e25f3cd6106a5ca8"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Apr 27 20:04:15 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 01 13:08:57 2008 -0400"
      },
      "message": "[PATCH] fix sysctl_nr_open bugs\n\n* if luser with root sets it to something that is not a multiple of\n  BITS_PER_LONG, the system is screwed.\n* if it gets decreased at the wrong time, we can get expand_files()\n  returning success and _not_ increasing the size of table as asked.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2030a42cecd4dd1985a2ab03e25f3cd6106a5ca8",
      "tree": "7cb4710c3f7a4e034a20890f0df99bc42f9bbcee",
      "parents": [
        "9f3acc3140444a900ab280de942291959f0f615d"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Feb 23 06:46:49 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 01 13:08:50 2008 -0400"
      },
      "message": "[PATCH] sanitize anon_inode_getfd()\n\na) none of the callers even looks at inode or file returned by anon_inode_getfd()\nb) any caller that would try to look at those would be racy, since by the time\nit returns we might have raced with close() from another thread and that\nfile would be pining for fjords.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9f3acc3140444a900ab280de942291959f0f615d",
      "tree": "0d7f3f9698071ff90fb9a127a4c6e86e1c37c945",
      "parents": [
        "a2dcb44c3c5a8151d2d9f6ac8ad0789efcdbe184"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Apr 24 07:44:08 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 01 13:08:16 2008 -0400"
      },
      "message": "[PATCH] split linux/file.h\n\nInitial splitoff of the low-level stuff; taken to fdtable.h\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a2dcb44c3c5a8151d2d9f6ac8ad0789efcdbe184",
      "tree": "8711fc210dc58372a859e6a6cf78dc638d768600",
      "parents": [
        "bf7da7bcfb38409b4cdea34b0905bdf344f1b36d"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Apr 23 14:05:15 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 01 13:07:28 2008 -0400"
      },
      "message": "[PATCH] make osf_select() use core_sys_select()\n\n... instead of open-coding it\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1b690b48786229571e590dd22fe01ecc22a8746b",
      "tree": "6843a20b0d898f9c39ba4480a9ee58b32eb0e467",
      "parents": [
        "590fe34c47cb5c2d836ac76fabc5f160bf31a3f1"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Thu May 01 16:59:24 2008 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Thu May 01 17:24:28 2008 +0100"
      },
      "message": "[JFFS2] Invert last argument of jffs2_gc_fetch_inode(), make it boolean.\n\nWe don\u0027t actually care about nlink; we only care whether the inode in\nquestion is unlinked or not.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "bd7309677c937bf23296f6c81027123c84c5cc5c",
      "tree": "b5dfaf691425424c5f4a1ed23c1e019a111808fa",
      "parents": [
        "3dfcf9c4bf1fda4aa75861bcf6c50607dd322fe5"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Thu May 01 04:35:15 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:04:02 2008 -0700"
      },
      "message": "fuse: use clamp() rather than nested min/max\n\nclamp() exists for this use.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nCc: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "868eb7a8539d3e8c494209be2b1f4084a274dfef",
      "tree": "98fa82b87e638fc7898fd5a73db3e87b5d542d66",
      "parents": [
        "9d2de6ad2a78bb8b60bf7a54e6043dca44e9a801"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Thu May 01 04:35:10 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:04:01 2008 -0700"
      },
      "message": "autofs: path_{get,put}() cleanups\n\nHere are some more places where path_{get,put}() can be used instead of\ndput()/mntput() pair.  Besides that it fixes a bug in autofs4_mount_busy()\nwhere mntput() was called before dput().\n\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nCc: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9d2de6ad2a78bb8b60bf7a54e6043dca44e9a801",
      "tree": "6e5b7aea51d739ba0e26e4d795d53093ded3933a",
      "parents": [
        "033790449ba9c4dcf8478a87693d33df625c23b5"
      ],
      "author": {
        "name": "Jeff Moyer",
        "email": "jmoyer@redhat.com",
        "time": "Thu May 01 04:35:09 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:04:01 2008 -0700"
      },
      "message": "autofs4: fix incorrect return from root.c:try_to_fill_dentry()\n\nJeff Moyer has identified a case where the autofs4 function\nroot.c:try_to_fill_dentry() can return -EBUSY when it should return 0.\n\nJeff\u0027s description of the way this happens is:\n\n\"automount starts an expire for directory d.  after the callout to the daemon,\nbut before the rmdir, another process tries to walk into the same directory.\nIt puts itself onto the waitq, pending the expiration.\n\nWhen the expire finishes, the second process is woken up.  In\ntry_to_fill_dentry, it does this check:\n\n                status \u003d d_invalidate(dentry);\n                if (status !\u003d -EBUSY)\n                        return -EAGAIN;\n\nAnd status is EBUSY.  The dentry still has a non-zero d_inode, and the\nflags do not contain LOOKUP_CONTINUE or LOOKUP_DIRECTORY\n\nSo, we fall through and return -EBUSY to the caller.\"\n\nSigned-off-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nSigned-off-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "033790449ba9c4dcf8478a87693d33df625c23b5",
      "tree": "41cae3efc255949643166e9dad79bc8fc00893b8",
      "parents": [
        "cab0936aac8aa907c6bb814c2cf26385478f254b"
      ],
      "author": {
        "name": "Jeff Moyer",
        "email": "jmoyer@redhat.com",
        "time": "Thu May 01 04:35:08 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:04:01 2008 -0700"
      },
      "message": "autofs4: fix execution order race in mount request code\n\nJeff Moyer has identified a race in due to an execution order dependency\nin the autofs4 function root.c:try_to_fill_dentry().\n\nJeff\u0027s description of this race is:\n\n\"P1 does a lookup of /mount/submount/foo.  Since the VFS can\u0027t find an entry\nfor \"foo\" under /mount/submount, it calls into the autofs4 kernel module to\nallocate a new dentry, D1.  The kernel creates a new waitq for this lookup and\ncalls the daemon to perform the mount.\n\nThe daemon performs a mkdir of the \"foo\" directory under /mount/submount,\nwhich ends up creating a *new* dentry, D2.\n\nThen, P2 does a lookup of /mount/submount/foo.  The VFS path walking logic\nfinds a dentry in the dcache, D2, and calls the revalidate function with this.\n In the autofs4 revalidate code, we then trigger a mount, since the dentry is\nan empty directory that isn\u0027t a mountpoint, and so set DCACHE_AUTOFS_PENDING\nand call into the wait code to trigger the mount.\n\nThe wait code finds our existing waitq entry (since it is keyed off of the\ndirectory name) and adds itself to the list of waiters.\n\nAfter the daemon finishes the mount, it calls back into the kernel to release\nthe waiters.  When this happens, P1 is woken up and goes about clearing the\nDCACHE_AUTOFS_PENDING flag, but it does this in D1!  So, given that P1 in our\ncase is a program that will immediately try to access a file under\n/mount/submount/foo, we end up finding the dentry D2 which still has the\npending flag set, and we set out to wait for a mount *again*!\n\nSo, one way to address this is to re-do the lookup at the end of\ntry_to_fill_dentry, and to clear the pending flag on the hashed dentry.  This\nseems a sane approach to me.\"\n\nAnd Jeff\u0027s patch does this.\n\nSigned-off-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nSigned-off-by-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cab0936aac8aa907c6bb814c2cf26385478f254b",
      "tree": "7f0bcb8838f9cc2fd461a6468464042c6b94e987",
      "parents": [
        "afec570c32a0d116e3c68af583ed1d11110f12fc"
      ],
      "author": {
        "name": "Ian Kent",
        "email": "raven@themaw.net",
        "time": "Thu May 01 04:35:07 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:04:01 2008 -0700"
      },
      "message": "autofs4: check for invalid dentry in getpath\n\nCatch invalid dentry when calculating its path.\n\nSigned-off-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "afec570c32a0d116e3c68af583ed1d11110f12fc",
      "tree": "1246c52aeccc6daa629e4d8daa523573aabe686e",
      "parents": [
        "c32e026efc1e1a4f9e36babebf123f2b88205b0b"
      ],
      "author": {
        "name": "Ian Kent",
        "email": "raven@themaw.net",
        "time": "Thu May 01 04:35:06 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:04:01 2008 -0700"
      },
      "message": "autofs4: fix sparse warning in waitq.c:autofs4_expire_indirect()\n\nRe-order some code in expire.c:autofs4_expire_indirect() to avoid compile\nwarning, reported by Harvey Harrison:\n\n CHECK   fs/autofs4/expire.c\nfs/autofs4/expire.c:383:2: warning: context imbalance in\n\u0027autofs4_expire_indirect\u0027 - unexpected unlock\n\nSigned-off-by: Ian Kent \u003craven@themaw.net\u003e\nReviewed-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "02c6be615f1fcd37ac5ed93a3ad6692ad8991cd9",
      "tree": "9c5047ed8b165a3388d5c61b2702f7cc12954766",
      "parents": [
        "2850699c59d513a0cd0c68f60f75609a5f9d4d32"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu May 01 04:34:45 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:03:59 2008 -0700"
      },
      "message": "vfs: fix permission checking in sys_utimensat\n\nIf utimensat() is called with both times set to UTIME_NOW or one of them to\nUTIME_NOW and the other to UTIME_OMIT, then it will update the file time\nwithout any permission checking.\n\nI don\u0027t think this can be used for anything other than a local DoS, but could\nbe quite bewildering at that (e.g.  \"Why was that large source tree rebuilt\nwhen I didn\u0027t modify anything???\")\n\nThis affects all kernels from 2.6.22, when the utimensat() syscall was\nintroduced.\n\nFix by doing the same permission checking as for the \"times \u003d\u003d NULL\" case.\n\nThanks to Michael Kerrisk, whose utimensat-non-conformances-and-fixes.patch in\n-mm also fixes this (and breaks other stuff), only he didn\u0027t realize the\nsecurity implications of this bug.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nCc: Michael Kerrisk \u003cmtk-manpages@gmx.net\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": "590fe34c47cb5c2d836ac76fabc5f160bf31a3f1",
      "tree": "9a5d9a855629b916597582796391564891acf9a4",
      "parents": [
        "4e571aba7bb25a3a069a7b88c0f63fe5a14c05c6"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Thu May 01 15:53:28 2008 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Thu May 01 15:53:28 2008 +0100"
      },
      "message": "[JFFS2] Quiet lockdep false positive.\n\nDon\u0027t hold f-\u003esem while calling into jffs2_do_create(). It makes lockdep\nunhappy, and we don\u0027t really need it -- the _reason_ it\u0027s a false\npositive is because nobody else can see this inode yet and so nobody\nwill be trying to lock it anyway.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "4e571aba7bb25a3a069a7b88c0f63fe5a14c05c6",
      "tree": "fe80a324ad8ea66235737459d095356303387aec",
      "parents": [
        "fb96c00819c28860fd10137f1c63f7c48dec252b"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Thu May 01 12:28:04 2008 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Thu May 01 12:29:37 2008 +0100"
      },
      "message": "[JFFS2] Clean up jffs2_alloc_inode() and jffs2_i_init_once()\n\nDitch a couple of pointless casts from void *, and use the normal\nvariable name \u0027f\u0027 for jffs2_inode_info pointers -- especially since\nit actually shows up in lockdep reports.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "214b7049a7929f03bbd2786aaef04b8b79db34e2",
      "tree": "2e2c688b96085664c4b7405859c359d51ae8305b",
      "parents": [
        "6d98ca736441029e4e87ad3b6dc4a8645dc4c6d3"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Thu May 01 03:52:22 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 20:09:00 2008 -0700"
      },
      "message": "Fix dnotify/close race\n\nWe have a race between fcntl() and close() that can lead to\ndnotify_struct inserted into inode\u0027s list *after* the last descriptor\nhad been gone from current-\u003efiles.\n\nSince that\u0027s the only point where dnotify_struct gets evicted, we are\nscrewed - it will stick around indefinitely.  Even after struct file in\nquestion is gone and freed.  Worse, we can trigger send_sigio() on it at\nany later point, which allows to send an arbitrary signal to arbitrary\nprocess if we manage to apply enough memory pressure to get the page\nthat used to host that struct file and fill it with the right pattern...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4ba1c5bfd2e5a6c9528eb7777b66c297e70f61ca",
      "tree": "a06a4587053ce6f999920651880a499c058fd58a",
      "parents": [
        "bc535809c06ada210d89f5a43b335c68ecbb8e1b"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Fri Apr 18 15:03:59 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Wed Apr 30 17:09:58 2008 -0700"
      },
      "message": "ocfs2: Use GFP_NOFS in kmalloc during localalloc window move\n\nkmalloc() during a localalloc window move can trigger the mm to prune\nthe dcache which inturn can trigger the fs to delete an inode causing\nit start a recursive transaction.\n\nThe fix also makes the change in kmalloc during localalloc shutdown\njust to be safe.\n\nFixes oss bugzilla#901\nhttp://oss.oracle.com/bugzilla/show_bug.cgi?id\u003d901\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "bc535809c06ada210d89f5a43b335c68ecbb8e1b",
      "tree": "3186b9d590a06d17a7026680fba57546e0d0c418",
      "parents": [
        "95642e56647d84963428a1168baa8a73cb782ac3"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Fri Apr 18 10:23:53 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Wed Apr 30 17:09:54 2008 -0700"
      },
      "message": "ocfs2: Allow uid/gid/perm changes of symlinks\n\nThis patch adds the ability to change attributes of a symlink.\nFixes oss bugzilla#963\nhttp://oss.oracle.com/bugzilla/show_bug.cgi?id\u003d963\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "95642e56647d84963428a1168baa8a73cb782ac3",
      "tree": "b51e64fc7a83b54abacd4d87f6adb39d0bf9859f",
      "parents": [
        "4af694e672aaa85940d6e29d27b7eeea5f6eb258"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Mon Apr 21 11:49:37 2008 +0300"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Wed Apr 30 17:09:40 2008 -0700"
      },
      "message": "ocfs2/dlm: dlmdebug.c: make 2 functions static\n\nThis patch makes the following needlessly global functions static:\n- stringify_lockname()\n- dlm_debug_put()\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "4af694e672aaa85940d6e29d27b7eeea5f6eb258",
      "tree": "1b3c44adc3aed1e90b6468412b8a1bcc527c1668",
      "parents": [
        "4d8755b5e667df8f01647773ba744a5ac97e68e6"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Mon Apr 21 11:49:31 2008 +0300"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Wed Apr 30 17:09:25 2008 -0700"
      },
      "message": "ocfs2: make struct o2cb_stack_ops static\n\nThis patch makes the needlessly global struct o2cb_stack_ops static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "4d8755b5e667df8f01647773ba744a5ac97e68e6",
      "tree": "ea6a4a785196d0ed1994716796cf7f9d8f5e902d",
      "parents": [
        "9d80f7539a91c0154e40fc9e4ae5e818dd8f102e"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Mon Apr 21 11:49:26 2008 +0300"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Wed Apr 30 17:09:08 2008 -0700"
      },
      "message": "ocfs2: make struct ocfs2_control_device static\n\nThis patch makes the needlessly global struct ocfs2_control_device\nstatic.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "9d80f7539a91c0154e40fc9e4ae5e818dd8f102e",
      "tree": "2a90335caef4159749eb2c4373a5569126973c75",
      "parents": [
        "08acd4f8af42affd8cbed81cc1b69fa12ddb213f"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "Joel.Becker@oracle.com",
        "time": "Tue Apr 22 11:46:44 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Wed Apr 30 17:07:59 2008 -0700"
      },
      "message": "ocfs2: Correct merge of 52f7c21 (Move /sys/o2cb to /sys/fs/o2cb)\n\nCommit 52f7c21b613f80cb425d115c9e5b4ed958a133c0 was intended to move\n/sys/o2cb to /sys/fs/o2cb, providing /sys/o2cb as a symlink for\nbackwards compatibility.  However, the merge apparently added the\nsymlink but failed to move the directory, resulting in a duplicate\nfilename error.  It\u0027s a one-line change that was missing.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "883ce42ec45c2dbef5be7c133ade9741ac978329",
      "tree": "b302c0cf77921bc803699fe1b64f9f5118c0a25a",
      "parents": [
        "16dc42e018c2868211b4928f20a957c0c216126c"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Fri Apr 25 08:52:51 2008 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Apr 30 16:52:47 2008 -0700"
      },
      "message": "DEBUGFS: Correct location of debugfs API documentation.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "40a2159abf3d0107bba359246554bd7d56f2171b",
      "tree": "b7a0ee28b4e112e6f134efb6b567f38589fc4689",
      "parents": [
        "08acd4f8af42affd8cbed81cc1b69fa12ddb213f"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Mon Apr 28 15:59:58 2008 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Apr 30 16:52:46 2008 -0700"
      },
      "message": "sysfs: Disallow truncation of files in sysfs\n\nsysfs allows attribute files to be truncated, e.g. using ftruncate(), with the\nexpected effect on their inode.   For most attributes, this doesn\u0027t change the\n\"real\" size of the file i.e. how much can be read from it.  However, the\nparameter validation for reading and writing binary attribute files is based\non the inode size and not the size specified in the file\u0027s bin_attribute, so it\ncan be broken by this. For example, if we try using dd to write to such a file:\n\n# pwd\n/sys/bus/pci/devices/0000:08:00.0\n# ls -l config\n-rw-r--r--  1 root root 4096 Feb  1 17:35 config\n# dd if\u003d/dev/zero of\u003dconfig bs\u003d4 count\u003d1\n1+0 records in\n1+0 records out\n# ls -l config\n-rw-r--r--  1 root root 0 Feb  1 17:50 config\n# dd if\u003d/dev/zero of\u003dconfig bs\u003d4 count\u003d1 seek\u003d128\ndd: writing `config\u0027: No space left on device\n1+0 records in\n0+0 records out\n\nAlso, after truncation to 0, parameter validation for read and write is\ndisabled.  Most bin_attribute read and write methods also validate the size and\noffset, but for some this will allow out-of-range access.  This may be a\nsecurity issue, though access to such files is often limited to root.  In any\ncase, the validation should remain for safety\u0027s sake!)\n\nThis was previously reported in Bugzilla as bug 9867.\n\nsysfs should ignore size changes or else refuse them (by returning -EINVAL).\nThis patch makes it ignore them.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "d67c6f869c0a7f275689855161c93d714197e052",
      "tree": "17024af84087d216c62144d21a41beb74eca80dc",
      "parents": [
        "ec31b2124158f60c515ed84bd5e40db1a883c7b6",
        "1175cdc670f2d4197b033f823b32435031a6daa8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:38:30 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:38:30 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git390.osdl.marist.edu/pub/scm/linux-2.6\n\n* \u0027for-linus\u0027 of git://git390.osdl.marist.edu/pub/scm/linux-2.6:\n  [S390] Update default configuration.\n  [S390] use generic sys_ptrace\n  [S390] Remove self ptrace IEEE_IP hack.\n  [S390] Convert to SPARSEMEM \u0026 SPARSEMEM_VMEMMAP\n  [S390] System z large page support.\n  [S390] Convert machine feature detection code to C.\n  [S390] vmemmap: use clear_table to initialise page tables.\n  [S390] Move stfl to system.h and delete duplicated version.\n  [S390] uaccess_mvcos: #ifdef config dependent code.\n  [S390] cpu topology: Fix possible deadlock.\n  [S390] Add topology_core_siblings to topology.h\n  [S390] cio: Make isc handling more robust.\n  [S390] remove -traditional\n  [S390] Automatically detect added cpus.\n  [S390] smp: Fix locking order.\n  [S390] Add missing ifndef/define to include/asm-s390/sysinfo.h.\n  [S390] Move show_regs to traps.c.\n  [S390] cio: Use strict_strtoul() for attributes.\n"
    },
    {
      "commit": "8e24eea728068bbeb6a3c500b848f883a20bf225",
      "tree": "93e79da649723e2766237505b22725fec395f139",
      "parents": [
        "530b6412786d7f83592c1a8e2445541ed73fca76"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Apr 30 00:55:09 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:54 2008 -0700"
      },
      "message": "fs: replace remaining __FUNCTION__ occurrences\n\n__FUNCTION__ is gcc-specific, use __func__\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "530b6412786d7f83592c1a8e2445541ed73fca76",
      "tree": "7c7e84344e7a3b595db1e06161060f460d9a5aed",
      "parents": [
        "810304db75b0ca4e6ef071f86aa3e85fdaddee5e"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Apr 30 00:55:09 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:54 2008 -0700"
      },
      "message": "afs: replace remaining __FUNCTION__ occurrences\n\n__FUNCTION__ is gcc-specific, use __func__\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c6f3a97f86a5c97be0ca255976110bb9c3cfe669",
      "tree": "95a7bf3c928a85b26aed128786fc09e18bc5dcfc",
      "parents": [
        "691cc54c7d28542434d2b3ee4ddbad6a99312dec"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Apr 30 00:55:03 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:53 2008 -0700"
      },
      "message": "debugobjects: add timer specific object debugging code\n\nAdd calls to the generic object debugging infrastructure and provide fixup\nfunctions which allow to keep the system alive when recoverable problems have\nbeen detected by the object debugging core code.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "487798df6d25e76ed6558b3e17c44cf0458cc6f3",
      "tree": "3c7918f1e8e4146ab716e403daede83bbde4030a",
      "parents": [
        "3e5a5097303eedb4ffae2719843eb064221b1db4"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed Apr 30 00:54:54 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:52 2008 -0700"
      },
      "message": "hfsplus: fix warning with 64k PAGE_SIZE\n\nfs/hfsplus/btree.c: In function \u0027hfsplus_bmap_alloc\u0027:\nfs/hfsplus/btree.c:239: warning: comparison is always false due to limited range of data type\n\nBut this might hide a real bug?\n\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3e5a5097303eedb4ffae2719843eb064221b1db4",
      "tree": "3b1de7bb20e5f344b4c96a8c5a4830823c1b7b5d",
      "parents": [
        "f735295b14ae073a8302d7b1da894bc597724557"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed Apr 30 00:54:53 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:52 2008 -0700"
      },
      "message": "hfs: fix warning with 64k PAGE_SIZE\n\nfs/hfs/btree.c: In function \u0027hfs_bmap_alloc\u0027:\nfs/hfs/btree.c:263: warning: comparison is always false due to limited range of data type\n\nThe patch makes the warning go away, but the code might actually be buggy?\n\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "07132922aac0caf807c56b9c2a388954b357a8c4",
      "tree": "b55a41ec3016ffdcfe54586b4b89c8bec214ce1a",
      "parents": [
        "e3592b12f507d2c12c883d9c18084b72a5710db3"
      ],
      "author": {
        "name": "Marcin Slusarz",
        "email": "marcin.slusarz@gmail.com",
        "time": "Wed Apr 30 00:54:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:52 2008 -0700"
      },
      "message": "sysv: [bl]e*_add_cpu conversion\n\nreplace all:\nbig/little_endian_variable \u003d cpu_to_[bl]eX([bl]eX_to_cpu(big/little_endian_variable) +\n\t\t\t\t\texpression_in_cpu_byteorder);\nwith:\n\t[bl]eX_add_cpu(\u0026big/little_endian_variable, expression_in_cpu_byteorder);\ngenerated with semantic patch\n\nSigned-off-by: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e3592b12f507d2c12c883d9c18084b72a5710db3",
      "tree": "560545bee946f7938b9ba608bfb7755df920dda4",
      "parents": [
        "20c79e785ae3f813310261dde81b29ab0c3e28b4"
      ],
      "author": {
        "name": "Marcin Slusarz",
        "email": "marcin.slusarz@gmail.com",
        "time": "Wed Apr 30 00:54:48 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:51 2008 -0700"
      },
      "message": "quota: le*_add_cpu conversion\n\nreplace all:\nlittle_endian_variable \u003d cpu_to_leX(leX_to_cpu(little_endian_variable) +\n\t\t\t\t\texpression_in_cpu_byteorder);\nwith:\n\tleX_add_cpu(\u0026little_endian_variable, expression_in_cpu_byteorder);\ngenerated with semantic patch\n\nSigned-off-by: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "20c79e785ae3f813310261dde81b29ab0c3e28b4",
      "tree": "eef2c72d3837e914f1b74d49e0fbe8450a9af6ee",
      "parents": [
        "6369a4abb486692cd0f5fe592b48ec7419b7976c"
      ],
      "author": {
        "name": "Marcin Slusarz",
        "email": "marcin.slusarz@gmail.com",
        "time": "Wed Apr 30 00:54:47 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:51 2008 -0700"
      },
      "message": "hfs/hfsplus: be*_add_cpu conversion\n\nreplace all:\nbig_endian_variable \u003d cpu_to_beX(beX_to_cpu(big_endian_variable) +\n\t\t\t\t\texpression_in_cpu_byteorder);\nwith:\n\tbeX_add_cpu(\u0026big_endian_variable, expression_in_cpu_byteorder);\ngenerated with semantic patch\n\nSigned-off-by: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6369a4abb486692cd0f5fe592b48ec7419b7976c",
      "tree": "e969c787ae222216ba0a675001ba3c72512a659d",
      "parents": [
        "86098fa0115358abf5159093d11ddb306ce4b0da"
      ],
      "author": {
        "name": "Marcin Slusarz",
        "email": "marcin.slusarz@gmail.com",
        "time": "Wed Apr 30 00:54:47 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:51 2008 -0700"
      },
      "message": "affs: be*_add_cpu conversion\n\nreplace all:\nbig_endian_variable \u003d cpu_to_beX(beX_to_cpu(big_endian_variable) +\n\t\t\t\t\texpression_in_cpu_byteorder);\nwith:\n\tbeX_add_cpu(\u0026big_endian_variable, expression_in_cpu_byteorder);\ngenerated with semantic patch\n\nSigned-off-by: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "86098fa0115358abf5159093d11ddb306ce4b0da",
      "tree": "7a927fb77339a594608baf0ed2507085056bd262",
      "parents": [
        "4dbf930ed6c1f8aa992937d0461f8f70d4004aad"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Apr 30 00:54:46 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:51 2008 -0700"
      },
      "message": "reiserfs: use open_bdev_excl\n\nUse the proper helper to open a blockdevice by name for filesystem use,\nthis makes sure it\u0027s properly claimed (also added for open-by-number) and\ngets rid of the struct file abuse.\n\nTested by mounting a reiserfs filesystem with external journal.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Jeff Mahoney \u003cjeffm@suse.com\u003e\nAcked-by: Edward Shishkin \u003cedward.shishkin@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4dbf930ed6c1f8aa992937d0461f8f70d4004aad",
      "tree": "978e8da5bbc97a3cfc9b44b810b0f9521154886e",
      "parents": [
        "5559b8f4d1f630b8614b6c8e13b8bf6c9c45d7d7"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Apr 30 00:54:45 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:51 2008 -0700"
      },
      "message": "fuse: fix sparse warnings\n\nfs/fuse/dev.c:306:2: warning: context imbalance in \u0027wait_answer_interruptible\u0027 - unexpected unlock\nfs/fuse/dev.c:361:2: warning: context imbalance in \u0027request_wait_answer\u0027 - unexpected unlock\nfs/fuse/dev.c:1002:4: warning: context imbalance in \u0027end_io_requests\u0027 - unexpected unlock\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5559b8f4d1f630b8614b6c8e13b8bf6c9c45d7d7",
      "tree": "69db92193c0b27a493334ec1ecad456e75c8e257",
      "parents": [
        "b48badf013018ef2aa4a46416454bdb18f77fb01"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Apr 30 00:54:45 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:51 2008 -0700"
      },
      "message": "fuse: fix race in llseek\n\nFuse doesn\u0027t use i_mutex to protect setting i_size, and so\ngeneric_file_llseek() can be racy: it doesn\u0027t use i_size_read().\n\nSo do a fuse specific llseek method, which does use i_size_read().\n\n[akpm@linux-foundation.org: make `retval\u0027 loff_t]\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b48badf013018ef2aa4a46416454bdb18f77fb01",
      "tree": "62ac36c4699c47174fbfbb4d87c6d98988378346",
      "parents": [
        "e5d9a0df07484d6d191756878c974e4307fb24ce"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Apr 30 00:54:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:51 2008 -0700"
      },
      "message": "fuse: fix node ID type\n\nNode ID is 64bit but it is passed as unsigned long to some functions.  This\nbreakage wasn\u0027t noticed, because libfuse uses unsigned long too.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e5d9a0df07484d6d191756878c974e4307fb24ce",
      "tree": "b3117ed75242e523dd7c2ff9fc0878b78c7fcb0c",
      "parents": [
        "5c5c5e51b26413d50a9efae2ca7d6c5c6cd453ac"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Apr 30 00:54:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:51 2008 -0700"
      },
      "message": "fuse: fix max i/o size calculation\n\nFix a bug that Werner Baumann reported: fuse can send a bigger write request\nthan the maximum specified.  This only affected direct_io operation.\n\nIn addition set a sane minimum for the max_read and max_write tunables, so I/O\nalways makes some progress.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5c5c5e51b26413d50a9efae2ca7d6c5c6cd453ac",
      "tree": "4f78209ad05e429a0b89658e495fca9b9262d81d",
      "parents": [
        "ea9b9907b82a09bd1a708004454f7065de77c5b0"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Apr 30 00:54:43 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:50 2008 -0700"
      },
      "message": "fuse: update file size on short read\n\nIf the READ request returned a short count, then either\n\n  - cached size is incorrect\n  - filesystem is buggy, as short reads are only allowed on EOF\n\nSo assume that the size is wrong and refresh it, so that cached read() doesn\u0027t\nzero fill the missing chunk.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ea9b9907b82a09bd1a708004454f7065de77c5b0",
      "tree": "5a8a4f1e41efac6a2c1292adc3aa4a01f2ffd62f",
      "parents": [
        "854512ec358f291bcadd7daea10d6bf3704933de"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Apr 30 00:54:42 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:50 2008 -0700"
      },
      "message": "fuse: implement perform_write\n\nIntroduce fuse_perform_write.  With fusexmp (a passthrough filesystem), large\n(1MB) writes into a backing tmpfs filesystem are sped up by almost 4 times\n(256MB/s vs 71MB/s).\n\n[mszeredi@suse.cz]:\n\n - split into smaller functions\n - testing\n - duplicate generic_file_aio_write(), so that there\u0027s no need to add a\n   new -\u003eperform_write() a_op.  Comment from hch.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "854512ec358f291bcadd7daea10d6bf3704933de",
      "tree": "eb587b95df2200c9765e1feb8cdf16ef3fbb9983",
      "parents": [
        "3be5a52b30aa5cf9d795b7634f728f612197b1c4"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Apr 30 00:54:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:50 2008 -0700"
      },
      "message": "fuse: clean up setting i_size in write\n\nExtract common code for setting i_size in write functions into a common\nhelper.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3be5a52b30aa5cf9d795b7634f728f612197b1c4",
      "tree": "5a78251a351e273cf2061a527a381c7ba256fc15",
      "parents": [
        "b88473f73e6d7b6af9cfc4ecc349d82c75d9a6af"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Apr 30 00:54:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:50 2008 -0700"
      },
      "message": "fuse: support writable mmap\n\nQuoting Linus (3 years ago, FUSE inclusion discussions):\n\n  \"User-space filesystems are hard to get right. I\u0027d claim that they\n   are almost impossible, unless you limit them somehow (shared\n   writable mappings are the nastiest part - if you don\u0027t have those,\n   you can reasonably limit your problems by limiting the number of\n   dirty pages you accept through normal \"write()\" calls).\"\n\nInstead of attempting the impossible, I\u0027ve just waited for the dirty page\naccounting infrastructure to materialize (thanks to Peter Zijlstra and\nothers).  This nicely solved the biggest problem: limiting the number of pages\nused for write caching.\n\nSome small details remained, however, which this largish patch attempts to\naddress.  It provides a page writeback implementation for fuse, which is\ncompletely safe against VM related deadlocks.  Performance may not be very\ngood for certain usage patterns, but generally it should be acceptable.\n\nIt has been tested extensively with fsx-linux and bash-shared-mapping.\n\nFuse page writeback design\n--------------------------\n\nfuse_writepage() allocates a new temporary page with GFP_NOFS|__GFP_HIGHMEM.\nIt copies the contents of the original page, and queues a WRITE request to the\nuserspace filesystem using this temp page.\n\nThe writeback is finished instantly from the MM\u0027s point of view: the page is\nremoved from the radix trees, and the PageDirty and PageWriteback flags are\ncleared.\n\nFor the duration of the actual write, the NR_WRITEBACK_TEMP counter is\nincremented.  The per-bdi writeback count is not decremented until the actual\nwrite completes.\n\nOn dirtying the page, fuse waits for a previous write to finish before\nproceeding.  This makes sure, there can only be one temporary page used at a\ntime for one cached page.\n\nThis approach is wasteful in both memory and CPU bandwidth, so why is this\ncomplication needed?\n\nThe basic problem is that there can be no guarantee about the time in which\nthe userspace filesystem will complete a write.  It may be buggy or even\nmalicious, and fail to complete WRITE requests.  We don\u0027t want unrelated parts\nof the system to grind to a halt in such cases.\n\nAlso a filesystem may need additional resources (particularly memory) to\ncomplete a WRITE request.  There\u0027s a great danger of a deadlock if that\nallocation may wait for the writepage to finish.\n\nCurrently there are several cases where the kernel can block on page\nwriteback:\n\n  - allocation order is larger than PAGE_ALLOC_COSTLY_ORDER\n  - page migration\n  - throttle_vm_writeout (through NR_WRITEBACK)\n  - sync(2)\n\nOf course in some cases (fsync, msync) we explicitly want to allow blocking.\nSo for these cases new code has to be added to fuse, since the VM is not\ntracking writeback pages for us any more.\n\nAs an extra safetly measure, the maximum dirty ratio allocated to a single\nfuse filesystem is set to 1% by default.  This way one (or several) buggy or\nmalicious fuse filesystems cannot slow down the rest of the system by hogging\ndirty memory.\n\nWith appropriate privileges, this limit can be raised through\n\u0027/sys/class/bdi/\u003cbdi\u003e/max_ratio\u0027.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fc3ba692a4d19019387c5acaea63131f9eab05dd",
      "tree": "c86e025cb8f79c7ffc479029989b7378bcb9f285",
      "parents": [
        "dd5656e59ca7b25fb60a22f9079905ed0da5ed0c"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Apr 30 00:54:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:50 2008 -0700"
      },
      "message": "mm: Add NR_WRITEBACK_TEMP counter\n\nFuse will use temporary buffers to write back dirty data from memory mappings\n(normal writes are done synchronously).  This is needed, because there cannot\nbe any guarantee about the time in which a write will complete.\n\nBy using temporary buffers, from the MM\u0027s point if view the page is written\nback immediately.  If the writeout was due to memory pressure, this\neffectively migrates data from a full zone to a less full zone.\n\nThis patch adds a new counter (NR_WRITEBACK_TEMP) for the number of pages used\nas temporary buffers.\n\n[Lee.Schermerhorn@hp.com: add vmstat_text for NR_WRITEBACK_TEMP]\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e4ad08fe64afca4ef79ecc4c624e6e871688da0d",
      "tree": "5b8b390b874700041dc0c095e8ba9ac3ed42ea77",
      "parents": [
        "76f1418b485da2707531178e517bbb5cf06b3c76"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Apr 30 00:54:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:50 2008 -0700"
      },
      "message": "mm: bdi: add separate writeback accounting capability\n\nAdd a new BDI capability flag: BDI_CAP_NO_ACCT_WB.  If this flag is\nset, then don\u0027t update the per-bdi writeback stats from\ntest_set_page_writeback() and test_clear_page_writeback().\n\nMisc cleanups:\n\n - convert bdi_cap_writeback_dirty() and friends to static inline functions\n - create a flag that includes all three dirty/writeback related flags,\n   since almst all users will want to have them toghether\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b6f2fcbcfca9db2bd7aa24940224fcd3bbdbb8aa",
      "tree": "ab70a4e93c1a512f791c3a0f77810c84e2b81ef1",
      "parents": [
        "fa799759f9801137f665dbedda2c0815f1bf6f1b"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Apr 30 00:54:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:49 2008 -0700"
      },
      "message": "mm: bdi: expose the BDI object in sysfs for FUSE\n\nRegister FUSE\u0027s backing_dev_info under sysfs with the name \"fuse-MAJOR:MINOR\"\n\nMake the fuse control filesystem use s_dev instead of a fuse specific ID.\nThis makes it easier to match directories under /sys/fs/fuse/connections/ with\ndirectories under /sys/class/bdi, and with actual mounts.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "fa799759f9801137f665dbedda2c0815f1bf6f1b"
}
