)]}'
{
  "log": [
    {
      "commit": "b8ae30ee26d379db436b0b8c8c3ff1b52f69e5d1",
      "tree": "506aa0b4bdbf90f61e7e9261c7db90aa1452dcce",
      "parents": [
        "4d7b4ac22fbec1a03206c6cde353f2fd6942f828",
        "9c6f7e43b4e02c161b53e97ba913855246876c61"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 18 08:27:54 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 18 08:27:54 2010 -0700"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (49 commits)\n  stop_machine: Move local variable closer to the usage site in cpu_stop_cpu_callback()\n  sched, wait: Use wrapper functions\n  sched: Remove a stale comment\n  ondemand: Make the iowait-is-busy time a sysfs tunable\n  ondemand: Solve a big performance issue by counting IOWAIT time as busy\n  sched: Intoduce get_cpu_iowait_time_us()\n  sched: Eliminate the ts-\u003eidle_lastupdate field\n  sched: Fold updating of the last_update_time_info into update_ts_time_stats()\n  sched: Update the idle statistics in get_cpu_idle_time_us()\n  sched: Introduce a function to update the idle statistics\n  sched: Add a comment to get_cpu_idle_time_us()\n  cpu_stop: add dummy implementation for UP\n  sched: Remove rq argument to the tracepoints\n  rcu: need barrier() in UP synchronize_sched_expedited()\n  sched: correctly place paranioa memory barriers in synchronize_sched_expedited()\n  sched: kill paranoia check in synchronize_sched_expedited()\n  sched: replace migration_thread with cpu_stop\n  stop_machine: reimplement using cpu_stop\n  cpu_stop: implement stop_cpu[s]()\n  sched: Fix select_idle_sibling() logic in select_task_rq_fair()\n  ...\n"
    },
    {
      "commit": "fd25a1f556760dbd6e29dec66c70223a8912cdb2",
      "tree": "73ff80b35cb90949612ccc4f548fc6dcdae0897c",
      "parents": [
        "ba2e1c5f25a99dec3873745031ad23ce3fd79bff",
        "4065c802da7484fa36f8cdf10f18d087233ecb88"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 18 07:18:38 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 18 07:18:38 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: (23 commits)\n  cifs: fix noserverino handling when unix extensions are enabled\n  cifs: don\u0027t update uniqueid in cifs_fattr_to_inode\n  cifs: always revalidate hardlinked inodes when using noserverino\n  [CIFS] drop quota operation stubs\n  cifs: propagate cifs_new_fileinfo() error back to the caller\n  cifs: add comments explaining cifs_new_fileinfo behavior\n  cifs: remove unused parameter from cifs_posix_open_inode_helper()\n  [CIFS] Remove unused cifs_oplock_cachep\n  cifs: have decode_negTokenInit set flags in server struct\n  cifs: break negotiate protocol calls out of cifs_setup_session\n  cifs: eliminate \"first_time\" parm to CIFS_SessSetup\n  [CIFS] Fix lease break for writes\n  cifs: save the dialect chosen by server\n  cifs: change \u0026\u0026 to ||\n  cifs: rename \"extended_security\" to \"global_secflags\"\n  cifs: move tcon find/create into separate function\n  cifs: move SMB session creation code into separate function\n  cifs: track local_nls in volume info\n  [CIFS] Allow null nd (as nfs server uses) on create\n  [CIFS] Fix losing locks during fork()\n  ...\n"
    },
    {
      "commit": "4065c802da7484fa36f8cdf10f18d087233ecb88",
      "tree": "a81d1dae07945ce0e6afb22e87c65fe9a0d44be1",
      "parents": [
        "84f30c66c3689745abbd3b9ce39816caeb9bec3b"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon May 17 07:18:58 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon May 17 20:59:21 2010 +0000"
      },
      "message": "cifs: fix noserverino handling when unix extensions are enabled\n\nThe uniqueid field sent by the server when unix extensions are enabled\nis currently used sometimes when it shouldn\u0027t be. The readdir codepath\nis correct, but most others are not. Fix it.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "84f30c66c3689745abbd3b9ce39816caeb9bec3b",
      "tree": "16b40caa4f940d7fe3f723b34f296873aced6db4",
      "parents": [
        "db19272edc93661835bf6ec9736cfd0754aa3c62"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon May 17 07:18:57 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon May 17 20:57:27 2010 +0000"
      },
      "message": "cifs: don\u0027t update uniqueid in cifs_fattr_to_inode\n\nWe use this value to find an inode within the hash bucket, so we can\u0027t\nchange this without re-hashing the inode. For now, treat this value\nas immutable.\n\nEventually, we should probably use an inode number change on a path\nbased operation to indicate that the lookup cache is invalid, but that\u0027s\na bit more code to deal with.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "db19272edc93661835bf6ec9736cfd0754aa3c62",
      "tree": "5de9dccbf2a234db5c5ba3e7c49d3ccf4af50536",
      "parents": [
        "ade275c4b6db98ae7b197cc7c6bdd73567a975c2"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon May 17 14:51:49 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon May 17 20:55:58 2010 +0000"
      },
      "message": "cifs: always revalidate hardlinked inodes when using noserverino\n\nThe old cifs_revalidate logic always revalidated hardlinked inodes.\nThis hack allowed CIFS to pass some connectathon tests when server inode\nnumbers aren\u0027t used (basic test7, in particular).\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "7d32c0aca4fbd0319c860d12af5fae3e88c760e6",
      "tree": "3df9712c128a98916601a98510e5160dac809264",
      "parents": [
        "3d2c978e0cd8b1157f9eebd13062d61fb7a75ad5",
        "6f485b41875dbf5160c1990322469c1f65f77b28"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 17 13:53:35 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 17 13:53:35 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/joern/logfs\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/joern/logfs:\n  logfs: handle powerfail on NAND flash\n  logfs: handle errors from get_mtd_device()\n  logfs: remove unused variable\n  logfs: fix sync\n  logfs: fix compile failure\n  logfs: initialize li-\u003eli_refcount\n  logfs: commit reservations under space pressure\n  logfs: survive logfs_buf_recover read errors\n  logfs: Close i_ino reuse race\n  logfs: fix logfs_seek_hole()\n  logfs: Return -EINVAL if filesystem image doesn\u0027t match\n  LogFS: Fix typo in b6349ac8\n  logfs: testing the wrong variable\n"
    },
    {
      "commit": "18e41da89d55014d25b9a24502ee92b7f50599f9",
      "tree": "5ce8ebd7456f377e4cfbff0ae83e84295617a4a8",
      "parents": [
        "43aa7ac736a4e21aae4882bd8f7c67403aed45b8",
        "5dc6416414fb3ec6e2825fd4d20c8bf1d7fe0395"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 15 12:55:31 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 15 12:55:31 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:\n  Btrfs: check for read permission on src file in the clone ioctl\n"
    },
    {
      "commit": "5dc6416414fb3ec6e2825fd4d20c8bf1d7fe0395",
      "tree": "e15101a2d1302ff6f2830f282197b34060ec963c",
      "parents": [
        "9f680ce04ea19dabbbafe01b57b61930a9b70741"
      ],
      "author": {
        "name": "Dan Rosenberg",
        "email": "dan.j.rosenberg@gmail.com",
        "time": "Sat May 15 11:27:37 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sat May 15 12:05:50 2010 -0400"
      },
      "message": "Btrfs: check for read permission on src file in the clone ioctl\n\nThe existing code would have allowed you to clone a file that was\nonly open for writing\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "3f8bf8f0fd79410fbcbf9dd9910dbc9d4882c94f",
      "tree": "86792764365ca7b40a21e5eb8fc4f7b355088535",
      "parents": [
        "c28f3f8660697d03afbdb581781b94ff6222a585",
        "684bdc7ff95e0c1d4b0bcf236491840b55a54189"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 15 09:03:15 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 15 09:03:15 2010 -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  JFS: Free sbi memory in error path\n  fs/sysv: dereferencing ERR_PTR()\n  Fix double-free in logfs\n  Fix the regression created by \"set S_DEAD on unlink()...\" commit\n"
    },
    {
      "commit": "684bdc7ff95e0c1d4b0bcf236491840b55a54189",
      "tree": "10eada69ce686f903fbf01d2e40311371d5b98e5",
      "parents": [
        "404e781249f003a37a140756fc4aeae463dcb217"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Mon Apr 12 16:44:08 2010 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 15 07:16:34 2010 -0400"
      },
      "message": "JFS: Free sbi memory in error path\n\nI spotted the missing kfree() while removing the BKL.\n\n[akpm@linux-foundation.org: avoid multiple returns so it doesn\u0027t happen again]\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nCc: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "404e781249f003a37a140756fc4aeae463dcb217",
      "tree": "5eb0f81657ebecdd747583df54a261a4e305df3f",
      "parents": [
        "265624495f5acf6077f8f8d264f8170573d8d752"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Wed Apr 21 12:30:32 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 15 07:16:33 2010 -0400"
      },
      "message": "fs/sysv: dereferencing ERR_PTR()\n\nI moved the dir_put_page() inside the if condition so we don\u0027t dereference\n\"page\", if it\u0027s an ERR_PTR().\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "265624495f5acf6077f8f8d264f8170573d8d752",
      "tree": "76e1b8cce3ac0116ade7df91c0d64471cf7cc03d",
      "parents": [
        "d83c49f3e36cecd2e8823b6c48ffba083b8a5704"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Apr 28 20:57:02 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 15 07:16:33 2010 -0400"
      },
      "message": "Fix double-free in logfs\n\niput() is needed *until* we\u0027d done successful d_alloc_root()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d83c49f3e36cecd2e8823b6c48ffba083b8a5704",
      "tree": "a304de4eb43652d2a9528d4b43f798ab821c8b93",
      "parents": [
        "6a251b0ab67989f468f4cb65179e0cf40cf8c295"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Apr 30 17:17:09 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 15 07:16:33 2010 -0400"
      },
      "message": "Fix the regression created by \"set S_DEAD on unlink()...\" commit\n\n1) i_flags simply doesn\u0027t work for mount/unlink race prevention;\nwe may have many links to file and rm on one of those obviously\nshouldn\u0027t prevent bind on top of another later on.  To fix it\nright way we need to mark _dentry_ as unsuitable for mounting\nupon; new flag (DCACHE_CANT_MOUNT) is protected by d_flags and\ni_mutex on the inode in question.  Set it (with dont_mount(dentry))\nin unlink/rmdir/etc., check (with cant_mount(dentry)) in places\nin namespace.c that used to check for S_DEAD.  Setting S_DEAD\nis still needed in places where we used to set it (for directories\ngetting killed), since we rely on it for readdir/rmdir race\nprevention.\n\n2) rename()/mount() protection has another bogosity - we unhash\nthe target before we\u0027d checked that it\u0027s not a mountpoint.  Fixed.\n\n3) ancient bogosity in pivot_root() - we locked i_mutex on the\nright directory, but checked S_DEAD on the different (and wrong)\none.  Noticed and fixed.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4fc4c3ce0dc1096cbd0daa3fe8f6905cbec2b87e",
      "tree": "40a48fe2eabbab01133047ee5055ab8f853deac4",
      "parents": [
        "97b2073ff04814a7f2fef5fe0e82bb008cad7d8e",
        "b3b38d842fa367d862b83e7670af4e0fd6a80fc0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 14 11:49:42 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 14 11:49:42 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.infradead.org/users/eparis/notify\n\n* \u0027for-linus\u0027 of git://git.infradead.org/users/eparis/notify:\n  inotify: don\u0027t leak user struct on inotify release\n  inotify: race use after free/double free in inotify inode marks\n  inotify: clean up the inotify_add_watch out path\n  Inotify: undefined reference to `anon_inode_getfd\u0027\n\nManual merge to remove duplicate \"select ANON_INODES\" from Kconfig file\n"
    },
    {
      "commit": "b3b38d842fa367d862b83e7670af4e0fd6a80fc0",
      "tree": "db803231178ae41f21240017a3119dea3a4d3589",
      "parents": [
        "e08733446e72b983fed850fc5d8bd21b386feb29"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed May 12 15:34:07 2010 -0700"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Fri May 14 11:53:36 2010 -0400"
      },
      "message": "inotify: don\u0027t leak user struct on inotify release\n\ninotify_new_group() receives a get_uid-ed user_struct and saves the\nreference on group-\u003einotify_data.user.  The problem is that free_uid() is\nnever called on it.\n\nIssue seem to be introduced by 63c882a0 (inotify: reimplement inotify\nusing fsnotify) after 2.6.30.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nEric Paris \u003ceparis@parisplace.org\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "e08733446e72b983fed850fc5d8bd21b386feb29",
      "tree": "6b169001ff9faa82577341fbfa4cbcd9ccf00663",
      "parents": [
        "3dbc6fb6a3c8a7dc164ae330ab024a3fe65ae53e"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue May 11 17:17:40 2010 -0400"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Fri May 14 11:52:57 2010 -0400"
      },
      "message": "inotify: race use after free/double free in inotify inode marks\n\nThere is a race in the inotify add/rm watch code.  A task can find and\nremove a mark which doesn\u0027t have all of it\u0027s references.  This can\nresult in a use after free/double free situation.\n\nTask A\t\t\t\t\tTask B\n------------\t\t\t\t-----------\ninotify_new_watch()\n allocate a mark (refcnt \u003d\u003d 1)\n add it to the idr\n\t\t\t\t\tinotify_rm_watch()\n\t\t\t\t\t inotify_remove_from_idr()\n\t\t\t\t\t  fsnotify_put_mark()\n\t\t\t\t\t      refcnt hits 0, free\n take reference because we are on idr\n [at this point it is a use after free]\n [time goes on]\n refcnt may hit 0 again, double free\n\nThe fix is to take the reference BEFORE the object can be found in the\nidr.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nCc: \u003cstable@kernel.org\u003e\n"
    },
    {
      "commit": "3dbc6fb6a3c8a7dc164ae330ab024a3fe65ae53e",
      "tree": "b04e140c78e644b18f7aa6ce31d59245dc39f0c0",
      "parents": [
        "e7b702b1a8f2a6961367da903217e669be0f099f"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue May 11 17:16:23 2010 -0400"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Fri May 14 11:51:07 2010 -0400"
      },
      "message": "inotify: clean up the inotify_add_watch out path\n\ninotify_add_watch explictly frees the unused inode mark, but it can just\nuse the generic code.  Just do that.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "baa456331738b4e76a92318b62b354377a30ad80",
      "tree": "75c828a7c8a9f1b5f7f41b2e53271eafb7e561ef",
      "parents": [
        "aa3e5572c538d753dce11bf93532a75f95d22b40",
        "4462dc02842698f173f518c1f5ce79c0fb89395a"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu May 13 22:19:32 2010 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu May 13 22:19:32 2010 +0000"
      },
      "message": "Merge branch \u0027master\u0027 of /pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\tfs/cifs/inode.c\n"
    },
    {
      "commit": "4462dc02842698f173f518c1f5ce79c0fb89395a",
      "tree": "efef7ddcacfd5e119f2ff98e7eb970862d392b6d",
      "parents": [
        "002baeecf53677d2034113e34197ec221f42e037",
        "3d69438031b00c601c991ab447cafb7d5c3c59a6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 13 10:36:16 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 13 10:36:16 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:\n  cifs: guard against hardlinking directories\n"
    },
    {
      "commit": "002baeecf53677d2034113e34197ec221f42e037",
      "tree": "081c54c4a9a266a894a00165e97dabfb212a2470",
      "parents": [
        "fc8e38f142dd59f81306ff6a81c1351e9eb0e014"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu May 13 12:52:57 2010 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 13 08:46:04 2010 -0700"
      },
      "message": "vfs: Fix O_NOFOLLOW behavior for paths with trailing slashes\n\nAccording to specification\n\n\tmkdir d; ln -s d a; open(\"a/\", O_NOFOLLOW | O_RDONLY)\n\nshould return success but currently it returns ELOOP.  This is a\nregression caused by path lookup cleanup patch series.\n\nFix the code to ignore O_NOFOLLOW in case the provided path has trailing\nslashes.\n\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nReported-by: Marius Tolzmann \u003ctolzmann@molgen.mpg.de\u003e\nAcked-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cdf5f61ed1d64d50eb9cf10071ab40836f5f9f91",
      "tree": "d67166525b89055b44ecf52cd9ae395a676877f5",
      "parents": [
        "769d9968e42c995eaaf61ac5583d998f32e0769a",
        "e84346b726ea90a8ed470bc81c4136a7b8710ea5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 12 18:47:29 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 12 18:47:29 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:\n  ceph: preserve seq # on requeued messages after transient transport errors\n  ceph: fix cap removal races\n  ceph: zero unused message header, footer fields\n  ceph: fix locking for waking session requests after reconnect\n  ceph: resubmit requests on pg mapping change (not just primary change)\n  ceph: fix open file counting on snapped inodes when mds returns no caps\n  ceph: unregister osd request on failure\n  ceph: don\u0027t use writeback_control in writepages completion\n  ceph: unregister bdi before kill_anon_super releases device name\n"
    },
    {
      "commit": "7ac512aa8237c43331ffaf77a4fd8b8d684819ba",
      "tree": "0fe199f0364c5b54012691c9e4ff4a11767d1797",
      "parents": [
        "91af70814105f4c05e6e11b51c3269907b71794b"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed May 12 15:34:03 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 12 18:23:58 2010 -0700"
      },
      "message": "CacheFiles: Fix error handling in cachefiles_determine_cache_security()\n\ncachefiles_determine_cache_security() is expected to return with a\nsecurity override in place.  However, if set_create_files_as() fails, we\nfail to do this.  In this case, we should just reinstate the security\noverride that was set by the caller.\n\nFurthermore, if set_create_files_as() fails, we should dispose of the\nnew credentials we were in the process of creating.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e7b702b1a8f2a6961367da903217e669be0f099f",
      "tree": "bd2a49f1fec1035256fe90e120fe878fdfa2ac12",
      "parents": [
        "cea0d767c29669bf89f86e4aee46ef462d2ebae8"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@arm.linux.org.uk",
        "time": "Sun Apr 18 21:25:11 2010 +0100"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed May 12 11:03:40 2010 -0400"
      },
      "message": "Inotify: undefined reference to `anon_inode_getfd\u0027\n\nFix:\n\nfs/built-in.o: In function `sys_inotify_init1\u0027:\nsummary.c:(.text+0x347a4): undefined reference to `anon_inode_getfd\u0027\n\nfound by kautobuild with arms bcmring_defconfig, which ends up with\nINOTIFY_USER enabled (through the \u0027default y\u0027) but leaves ANON_INODES\nunset.  However, inotify_user.c uses anon_inode_getfd().\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "e84346b726ea90a8ed470bc81c4136a7b8710ea5",
      "tree": "99a90ef86d38a51e39ed69af318e6cfe32023879",
      "parents": [
        "f818a73674c5d197f66b636a46d7d578d7258129"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 11 21:20:38 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 11 21:20:38 2010 -0700"
      },
      "message": "ceph: preserve seq # on requeued messages after transient transport errors\n\nIf the tcp connection drops and we reconnect to reestablish a stateful\nsession (with the mds), we need to resend previously sent (and possibly\nreceived) messages with the _same_ seq # so that they can be dropped on\nthe other end if needed.  Only assign a new seq once after the message is\nqueued.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "f818a73674c5d197f66b636a46d7d578d7258129",
      "tree": "90c485b5ca0a211b84ad8feddfce4f301de3d5c9",
      "parents": [
        "45c6ceb547ad2d98215351974a4686bf8cb13e14"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 11 20:56:31 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 11 20:56:31 2010 -0700"
      },
      "message": "ceph: fix cap removal races\n\nThe iterate_session_caps helper traverses the session caps list and tries\nto grab an inode reference.  However, the __ceph_remove_cap was clearing\nthe inode backpointer _before_ removing itself from the session list,\ncausing a null pointer dereference.\n\nClear cap-\u003eci under protection of s_cap_lock to avoid the race, and to\ntightly couple the list and backpointer state.  Use a local flag to\nindicate whether we are releasing the cap, as cap-\u003esession may be modified\nby a racing thread in iterate_session_caps.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "aa3e5572c538d753dce11bf93532a75f95d22b40",
      "tree": "1cb58aee0cef90363cba1ca1fc3a60d97acaf379",
      "parents": [
        "fdb3603800e7a65bc3cafdfd5a1797d08f09e582"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed May 12 02:24:12 2010 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed May 12 02:24:12 2010 +0000"
      },
      "message": "[CIFS] drop quota operation stubs\n\nCIFS has stubs for XFS-style quotas without an actual implementation backing\nthem, hidden behind a config option not visible in Kconfig.  Remove these\nstubs for now as the quota operations will see some major changes and this\ncode simply gets in the way.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Jeff Layton \u003cjlayton@samba.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "34441427aab4bdb3069a4ffcda69a99357abcb2e",
      "tree": "3beebde910f25b0945e9105017fd743c9e5241a5",
      "parents": [
        "3c904afd7358e9ef515eb5df36b6f25c2b7fc2da"
      ],
      "author": {
        "name": "Robin Holt",
        "email": "holt@sgi.com",
        "time": "Tue May 11 14:06:46 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 11 17:33:41 2010 -0700"
      },
      "message": "revert \"procfs: provide stack information for threads\" and its fixup commits\n\nOriginally, commit d899bf7b (\"procfs: provide stack information for\nthreads\") attempted to introduce a new feature for showing where the\nthreadstack was located and how many pages are being utilized by the\nstack.\n\nCommit c44972f1 (\"procfs: disable per-task stack usage on NOMMU\") was\napplied to fix the NO_MMU case.\n\nCommit 89240ba0 (\"x86, fs: Fix x86 procfs stack information for threads on\n64-bit\") was applied to fix a bug in ia32 executables being loaded.\n\nCommit 9ebd4eba7 (\"procfs: fix /proc/\u003cpid\u003e/stat stack pointer for kernel\nthreads\") was applied to fix a bug which had kernel threads printing a\nuserland stack address.\n\nCommit 1306d603f (\u0027proc: partially revert \"procfs: provide stack\ninformation for threads\"\u0027) was then applied to revert the stack pages\nbeing used to solve a significant performance regression.\n\nThis patch nearly undoes the effect of all these patches.\n\nThe reason for reverting these is it provides an unusable value in\nfield 28.  For x86_64, a fork will result in the task-\u003estack_start\nvalue being updated to the current user top of stack and not the stack\nstart address.  This unpredictability of the stack_start value makes\nit worthless.  That includes the intended use of showing how much stack\nspace a thread has.\n\nOther architectures will get different values.  As an example, ia64\ngets 0.  The do_fork() and copy_process() functions appear to treat the\nstack_start and stack_size parameters as architecture specific.\n\nI only partially reverted c44972f1 (\"procfs: disable per-task stack usage\non NOMMU\") .  If I had completely reverted it, I would have had to change\nmm/Makefile only build pagewalk.o when CONFIG_PROC_PAGE_MONITOR is\nconfigured.  Since I could not test the builds without significant effort,\nI decided to not change mm/Makefile.\n\nI only partially reverted 89240ba0 (\"x86, fs: Fix x86 procfs stack\ninformation for threads on 64-bit\") .  I left the KSTK_ESP() change in\nplace as that seemed worthwhile.\n\nSigned-off-by: Robin Holt \u003cholt@sgi.com\u003e\nCc: Stefani Seibold \u003cstefani@seibold.net\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Michal Simek \u003cmonstr@monstr.eu\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\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": "45c6ceb547ad2d98215351974a4686bf8cb13e14",
      "tree": "f7d5dc6b7900faebef1a29a5e0af5ac263a64337",
      "parents": [
        "9abf82b8bc93dd904738a71ca69aa5df356d4d24"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 11 15:01:51 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 11 15:17:40 2010 -0700"
      },
      "message": "ceph: zero unused message header, footer fields\n\nWe shouldn\u0027t leak any prior memory contents to other parties.  And random\ndata, particularly in the \u0027version\u0027 field, can cause problems down the\nline.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "3d69438031b00c601c991ab447cafb7d5c3c59a6",
      "tree": "f40d66a255c4169b43079252a4c96868c097ddab",
      "parents": [
        "05ce7bfe547c9fa967d9cab6c37867a9cb6fb3fa"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue May 11 14:59:55 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue May 11 20:57:50 2010 +0000"
      },
      "message": "cifs: guard against hardlinking directories\n\nWhen we made serverino the default, we trusted that the field sent by the\nserver in the \"uniqueid\" field was actually unique. It turns out that it\nisn\u0027t reliably so.\n\nSamba, in particular, will just put the st_ino in the uniqueid field when\nunix extensions are enabled. When a share spans multiple filesystems, it\u0027s\nquite possible that there will be collisions. This is a server bug, but\nwhen the inodes in question are a directory (as is often the case) and\nthere is a collision with the root inode of the mount, the result is a\nkernel panic on umount.\n\nFix this by checking explicitly for directory inodes with the same\nuniqueid. If that is the case, then we can assume that using server inode\nnumbers will be a problem and that they should be disabled.\n\nFixes Samba bugzilla 7407\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nCC: Stable \u003cstable@kernel.org\u003e\nReviewed-and-Tested-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "c61ea31dac0319ec64b33725917bda81fc293a25",
      "tree": "05a4f3011ea8b334795aae606d89bcf27e3e26c5",
      "parents": [
        "7d6fb7bd1919517937ec390f6ca2d7bcf4f89fb6"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue May 11 16:51:39 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 11 10:07:53 2010 -0700"
      },
      "message": "CacheFiles: Fix occasional EIO on call to vfs_unlink()\n\nFix an occasional EIO returned by a call to vfs_unlink():\n\n\t[ 4868.465413] CacheFiles: I/O Error: Unlink failed\n\t[ 4868.465444] FS-Cache: Cache cachefiles stopped due to I/O error\n\t[ 4947.320011] CacheFiles: File cache on md3 unregistering\n\t[ 4947.320041] FS-Cache: Withdrawing cache \"mycache\"\n\t[ 5127.348683] FS-Cache: Cache \"mycache\" added (type cachefiles)\n\t[ 5127.348716] CacheFiles: File cache on md3 registered\n\t[ 7076.871081] CacheFiles: I/O Error: Unlink failed\n\t[ 7076.871130] FS-Cache: Cache cachefiles stopped due to I/O error\n\t[ 7116.780891] CacheFiles: File cache on md3 unregistering\n\t[ 7116.780937] FS-Cache: Withdrawing cache \"mycache\"\n\t[ 7296.813394] FS-Cache: Cache \"mycache\" added (type cachefiles)\n\t[ 7296.813432] CacheFiles: File cache on md3 registered\n\nWhat happens is this:\n\n (1) A cached NFS file is seen to have become out of date, so NFS retires the\n     object and immediately acquires a new object with the same key.\n\n (2) Retirement of the old object is done asynchronously - so the lookup/create\n     to generate the new object may be done first.\n\n     This can be a problem as the old object and the new object must exist at\n     the same point in the backing filesystem (i.e. they must have the same\n     pathname).\n\n (3) The lookup for the new object sees that a backing file already exists,\n     checks to see whether it is valid and sees that it isn\u0027t.  It then deletes\n     that file and creates a new one on disk.\n\n (4) The retirement phase for the old file is then performed.  It tries to\n     delete the dentry it has, but ext4_unlink() returns -EIO because the inode\n     attached to that dentry no longer matches the inode number associated with\n     the filename in the parent directory.\n\nThe trace below shows this quite well.\n\n\t[md5sum] \u003d\u003d\u003e __fscache_relinquish_cookie(ffff88002d12fb58{NFS.fh,ffff88002ce62100},1)\n\t[md5sum] \u003d\u003d\u003e __fscache_acquire_cookie({NFS.server},{NFS.fh},ffff88002ce62100)\n\nNFS has retired the old cookie and asked for a new one.\n\n\t[kslowd] \u003d\u003d\u003e fscache_object_state_machine({OBJ52,OBJECT_ACTIVE,24})\n\t[kslowd] \u003c\u003d\u003d fscache_object_state_machine() [-\u003eOBJECT_DYING]\n\t[kslowd] \u003d\u003d\u003e fscache_object_state_machine({OBJ53,OBJECT_INIT,0})\n\t[kslowd] \u003c\u003d\u003d fscache_object_state_machine() [-\u003eOBJECT_LOOKING_UP]\n\t[kslowd] \u003d\u003d\u003e fscache_object_state_machine({OBJ52,OBJECT_DYING,24})\n\t[kslowd] \u003c\u003d\u003d fscache_object_state_machine() [-\u003eOBJECT_RECYCLING]\n\nThe old object (OBJ52) is going through the terminal states to get rid of it,\nwhilst the new object - (OBJ53) - is coming into being.\n\n\t[kslowd] \u003d\u003d\u003e fscache_object_state_machine({OBJ53,OBJECT_LOOKING_UP,0})\n\t[kslowd] \u003d\u003d\u003e cachefiles_walk_to_object({ffff88003029d8b8},OBJ53,@68,)\n\t[kslowd] lookup \u0027@68\u0027\n\t[kslowd] next -\u003e ffff88002ce41bd0 positive\n\t[kslowd] advance\n\t[kslowd] lookup \u0027Es0g00og0_Nd_XCYe3BOzvXrsBLMlN6aw16M1htaA\u0027\n\t[kslowd] next -\u003e ffff8800369faac8 positive\n\nThe new object has looked up the subdir in which the file would be in (getting\ndentry ffff88002ce41bd0) and then looked up the file itself (getting dentry\nffff8800369faac8).\n\n\t[kslowd] validate \u0027Es0g00og0_Nd_XCYe3BOzvXrsBLMlN6aw16M1htaA\u0027\n\t[kslowd] \u003d\u003d\u003e cachefiles_bury_object(,\u0027@68\u0027,\u0027Es0g00og0_Nd_XCYe3BOzvXrsBLMlN6aw16M1htaA\u0027)\n\t[kslowd] remove ffff8800369faac8 from ffff88002ce41bd0\n\t[kslowd] unlink stale object\n\t[kslowd] \u003c\u003d\u003d cachefiles_bury_object() \u003d 0\n\nIt then checks the file\u0027s xattrs to see if it\u0027s valid.  NFS says that the\nauxiliary data indicate the file is out of date (obvious to us - that\u0027s why NFS\nditched the old version and got a new one).  CacheFiles then deletes the old\nfile (dentry ffff8800369faac8).\n\n\t[kslowd] redo lookup\n\t[kslowd] lookup \u0027Es0g00og0_Nd_XCYe3BOzvXrsBLMlN6aw16M1htaA\u0027\n\t[kslowd] next -\u003e ffff88002cd94288 negative\n\t[kslowd] create -\u003e ffff88002cd94288{ffff88002cdaf238{ino\u003d148247}}\n\nCacheFiles then redoes the lookup and gets a negative result in a new dentry\n(ffff88002cd94288) which it then creates a file for.\n\n\t[kslowd] \u003d\u003d\u003e cachefiles_mark_object_active(,OBJ53)\n\t[kslowd] \u003c\u003d\u003d cachefiles_mark_object_active() \u003d 0\n\t[kslowd] \u003d\u003d\u003d OBTAINED_OBJECT \u003d\u003d\u003d\n\t[kslowd] \u003c\u003d\u003d cachefiles_walk_to_object() \u003d 0 [148247]\n\t[kslowd] \u003c\u003d\u003d fscache_object_state_machine() [-\u003eOBJECT_AVAILABLE]\n\nThe new object is then marked active and the state machine moves to the\navailable state - at which point NFS can start filling the object.\n\n\t[kslowd] \u003d\u003d\u003e fscache_object_state_machine({OBJ52,OBJECT_RECYCLING,20})\n\t[kslowd] \u003d\u003d\u003e fscache_release_object()\n\t[kslowd] \u003d\u003d\u003e cachefiles_drop_object({OBJ52,2})\n\t[kslowd] \u003d\u003d\u003e cachefiles_delete_object(,OBJ52{ffff8800369faac8})\n\nThe old object, meanwhile, goes on with being retired.  If allocation occurs\nfirst, cachefiles_delete_object() has to wait for dir-\u003ed_inode-\u003ei_mutex to\nbecome available before it can continue.\n\n\t[kslowd] \u003d\u003d\u003e cachefiles_bury_object(,\u0027@68\u0027,\u0027Es0g00og0_Nd_XCYe3BOzvXrsBLMlN6aw16M1htaA\u0027)\n\t[kslowd] remove ffff8800369faac8 from ffff88002ce41bd0\n\t[kslowd] unlink stale object\n\tEXT4-fs warning (device sda6): ext4_unlink: Inode number mismatch in unlink (148247!\u003d148193)\n\tCacheFiles: I/O Error: Unlink failed\n\tFS-Cache: Cache cachefiles stopped due to I/O error\n\nCacheFiles then tries to delete the file for the old object, but the dentry it\nhas (ffff8800369faac8) no longer points to a valid inode for that directory\nentry, and so ext4_unlink() returns -EIO when de-\u003einode does not match i_ino.\n\n\t[kslowd] \u003c\u003d\u003d cachefiles_bury_object() \u003d -5\n\t[kslowd] \u003c\u003d\u003d cachefiles_delete_object() \u003d -5\n\t[kslowd] \u003c\u003d\u003d fscache_object_state_machine() [-\u003eOBJECT_DEAD]\n\t[kslowd] \u003d\u003d\u003e fscache_object_state_machine({OBJ53,OBJECT_AVAILABLE,0})\n\t[kslowd] \u003c\u003d\u003d fscache_object_state_machine() [-\u003eOBJECT_ACTIVE]\n\n(Note that the above trace includes extra information beyond that produced by\nthe upstream code).\n\nThe fix is to note when an object that is being retired has had its object\ndeleted preemptively by a replacement object that is being created, and to\nskip the second removal attempt in such a case.\n\nReported-by: Greg M \u003cgregm@servu.net.au\u003e\nReported-by: Mark Moseley \u003cmoseleymark@gmail.com\u003e\nReported-by: Romain DEGEZ \u003cromain.degez@smartjog.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9abf82b8bc93dd904738a71ca69aa5df356d4d24",
      "tree": "208c5112173832092f93b8d91b8e8ec6f36209aa",
      "parents": [
        "d85b705663905b3dae30007f824355bdcfcf3f00"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon May 10 21:58:38 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 11 09:53:57 2010 -0700"
      },
      "message": "ceph: fix locking for waking session requests after reconnect\n\nThe session-\u003es_waiting list is protected by mdsc-\u003emutex, not s_mutex.  This\nwas causing (rare) s_waiting list corruption.\n\nFix errors paths too, while we\u0027re here.  A more thorough cleanup of this\nfunction is coming soon.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "d85b705663905b3dae30007f824355bdcfcf3f00",
      "tree": "e47262683ed704786be3f0dae62bc4c57bd50ad7",
      "parents": [
        "04d000eb358919043da538f197d63f2a5924a525"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon May 10 10:24:48 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 11 09:53:56 2010 -0700"
      },
      "message": "ceph: resubmit requests on pg mapping change (not just primary change)\n\nOSD requests need to be resubmitted on any pg mapping change, not just when\nthe pg primary changes.  Resending only when the primary changes results in\noccasional \u0027hung\u0027 requests during osd cluster recovery or rebalancing.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "04d000eb358919043da538f197d63f2a5924a525",
      "tree": "725f4031c083323b63664f03b4d0d7ce9c183b21",
      "parents": [
        "0ceed5db321ac0f9782e77dda476ebe28a8e2199"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri May 07 11:26:34 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 11 09:53:55 2010 -0700"
      },
      "message": "ceph: fix open file counting on snapped inodes when mds returns no caps\n\nIt\u0027s possible the MDS will not issue caps on a snapped inode, in which case\nan open request may not __ceph_get_fmode(), botching the open file\ncounting.  (This is actually a server bug, but the client shouldn\u0027t BUG out\nin this case.)\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "0ceed5db321ac0f9782e77dda476ebe28a8e2199",
      "tree": "356f6a3f2dc26ba04589e9abd603139c62094730",
      "parents": [
        "54ad023ba8108d0163acc931ed4b5e4a8a3a7327"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 11 09:53:18 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 11 09:53:18 2010 -0700"
      },
      "message": "ceph: unregister osd request on failure\n\nThe osd request wasn\u0027t being unregistered when the osd returned a failure\ncode, even though the result was returned to the caller.  This would cause\nit to eventually time out, and then crash the kernel when it tried to\nresend the request using a stale page vector.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "a93d2f1744206827ccf416e2cdc5018aa503314e",
      "tree": "c4c9daf16536d8d58db275617e19898f6c5bdbd7",
      "parents": [
        "af507ae8a0512a83728b17d8f8c5fa1561669f50"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Fri May 07 14:33:26 2010 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 11 17:43:58 2010 +0200"
      },
      "message": "sched, wait: Use wrapper functions\n\nepoll should not touch flags in wait_queue_t. This patch introduces a new\nfunction __add_wait_queue_exclusive(), for the users, who use wait queue as a\nLIFO queue.\n\n__add_wait_queue_tail_exclusive() is introduced too instead of\nadd_wait_queue_exclusive_locked(). remove_wait_queue_locked() is removed, as\nit is a duplicate of __remove_wait_queue(), disliked by users, and with less\nusers.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: \u003ccontainers@lists.linux-foundation.org\u003e\nLKML-Reference: \u003c1273214006-2979-1-git-send-email-xiaosuo@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fdb3603800e7a65bc3cafdfd5a1797d08f09e582",
      "tree": "86224ad3eaddc15da3306eea8887c15b2341ae3d",
      "parents": [
        "fae683f764f91f31ab45512e70cc8cc81d4d157b"
      ],
      "author": {
        "name": "Suresh Jayaraman",
        "email": "sjayaraman@suse.de",
        "time": "Tue May 11 09:46:46 2010 +0530"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue May 11 15:42:21 2010 +0000"
      },
      "message": "cifs: propagate cifs_new_fileinfo() error back to the caller\n\n..otherwise memory allocation errors go undetected.\n\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "fae683f764f91f31ab45512e70cc8cc81d4d157b",
      "tree": "bde4506a973f82996f807716b2adb9ec0d9c968a",
      "parents": [
        "51c8176472de1551a301b676e36a61884e0e8494"
      ],
      "author": {
        "name": "Suresh Jayaraman",
        "email": "sjayaraman@suse.de",
        "time": "Mon May 10 20:00:05 2010 +0530"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon May 10 17:59:51 2010 +0000"
      },
      "message": "cifs: add comments explaining cifs_new_fileinfo behavior\n\nThe comments make it clear the otherwise subtle behavior of cifs_new_fileinfo().\n\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nReviewed-by: Shirish Pargaonkar \u003cshirishp@us.ibm.com\u003e\n--\n fs/cifs/dir.c |   18 ++++++++++++++++--\n 1 files changed, 16 insertions(+), 2 deletions(-)\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "f7422464b57088071201cd94027662d8469f153b",
      "tree": "d6eea687462815fbcbe43aa6b273f672babd5f2e",
      "parents": [
        "b77b907fae863f3bc546a336a8bc5e660d371788"
      ],
      "author": {
        "name": "Ian Kent",
        "email": "raven@themaw.net",
        "time": "Mon May 10 16:46:08 2010 +0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 10 09:48:10 2010 -0700"
      },
      "message": "autofs4-2.6.34-rc1 - fix link_count usage\n\nAfter commit 1f36f774b2 (\"Switch !O_CREAT case to use of do_last()\") in\n2.6.34-rc1 autofs direct mounts stopped working.  This is caused by\ncurrent-\u003elink_count being 0 when -\u003efollow_link() is called from\ndo_filp_open().\n\nI can\u0027t work out why this hasn\u0027t been seen before Als patch series.\n\nThis patch removes the autofs dependence on current-\u003elink_count.\n\nSigned-off-by: Ian Kent \u003craven@themaw.net\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "51c8176472de1551a301b676e36a61884e0e8494",
      "tree": "51feb2221f6447e8e20377587c7a018ee6eba3e8",
      "parents": [
        "bdfae149c5b7430b9a26371f14b2d385fd3a4389"
      ],
      "author": {
        "name": "Suresh Jayaraman",
        "email": "sjayaraman@suse.de",
        "time": "Mon May 10 15:15:24 2010 +0530"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon May 10 13:52:00 2010 +0000"
      },
      "message": "cifs: remove unused parameter from cifs_posix_open_inode_helper()\n\n..a left over from the commit 3321b791b2e8897323f8c044a0c77ff25781381c.\n\nCc: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "91677467163b847f1a5497789a893ada97f375b6",
      "tree": "2b505e413ad1fd2f5237b968747a87a7e9983695",
      "parents": [
        "4a2253313653bcc4126287818b676f95ac26dc09",
        "17d2c0a0c4d4e074f0a2a5c0090ff6d88f5e1d44"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 07 13:59:48 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 07 13:59:48 2010 -0700"
      },
      "message": "Merge branch \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:\n  NFS: Fix RCU issues in the NFSv4 delegation code\n  NFSv4: Fix the locking in nfs_inode_reclaim_delegation()\n"
    },
    {
      "commit": "6f485b41875dbf5160c1990322469c1f65f77b28",
      "tree": "9912cee9517b57c2cb3c0318861f2a9eeb4139b2",
      "parents": [
        "ccf31c10f125ab5233c8517f91d4b3bd0bd60936"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Fri May 07 19:38:40 2010 +0200"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Fri May 07 19:38:40 2010 +0200"
      },
      "message": "logfs: handle powerfail on NAND flash\n\nThe write buffer may not have been written and may no longer be written\ndue to an interrupted write in the affected page.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "ccf31c10f125ab5233c8517f91d4b3bd0bd60936",
      "tree": "88bc1107c31a8a325703ed40ffdba4e3af9754b8",
      "parents": [
        "58e323cf5e4ed621a6e88263aca40c3d9c3d9bfd"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Fri May 07 10:59:06 2010 +0200"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Fri May 07 14:16:09 2010 +0200"
      },
      "message": "logfs: handle errors from get_mtd_device()\n\nThe get_mtd_device() function returns error pointers on failure and if we\ndon\u0027t handle it, it leads to a crash.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "58e323cf5e4ed621a6e88263aca40c3d9c3d9bfd",
      "tree": "a20b58fd6efaf908822529c472f7ac81ca551a92",
      "parents": [
        "c0c79c31c9d5fcc19812c6c35f842baf50ee788a"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Fri May 07 14:15:04 2010 +0200"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Fri May 07 14:15:04 2010 +0200"
      },
      "message": "logfs: remove unused variable\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "54ad023ba8108d0163acc931ed4b5e4a8a3a7327",
      "tree": "93edeaba0b8f851c9b5a18c6e42c92b2237480c5",
      "parents": [
        "5dfc589a8467470226feccdc50f1b32713318e7b"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed May 05 21:30:35 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed May 05 21:31:40 2010 -0700"
      },
      "message": "ceph: don\u0027t use writeback_control in writepages completion\n\nThe -\u003ewritepages writeback_control is not still valid in the writepages\ncompletion.  We were touching it solely to adjust pages_skipped when there\nwas a writeback error (EIO, ENOSPC, EPERM due to bad osd credentials),\ncausing an oops in the writeback code shortly thereafter.  Updating\npages_skipped on error isn\u0027t correct anyway, so let\u0027s just rip out this\n(clearly broken) code to pass the wbc to the completion.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "bdfae149c5b7430b9a26371f14b2d385fd3a4389",
      "tree": "ceb16f6a882fed2a001366aa8ac7e42a2e0bb615",
      "parents": [
        "26efa0bac9dc3587ee8892c06642735bcded59e5"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu May 06 00:38:16 2010 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu May 06 00:38:16 2010 +0000"
      },
      "message": "[CIFS] Remove unused cifs_oplock_cachep\n\nCC: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "26efa0bac9dc3587ee8892c06642735bcded59e5",
      "tree": "2d6d75ffa9671b972cadcbc62ed365e992ea247a",
      "parents": [
        "198b5682781b97251afd9025dbf559a77969abdd"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Sat Apr 24 07:57:49 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed May 05 23:24:11 2010 +0000"
      },
      "message": "cifs: have decode_negTokenInit set flags in server struct\n\n...rather than the secType. This allows us to get rid of the MSKerberos\nsecurityEnum. The client just makes a decision at upcall time.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "198b5682781b97251afd9025dbf559a77969abdd",
      "tree": "bfe381f099e6986a833d93184b62bf9bcedfce69",
      "parents": [
        "ebe6aa5ac456a13213ed563863e70dd441618a97"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Sat Apr 24 07:57:48 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed May 05 23:18:27 2010 +0000"
      },
      "message": "cifs: break negotiate protocol calls out of cifs_setup_session\n\nSo that we can reasonably set up the secType based on both the\nNegotiateProtocol response and the parsed mount options.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "c0c79c31c9d5fcc19812c6c35f842baf50ee788a",
      "tree": "85b3ee846f70f461add9b7cb1e08f3030992e2fb",
      "parents": [
        "bba0b5c2c27e6dadc93c476f8a4b49d108b66292"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Wed May 05 22:33:36 2010 +0200"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Wed May 05 22:33:36 2010 +0200"
      },
      "message": "logfs: fix sync\n\nRather self-explanatory.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "bba0b5c2c27e6dadc93c476f8a4b49d108b66292",
      "tree": "4e956d60dceb83f12e03bcde335823239b101843",
      "parents": [
        "24797535e18ae219be1fc2632959327075bef5da"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Wed May 05 22:32:52 2010 +0200"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Wed May 05 22:32:52 2010 +0200"
      },
      "message": "logfs: fix compile failure\n\nWhen CONFIG_BLOCK is not enabled:\n\nfs/logfs/super.c:142: error: implicit declaration of function \u0027bdev_get_queue\u0027\nfs/logfs/super.c:142: error: invalid type argument of \u0027-\u003e\u0027 (have \u0027int\u0027)\n\nFound by Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "7572e56314a7e2568f7196862222b45cfb9d6eda",
      "tree": "345bc292de14b24f28d5367f999bcf7500abedc3",
      "parents": [
        "a66f6375bdeb64d7a56c532bda7c006358845820",
        "d577632e65ea01fb3b124b652d7bd2381251da3c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 04 16:33:18 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 04 16:33:18 2010 -0700"
      },
      "message": "Merge branch \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2\n\n* \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2:\n  ocfs2: Avoid a gcc warning in ocfs2_wipe_inode().\n  ocfs2: Avoid direct write if we fall back to buffered I/O\n  ocfs2_dlmfs: Fix math error when reading LVB.\n  ocfs2: Update VFS inode\u0027s id info after reflink.\n  ocfs2: potential ERR_PTR dereference on error paths\n  ocfs2: Add directory entry later in ocfs2_symlink() and ocfs2_mknod()\n  ocfs2: use OCFS2_INODE_SKIP_ORPHAN_DIR in ocfs2_mknod error path\n  ocfs2: use OCFS2_INODE_SKIP_ORPHAN_DIR in ocfs2_symlink error path\n  ocfs2: add OCFS2_INODE_SKIP_ORPHAN_DIR flag and honor it in the inode wipe code\n  ocfs2: Reset status if we want to restart file extension.\n  ocfs2: Compute metaecc for superblocks during online resize.\n  ocfs2: Check the owner of a lockres inside the spinlock\n  ocfs2: one more warning fix in ocfs2_file_aio_write(), v2\n  ocfs2_dlmfs: User DLM_* when decoding file open flags.\n"
    },
    {
      "commit": "5dfc589a8467470226feccdc50f1b32713318e7b",
      "tree": "82998c57555055cf3763e9a4fc757d5de0628c21",
      "parents": [
        "b0930f8d38c6ab76dc8222a5a910a21392d38208"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 04 16:14:46 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 04 16:14:46 2010 -0700"
      },
      "message": "ceph: unregister bdi before kill_anon_super releases device name\n\nUnregister and destroy the bdi in put_super, after mount is r/o, but before\nput_anon_super releases the device name.\n\nFor symmetry, bdi_destroy in destroy_client (we bdi_init in create_client).\n\nOnly set s_bdi if bdi_register succeeds, since we use it to decide whether\nto bdi_unregister.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "24797535e18ae219be1fc2632959327075bef5da",
      "tree": "f55288032e5c5e6c02450ca75dbbe8b8bf030a71",
      "parents": [
        "05ebad852901cf9127a743df6ea10c0e8b1590c3"
      ],
      "author": {
        "name": "Prasad Joshi",
        "email": "prasadjoshi124@gmail.com",
        "time": "Tue May 04 22:13:59 2010 +0200"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue May 04 22:17:08 2010 +0200"
      },
      "message": "logfs: initialize li-\u003eli_refcount\n\nli_refcount was not re-initialized in function logfs_init_inode(), small\npatch that will fix the problem\n\nSigned-off-by: Prasad Joshi \u003cprasadjoshi124@gmail.com\u003e\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "05ebad852901cf9127a743df6ea10c0e8b1590c3",
      "tree": "eb5e200d3ca4ae15bec2cbf3731055ff29e7f73c",
      "parents": [
        "20503664b008e17976bff1fdbc693c77ebd6f6c9"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue May 04 19:41:09 2010 +0200"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue May 04 19:41:09 2010 +0200"
      },
      "message": "logfs: commit reservations under space pressure\n\nEnsures we only return -ENOSPC when there really is no space.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "20503664b008e17976bff1fdbc693c77ebd6f6c9",
      "tree": "7cff886995e42d0b90dd3ebe86993f0277e9345c",
      "parents": [
        "ccc0197b02178f7e1707e659cbc5242fc94b499a"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Mon May 03 20:54:34 2010 +0200"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue May 04 19:37:04 2010 +0200"
      },
      "message": "logfs: survive logfs_buf_recover read errors\n\nRefusing to mount beats a kernel crash.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "d577632e65ea01fb3b124b652d7bd2381251da3c",
      "tree": "64a567b77fb5163572375f457ea7eeedecf60f30",
      "parents": [
        "6b933c8e6f1a2f3118082c455eef25f9b1ac7b45"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Mon May 03 19:15:49 2010 -0700"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Mon May 03 19:15:49 2010 -0700"
      },
      "message": "ocfs2: Avoid a gcc warning in ocfs2_wipe_inode().\n\ngcc warns that a variable is uninitialized.  It\u0027s actually handled, but\nan early return fools gcc.  Let\u0027s just initialize the variable to a\ngarbage value that will crash if the usage is ever broken.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "d93ac51c7a129db7a1431d859a3ef45a0b1f3fc5",
      "tree": "c584c3df3abf2c7624d76f7d711b7db1050aa9c4",
      "parents": [
        "37e27e36bc416b07d853d493e6818d6a785507a2",
        "b0930f8d38c6ab76dc8222a5a910a21392d38208"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 03 16:36:19 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 03 16:36:19 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:\n  ceph: remove bad auth_x kmem_cache\n  ceph: fix lockless caps check\n  ceph: clear dir complete, invalidate dentry on replayed rename\n  ceph: fix direct io truncate offset\n  ceph: discard incoming messages with bad seq #\n  ceph: fix seq counting for skipped messages\n  ceph: add missing #includes\n  ceph: fix leaked spinlock during mds reconnect\n  ceph: print more useful version info on module load\n  ceph: fix snap realm splits\n  ceph: clear dir complete on d_move\n"
    },
    {
      "commit": "b0930f8d38c6ab76dc8222a5a910a21392d38208",
      "tree": "0aad65459eaa8fd5fdf8b621eb9b851e7864ae6e",
      "parents": [
        "7ff899da02cb674211858fcd919f8b4511a4423f"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Apr 29 13:26:53 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon May 03 10:49:25 2010 -0700"
      },
      "message": "ceph: remove bad auth_x kmem_cache\n\nIt\u0027s useless, since our allocations are already a power of 2.  And it was\nallocated per-instance (not globally), which caused a name collision when\nwe tried to mount a second file system with auth_x enabled.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "7ff899da02cb674211858fcd919f8b4511a4423f",
      "tree": "a200faf72a5ff982a03287c65809d0c78ef11bfd",
      "parents": [
        "ea1409f96197c1bffe5d7d5bc967b3445edcc1fa"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Apr 23 10:25:33 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon May 03 10:49:25 2010 -0700"
      },
      "message": "ceph: fix lockless caps check\n\nThe __ variant requires caller to hold i_lock.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "ea1409f96197c1bffe5d7d5bc967b3445edcc1fa",
      "tree": "cbbd8ed4cca9bb718a596277f1152f2f1d629c37",
      "parents": [
        "5c6a2cdb4fe8aaf6b54f022c14f13d2a12b45914"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Apr 28 16:12:06 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon May 03 10:49:25 2010 -0700"
      },
      "message": "ceph: clear dir complete, invalidate dentry on replayed rename\n\nIf a rename operation is resent to the MDS following an MDS restart, the\nclient does not get a full reply (containing the resulting metadata) back.\nIn that case, a ceph_rename() needs to compensate by doing anything useful\nthat fill_inode() would have, like d_move().\n\nIt also needs to invalidate the dentry (to workaround the vfs_rename_dir()\nbug) and clear the dir complete flag, just like fill_trace().\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "5c6a2cdb4fe8aaf6b54f022c14f13d2a12b45914",
      "tree": "68b777f391b68f91ba8c587ded4f9d9526f9279a",
      "parents": [
        "ae18756b9fa7bb93132cff06cd8575e3d46633f9"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Apr 22 13:48:59 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon May 03 10:49:25 2010 -0700"
      },
      "message": "ceph: fix direct io truncate offset\n\ntruncate_inode_pages_range wants the end offset to align with the last byte\nin a page.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "ae18756b9fa7bb93132cff06cd8575e3d46633f9",
      "tree": "e09f5c89b4611e2c53bb50118d8fa8133b58c73b",
      "parents": [
        "684be25c52a1e43638ced160be0b0b46596e7f2b"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Apr 22 07:47:01 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon May 03 10:49:24 2010 -0700"
      },
      "message": "ceph: discard incoming messages with bad seq #\n\nWe can get old message seq #\u0027s after a tcp reconnect for stateful sessions\n(i.e., the MDS).  If we get a higher seq #, that is an error, and we\nshouldn\u0027t see any bad seq #\u0027s for stateless (mon, osd) connections.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "684be25c52a1e43638ced160be0b0b46596e7f2b",
      "tree": "c6cde28f26e12f1ef33990a6d8cb10ab975dddba",
      "parents": [
        "d45d0d970f495e04a4e4f46acd74e90f4a4564f9"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Apr 21 20:45:59 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon May 03 10:49:24 2010 -0700"
      },
      "message": "ceph: fix seq counting for skipped messages\n\nIncrement in_seq even when the message is skipped for some reason.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "d45d0d970f495e04a4e4f46acd74e90f4a4564f9",
      "tree": "f5be41231ee8b925c01b3d291f8919b8e451101d",
      "parents": [
        "0b0c06d1476290cea248923c0ee7be9fd61cacea"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Apr 20 15:20:33 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon May 03 10:49:24 2010 -0700"
      },
      "message": "ceph: add missing #includes\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "0b0c06d1476290cea248923c0ee7be9fd61cacea",
      "tree": "557eacf9666cf0c2f989c2ff1955805d5557d07d",
      "parents": [
        "c8f16584ac85444d51d8753c5df502350cfc7bb7"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Apr 20 10:27:13 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon May 03 10:49:23 2010 -0700"
      },
      "message": "ceph: fix leaked spinlock during mds reconnect\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "c8f16584ac85444d51d8753c5df502350cfc7bb7",
      "tree": "8fd47c13e4577e10487b3cba001a029ba43aa669",
      "parents": [
        "91dee39eebcfb47085c4d457a584b0e9723b6ca0"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Apr 19 13:50:26 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon May 03 10:49:23 2010 -0700"
      },
      "message": "ceph: print more useful version info on module load\n\nDecouple the client version from the server side.  Print relevant protocol\nand map version info instead.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "91dee39eebcfb47085c4d457a584b0e9723b6ca0",
      "tree": "52bdeb4795c3b60b1d23460cada8c813c94fb7a9",
      "parents": [
        "c10f5e12bafde7f7a2f9b75d76f7a68d62154e91"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Apr 19 10:15:44 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon May 03 10:49:23 2010 -0700"
      },
      "message": "ceph: fix snap realm splits\n\nThe snap realm split was checking i_snap_realm, not the list_head, to\ndetermine if an inode belonged in the new realm.  The check always failed,\nwhich meant we always moved the inode, corrupting the old realm\u0027s list and\ncausing various crashes.\n\nAlso wait to release old realm reference to avoid possibility of use after\nfree.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "c10f5e12bafde7f7a2f9b75d76f7a68d62154e91",
      "tree": "422e4a5898dea5fddaa4b6b73379b9ac4db230b5",
      "parents": [
        "66f41d4c5c8a5deed66fdcc84509376c9a0bf9d8"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Apr 16 12:56:11 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon May 03 10:49:22 2010 -0700"
      },
      "message": "ceph: clear dir complete on d_move\n\nd_move() reorders the d_subdirs list, breaking the readdir result caching.\nUnless/until d_move preserves that ordering, clear CEPH_I_COMPLETE on\nrename.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "973bec34bfc1bc2465646181653d67f767d418c8",
      "tree": "05c84524a1c1fb273e399a9eb99c099e84499182",
      "parents": [
        "54413b825ca502b9384edabf972c512c29d64010"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon May 03 21:00:48 2010 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 03 07:36:01 2010 -0700"
      },
      "message": "nilfs2: fix sync silent failure\n\nAs of 32a88aa1, __sync_filesystem() will return 0 if s_bdi is not set.\nAnd nilfs does not set s_bdi anywhere.  I noticed this problem by the\nwarning introduced by the recent commit 5129a469 (\"Catch filesystem\nlacking s_bdi\").\n\n WARNING: at fs/super.c:959 vfs_kern_mount+0xc5/0x14e()\n Hardware name: PowerEdge 2850\n Modules linked in: nilfs2 loop tpm_tis tpm tpm_bios video shpchp pci_hotplug output dcdbas\n Pid: 3773, comm: mount.nilfs2 Not tainted 2.6.34-rc6-debug #38\n Call Trace:\n  [\u003cc1028422\u003e] warn_slowpath_common+0x60/0x90\n  [\u003cc102845f\u003e] warn_slowpath_null+0xd/0x10\n  [\u003cc1095936\u003e] vfs_kern_mount+0xc5/0x14e\n  [\u003cc1095a03\u003e] do_kern_mount+0x32/0xbd\n  [\u003cc10a811e\u003e] do_mount+0x671/0x6d0\n  [\u003cc1073794\u003e] ? __get_free_pages+0x1f/0x21\n  [\u003cc10a684f\u003e] ? copy_mount_options+0x2b/0xe2\n  [\u003cc107b634\u003e] ? strndup_user+0x48/0x67\n  [\u003cc10a81de\u003e] sys_mount+0x61/0x8f\n  [\u003cc100280c\u003e] sysenter_do_call+0x12/0x32\n\nThis ensures to set s_bdi for nilfs and fixes the sync silent failure.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "17d2c0a0c4d4e074f0a2a5c0090ff6d88f5e1d44",
      "tree": "f658bdd3a88849f76dcbab16129321eacd604a5d",
      "parents": [
        "8f649c376254755f2261a693b3d48d09126218dc"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Sat May 01 12:37:18 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat May 01 12:37:18 2010 -0400"
      },
      "message": "NFS: Fix RCU issues in the NFSv4 delegation code\n\nFix a number of RCU issues in the NFSv4 delegation code.\n\n (1) delegation-\u003ecred doesn\u0027t need to be RCU protected as it\u0027s essentially an\n     invariant refcounted structure.\n\n     By the time we get to nfs_free_delegation(), the delegation is being\n     released, so no one else should be attempting to use the saved\n     credentials, and they can be cleared.\n\n     However, since the list of delegations could still be under traversal at\n     this point by such as nfs_client_return_marked_delegations(), the cred\n     should be released in nfs_do_free_delegation() rather than in\n     nfs_free_delegation().  Simply using rcu_assign_pointer() to clear it is\n     insufficient as that doesn\u0027t stop the cred from being destroyed, and nor\n     does calling put_rpccred() after call_rcu(), given that the latter is\n     asynchronous.\n\n (2) nfs_detach_delegation_locked() and nfs_inode_set_delegation() should use\n     rcu_derefence_protected() because they can only be called if\n     nfs_client::cl_lock is held, and that guards against anyone changing\n     nfsi-\u003edelegation under it.  Furthermore, the barrier imposed by\n     rcu_dereference() is superfluous, given that the spin_lock() is also a\n     barrier.\n\n (3) nfs_detach_delegation_locked() is now passed a pointer to the nfs_client\n     struct so that it can issue lockdep advice based on clp-\u003ecl_lock for (2).\n\n (4) nfs_inode_return_delegation_noreclaim() and nfs_inode_return_delegation()\n     should use rcu_access_pointer() outside the spinlocked region as they\n     merely examine the pointer and don\u0027t follow it, thus rendering unnecessary\n     the need to impose a partial ordering over the one item of interest.\n\n     These result in an RCU warning like the following:\n\n[ INFO: suspicious rcu_dereference_check() usage. ]\n---------------------------------------------------\nfs/nfs/delegation.c:332 invoked rcu_dereference_check() without protection!\n\nother info that might help us debug this:\n\nrcu_scheduler_active \u003d 1, debug_locks \u003d 0\n2 locks held by mount.nfs4/2281:\n #0:  (\u0026type-\u003es_umount_key#34){+.+...}, at: [\u003cffffffff810b25b4\u003e] deactivate_super+0x60/0x80\n #1:  (iprune_sem){+.+...}, at: [\u003cffffffff810c332a\u003e] invalidate_inodes+0x39/0x13a\n\nstack backtrace:\nPid: 2281, comm: mount.nfs4 Not tainted 2.6.34-rc1-cachefs #110\nCall Trace:\n [\u003cffffffff8105149f\u003e] lockdep_rcu_dereference+0xaa/0xb2\n [\u003cffffffffa00b4591\u003e] nfs_inode_return_delegation_noreclaim+0x5b/0xa0 [nfs]\n [\u003cffffffffa0095d63\u003e] nfs4_clear_inode+0x11/0x1e [nfs]\n [\u003cffffffff810c2d92\u003e] clear_inode+0x9e/0xf8\n [\u003cffffffff810c3028\u003e] dispose_list+0x67/0x10e\n [\u003cffffffff810c340d\u003e] invalidate_inodes+0x11c/0x13a\n [\u003cffffffff810b1dc1\u003e] generic_shutdown_super+0x42/0xf4\n [\u003cffffffff810b1ebe\u003e] kill_anon_super+0x11/0x4f\n [\u003cffffffffa009893c\u003e] nfs4_kill_super+0x3f/0x72 [nfs]\n [\u003cffffffff810b25bc\u003e] deactivate_super+0x68/0x80\n [\u003cffffffff810c6744\u003e] mntput_no_expire+0xbb/0xf8\n [\u003cffffffff810c681b\u003e] release_mounts+0x9a/0xb0\n [\u003cffffffff810c689b\u003e] put_mnt_ns+0x6a/0x79\n [\u003cffffffffa00983a1\u003e] nfs_follow_remote_path+0x5a/0x146 [nfs]\n [\u003cffffffffa0098334\u003e] ? nfs_do_root_mount+0x82/0x95 [nfs]\n [\u003cffffffffa00985a9\u003e] nfs4_try_mount+0x75/0xaf [nfs]\n [\u003cffffffffa0098874\u003e] nfs4_get_sb+0x291/0x31a [nfs]\n [\u003cffffffff810b2059\u003e] vfs_kern_mount+0xb8/0x177\n [\u003cffffffff810b2176\u003e] do_kern_mount+0x48/0xe8\n [\u003cffffffff810c810b\u003e] do_mount+0x782/0x7f9\n [\u003cffffffff810c8205\u003e] sys_mount+0x83/0xbe\n [\u003cffffffff81001eeb\u003e] system_call_fastpath+0x16/0x1b\n\nAlso on:\n\nfs/nfs/delegation.c:215 invoked rcu_dereference_check() without protection!\n [\u003cffffffff8105149f\u003e] lockdep_rcu_dereference+0xaa/0xb2\n [\u003cffffffffa00b4223\u003e] nfs_inode_set_delegation+0xfe/0x219 [nfs]\n [\u003cffffffffa00a9c6f\u003e] nfs4_opendata_to_nfs4_state+0x2c2/0x30d [nfs]\n [\u003cffffffffa00aa15d\u003e] nfs4_do_open+0x2a6/0x3a6 [nfs]\n ...\n\nAnd:\n\nfs/nfs/delegation.c:40 invoked rcu_dereference_check() without protection!\n [\u003cffffffff8105149f\u003e] lockdep_rcu_dereference+0xaa/0xb2\n [\u003cffffffffa00b3bef\u003e] nfs_free_delegation+0x3d/0x6e [nfs]\n [\u003cffffffffa00b3e71\u003e] nfs_do_return_delegation+0x26/0x30 [nfs]\n [\u003cffffffffa00b406a\u003e] __nfs_inode_return_delegation+0x1ef/0x1fe [nfs]\n [\u003cffffffffa00b448a\u003e] nfs_client_return_marked_delegations+0xc9/0x124 [nfs]\n ...\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8f649c376254755f2261a693b3d48d09126218dc",
      "tree": "818338eca6dea5c7e022a3a6df51c3b2aa9e54b7",
      "parents": [
        "be1066bbcd443a65df312fdecea7e4959adedb45"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat May 01 12:36:18 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat May 01 12:36:18 2010 -0400"
      },
      "message": "NFSv4: Fix the locking in nfs_inode_reclaim_delegation()\n\nEnsure that we correctly rcu-dereference the delegation itself, and that we\nprotect against removal while we\u0027re changing the contents.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "ccc0197b02178f7e1707e659cbc5242fc94b499a",
      "tree": "6cba753c7e2c480123856275fb06845d86ac5a44",
      "parents": [
        "bd2b3f29594c50d7c5bd864d9af05d440394ee82"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Sat May 01 17:00:34 2010 +0200"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Sat May 01 18:02:34 2010 +0200"
      },
      "message": "logfs: Close i_ino reuse race\n\nlogfs_seek_hole() may return the same offset it is passed as argument.\nFound by Prasad Joshi \u003cprasadjoshi124@gmail.com\u003e\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "bd2b3f29594c50d7c5bd864d9af05d440394ee82",
      "tree": "1e8e49fe9d346d7ca869dc6e5954195be0e94123",
      "parents": [
        "ad342631f13d40aa787b9e5aaf4800f10d6c3647"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Sat May 01 17:33:06 2010 +0200"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Sat May 01 18:02:30 2010 +0200"
      },
      "message": "logfs: fix logfs_seek_hole()\n\nlogfs_seek_hole(inode, 0x200) would crap itself if the inode contained\njust 0x1ff (or fewer) blocks.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "ad342631f13d40aa787b9e5aaf4800f10d6c3647",
      "tree": "9881a9c68736cff0ea4d25dc1dfc09162bf8ef36",
      "parents": [
        "2e531fa0d0868f5114c2b3a782ab02eb9d6f914d"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Apr 27 13:45:31 2010 +0200"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Sat May 01 18:02:20 2010 +0200"
      },
      "message": "logfs: Return -EINVAL if filesystem image doesn\u0027t match\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "6b933c8e6f1a2f3118082c455eef25f9b1ac7b45",
      "tree": "bf31f4067a95aa23a354edfa89810c9eaaf71aaa",
      "parents": [
        "f9221fd80343285514568da6c5dbda0f87109de8"
      ],
      "author": {
        "name": "Li Dongyang",
        "email": "lidongyang@novell.com",
        "time": "Sat Apr 17 17:49:10 2010 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Apr 30 13:45:13 2010 -0700"
      },
      "message": "ocfs2: Avoid direct write if we fall back to buffered I/O\n\nwhen we fall back to buffered write from direct write, we call\n__generic_file_aio_write() but that will end up doing direct write\neven we are only prepared to do buffered write because the file\nhas the O_DIRECT flag set. This is a fix for\nhttps://bugzilla.novell.com/show_bug.cgi?id\u003d591039\nrevised with Joel\u0027s comments.\n\nSigned-off-by: Li Dongyang \u003clidongyang@novell.com\u003e\nAcked-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "f9221fd80343285514568da6c5dbda0f87109de8",
      "tree": "3a2f0077ebea9d094bdeedb319c97cb591d51c51",
      "parents": [
        "a36d515c7a2dfacebcf41729f6812dbc424ebcf0",
        "a9743fcdc0eb43d028b71267438076e1b0112ba0"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Apr 30 13:37:29 2010 -0700"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Apr 30 13:37:29 2010 -0700"
      },
      "message": "Merge branch \u0027skip_delete_inode\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2-mark into ocfs2-fixes\n"
    },
    {
      "commit": "12b1b321689cf92236fb216472744e39419fab30",
      "tree": "16505df17a901583b3c1ab28b5cb7e9b573d8809",
      "parents": [
        "8f2adb7cab81fc4984ddfe3a1efd1b62d52bead8"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Mar 08 20:51:03 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 30 10:14:56 2010 -0700"
      },
      "message": "Inotify: Fix build failure in inotify user support\n\nCONFIG_INOTIFY_USER defined but CONFIG_ANON_INODES undefined will result\nin the following build failure:\n\n    LD      vmlinux\n  fs/built-in.o: In function \u0027sys_inotify_init1\u0027:\n  (.text.sys_inotify_init1+0x22c): undefined reference to \u0027anon_inode_getfd\u0027\n  fs/built-in.o: In function `sys_inotify_init1\u0027:\n  (.text.sys_inotify_init1+0x22c): relocation truncated to fit: R_MIPS_26 against \u0027anon_inode_getfd\u0027\n  make[2]: *** [vmlinux] Error 1\n  make[1]: *** [sub-make] Error 2\n  make: *** [all] Error 2\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e97e7120eb24800cf8eb62c7da07b161cc2a8c73",
      "tree": "b48bf7a1f1e8192c5e3cb4e1289adc7a378c2d8d",
      "parents": [
        "fed0a9c644c7872f5bcaeb87a71103aef8e96761",
        "9bf729c0af67897ea8498ce17c29b0683f7f2028"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 29 19:49:34 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 29 19:49:34 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs:\n  xfs: add a shrinker to background inode reclaim\n"
    },
    {
      "commit": "fed0a9c644c7872f5bcaeb87a71103aef8e96761",
      "tree": "9615901a5b387aa57c39fcd1d5fee22149a9dbcc",
      "parents": [
        "6bec11921a7d7b11d0b1909596636632aece5a26",
        "3c2023dd8ed31e2ecfbb2d5aa20e8884d4b339e2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 29 17:18:07 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 29 17:18:07 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  exofs: Fix \"add bdi backing to mount session\" fall out\n  fs: fs/super.c needs to include backing-dev.h for !CONFIG_BLOCK\n"
    },
    {
      "commit": "9bf729c0af67897ea8498ce17c29b0683f7f2028",
      "tree": "9e6350fd9da5aef0b53ddeddd82f618ae16bf931",
      "parents": [
        "79dba2eaa771c3173957eccfd288e0e0d12e4d3f"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Thu Apr 29 09:55:50 2010 +1000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Thu Apr 29 16:22:13 2010 -0500"
      },
      "message": "xfs: add a shrinker to background inode reclaim\n\nOn low memory boxes or those with highmem, kernel can OOM before the\nbackground reclaims inodes via xfssyncd. Add a shrinker to run inode\nreclaim so that it inode reclaim is expedited when memory is low.\n\nThis is more complex than it needs to be because the VM folk don\u0027t\nwant a context added to the shrinker infrastructure. Hence we need\nto add a global list of XFS mount structures so the shrinker can\ntraverse them.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "3c2023dd8ed31e2ecfbb2d5aa20e8884d4b339e2",
      "tree": "df6e57bac0477e18c80786d5b014533ffe0eee34",
      "parents": [
        "5477d0face8a3ba4e9a1e7283692fff9c92f8e5e"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Thu Apr 29 20:35:29 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Apr 29 20:35:29 2010 +0200"
      },
      "message": "exofs: Fix \"add bdi backing to mount session\" fall out\n\nThe patch: add bdi backing to mount session\n\t(b3d0ab7e60d1865bb6f6a79a77aaba22f2543236)\n\nHas a bug in the placement of the bdi member at\nstruct exofs_sb_info. The layout member must be kept\nlast.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "5477d0face8a3ba4e9a1e7283692fff9c92f8e5e",
      "tree": "59bdad300f2be01911f9120e349b22664f199387",
      "parents": [
        "79dba2eaa771c3173957eccfd288e0e0d12e4d3f"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Apr 29 20:33:35 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Apr 29 20:33:35 2010 +0200"
      },
      "message": "fs: fs/super.c needs to include backing-dev.h for !CONFIG_BLOCK\n\nWhen CONFIG_BLOCK is set, it ends up getting backing-dev.h included.\nBut for !CONFIG_BLOCK, it isn\u0027t so lucky. The proper thing to do is\ninclude \u003clinux/backing-dev.h\u003e directly from the file it\u0027s used from,\nso do that.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "27fb8d7b1fe7c2fa2d7c1f243b899793e1b080e0",
      "tree": "25a8ca59a3743459bbd48674731becea89a16318",
      "parents": [
        "f80a0ca6ad8f2800453e819dafa09a0ed9e56850",
        "9699eda6bc1f708a28acb716e1477aa351362fe2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 29 10:23:44 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 29 10:23:44 2010 -0700"
      },
      "message": "Merge branch \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:\n  nfs: fix memory leak in nfs_get_sb with CONFIG_NFS_V4\n  nfs: fix some issues in nfs41_proc_reclaim_complete()\n  NFS: Ensure that nfs_wb_page() waits for Pg_writeback to clear\n  NFS: Fix an unstable write data integrity race\n  nfs: testing for null instead of ERR_PTR()\n  NFS: rsize and wsize settings ignored on v4 mounts\n  NFSv4: Don\u0027t attempt an atomic open if the file is a mountpoint\n  SUNRPC: Fix a bug in rpcauth_prune_expired\n"
    },
    {
      "commit": "f80a0ca6ad8f2800453e819dafa09a0ed9e56850",
      "tree": "bdbffa0e212888c31e11e89dc1194935f6825085",
      "parents": [
        "a36fed12a4d980eebb2e67b87ea30ad090238cff"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Wed Apr 28 14:36:41 2010 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 29 08:44:37 2010 -0700"
      },
      "message": "pktcdvd: improve BKL and compat_ioctl.c usage\n\nThe pktcdvd driver uses proper locking and does not need the BKL in the\nioctl and llseek functions of the character device, so kill both.\n\nMoving the compat_ioctl handling from common code into the driver itself\nfixes build problems when CONFIG_BLOCK is disabled.\n\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a36fed12a4d980eebb2e67b87ea30ad090238cff",
      "tree": "ff56582ba7ccca5d303b909c146032013bf047d0",
      "parents": [
        "dfad53d48e32cd0e10eab98e986c76cdd957600f"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Thu Apr 29 13:38:00 2010 +0300"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 29 07:59:16 2010 -0700"
      },
      "message": "exofs: Fix \"add bdi backing to mount session\" fall out\n\nCommit b3d0ab7e60d1865bb6f6a79a77aaba22f2543236 (\"exofs: add bdi backing\nto mount session\") has a bug in the placement of the bdi member at\nstruct exofs_sb_info.  The layout member must be kept last.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2e531fa0d0868f5114c2b3a782ab02eb9d6f914d",
      "tree": "6bd4d485938abdc3834b13c1196acd5e4a362074",
      "parents": [
        "3272c8a57b77a7277a740e211fe12171e4b37e99"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Thu Apr 29 14:56:37 2010 +0200"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Thu Apr 29 15:19:28 2010 +0200"
      },
      "message": "LogFS: Fix typo in b6349ac8\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "3272c8a57b77a7277a740e211fe12171e4b37e99",
      "tree": "a427d7a9339c9776c566c0321218d062077cd937",
      "parents": [
        "79dba2eaa771c3173957eccfd288e0e0d12e4d3f"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Wed Apr 21 12:33:54 2010 +0200"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Thu Apr 29 15:19:27 2010 +0200"
      },
      "message": "logfs: testing the wrong variable\n\nThere is a typo here.  We should test \"last\" instead of \"first\".\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "d9e80b7de91db05c1c4d2e5ebbfd70b3b3ba0e0f",
      "tree": "0ca15a8b9250337c810e18756422c17b5f651b08",
      "parents": [
        "1d16b0f2f3edf05f12a9e3960588e0d4854157bb"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Thu Apr 29 03:10:43 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 28 20:40:03 2010 -0700"
      },
      "message": "nfs d_revalidate() is too trigger-happy with d_drop()\n\nIf dentry found stale happens to be a root of disconnected tree, we\ncan\u0027t d_drop() it; its d_hash is actually part of s_anon and d_drop()\nwould simply hide it from shrink_dcache_for_umount(), leading to\nall sorts of fun, including busy inodes on umount and oopsen after\nthat.\n\nBug had been there since at least 2006 (commit c636eb already has it),\nso it\u0027s definitely -stable fodder.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9699eda6bc1f708a28acb716e1477aa351362fe2",
      "tree": "61d6841d38f047c9cb80e2efd08acea67f80b223",
      "parents": [
        "acf82b85a70f39786e3cbb1ffed8655bcc972424"
      ],
      "author": {
        "name": "Xiaotian Feng",
        "email": "dfeng@redhat.com",
        "time": "Thu Apr 22 18:56:17 2010 +0800"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Apr 28 13:46:28 2010 -0400"
      },
      "message": "nfs: fix memory leak in nfs_get_sb with CONFIG_NFS_V4\n\nWith CONFIG_NFS_V4 and data version 4, nfs_get_sb will allocate memory for\nexport_path in nfs4_validate_text_mount_data, so we need to free it then.\nThis is addressed in following kmemleak report:\n\nunreferenced object 0xffff88016bf48a50 (size 16):\n  comm \"mount.nfs\", pid 22567, jiffies 4651574704 (age 175471.200s)\n  hex dump (first 16 bytes):\n    2f 6f 70 74 2f 77 6f 72 6b 00 6b 6b 6b 6b 6b a5  /opt/work.kkkkk.\n  backtrace:\n    [\u003cffffffff814b34f9\u003e] kmemleak_alloc+0x60/0xa7\n    [\u003cffffffff81102c76\u003e] kmemleak_alloc_recursive.clone.5+0x1b/0x1d\n    [\u003cffffffff811046b3\u003e] __kmalloc_track_caller+0x18f/0x1b7\n    [\u003cffffffff810e1b08\u003e] kstrndup+0x37/0x54\n    [\u003cffffffffa0336971\u003e] nfs_parse_devname+0x152/0x204 [nfs]\n    [\u003cffffffffa0336af3\u003e] nfs4_validate_text_mount_data+0xd0/0xdc [nfs]\n    [\u003cffffffffa0338deb\u003e] nfs_get_sb+0x325/0x736 [nfs]\n    [\u003cffffffff81113671\u003e] vfs_kern_mount+0xbd/0x17c\n    [\u003cffffffff81113798\u003e] do_kern_mount+0x4d/0xed\n    [\u003cffffffff81129a87\u003e] do_mount+0x787/0x7fe\n    [\u003cffffffff81129b86\u003e] sys_mount+0x88/0xc2\n    [\u003cffffffff81009b42\u003e] system_call_fastpath+0x16/0x1b\n\nSigned-off-by: Xiaotian Feng \u003cdfeng@redhat.com\u003e\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Benny Halevy \u003cbhalevy@panasas.com\u003e\nCc: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nCc: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "acf82b85a70f39786e3cbb1ffed8655bcc972424",
      "tree": "99e1a7b0815aa1ca1d9196a323c9c28df185d2aa",
      "parents": [
        "ba8b06e67ed7a560b0e7c80091bcadda4f4727a5"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Thu Apr 22 11:28:39 2010 +0200"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Apr 28 13:45:12 2010 -0400"
      },
      "message": "nfs: fix some issues in nfs41_proc_reclaim_complete()\n\nThe original code passed an ERR_PTR() to rpc_put_task() and instead of\nreturning zero on success it returned -ENOMEM.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "970b06485ffee36aa3549dfe4c6b2a2c2118354d",
      "tree": "1b0f6f4182e73d19071addf8a209e5fb58483d08",
      "parents": [
        "696e65c3606aa3f587eeb181766baf49ea750cfc",
        "33f60e9640b2f60dde6735293d4aa5ecc5b1d5d5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 28 07:56:05 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 28 07:56:05 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  coda: move backing-dev.h kernel include inside __KERNEL__\n  mtd: ensure that bdi entries are properly initialized and registered\n  Move mtd_bdi_*mappable to mtdcore.c\n  btrfs: convert to using bdi_setup_and_register()\n  Catch filesystems lacking s_bdi\n  drbd: Terminate a connection early if sending the protocol fails\n  drbd: fix memory leak\n  Fix JFFS2 sync silent failure\n  smbfs: add bdi backing to mount session\n  ncpfs: add bdi backing to mount session\n  exofs: add bdi backing to mount session\n  ecryptfs: add bdi backing to mount session\n  coda: add bdi backing to mount session\n  cifs: add bdi backing to mount session\n  afs: add bdi backing to mount session.\n  9p: add bdi backing to mount session\n  bdi: add helper function for doing init and register of a bdi for a file system\n  block: ensure jiffies wrap is handled correctly in blk_rq_timed_out_timer\n"
    },
    {
      "commit": "ebe6aa5ac456a13213ed563863e70dd441618a97",
      "tree": "7703cf9325497f97731fb100a6521821f7fc08f9",
      "parents": [
        "d54ff73259a852d4b3886dc586587fdef5e9c8de"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Sat Apr 24 07:57:47 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Apr 28 00:36:17 2010 +0000"
      },
      "message": "cifs: eliminate \"first_time\" parm to CIFS_SessSetup\n\nWe can use the is_first_ses_reconnect() function to determine this.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "11e39d993dc693e0bfc5521d367b2494cb3bcd38",
      "tree": "b6e418811a47c0a92ed6f386360f07c73b8f3b87",
      "parents": [
        "03449cd9eaa4fa3a7faa4a59474bafe2e90bd143",
        "2bc3c1179c781b359d4f2f3439cb3df72afc17fc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 27 16:26:21 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 27 16:26:21 2010 -0700"
      },
      "message": "Merge branch \u0027for-2.6.34\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.34\u0027 of git://linux-nfs.org/~bfields/linux:\n  nfsd4: bug in read_buf\n"
    },
    {
      "commit": "3835541dd481091c4dbf5ef83c08aed12e50fd61",
      "tree": "bb40567215e394392ed0167867a0bf2a5916a583",
      "parents": [
        "9e584fbbd9fd4f0f10b8aafc9982df8d0b553e35"
      ],
      "author": {
        "name": "Jerome Marchand",
        "email": "jmarchan@redhat.com",
        "time": "Tue Apr 27 13:13:06 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 27 16:26:03 2010 -0700"
      },
      "message": "procfs: fix tid fdinfo\n\nCorrect the file_operations struct in fdinfo entry of tid_base_stuff[].\n\nPresently /proc/*/task/*/fdinfo contains symlinks to opened files like\n/proc/*/fd/.\n\nSigned-off-by: Jerome Marchand \u003cjmarchan@redhat.com\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: Alexey Dobriyan \u003cadobriyan@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": "ba8b06e67ed7a560b0e7c80091bcadda4f4727a5",
      "tree": "cd737661ffb38a614697b1e055d68e7b41a7e982",
      "parents": [
        "71d0a6112a363e703e383ae5b12c492485c39701"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Apr 27 18:33:54 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Apr 27 18:33:54 2010 -0400"
      },
      "message": "NFS: Ensure that nfs_wb_page() waits for Pg_writeback to clear\n\nNeil Brown reports that he is seeing the BUG_ON(ret \u003d\u003d 0) trigger in\nnfs_page_async_flush. According to the trace in\n     https://bugzilla.novell.com/show_bug.cgi?id\u003d599628\nthe problem appears to be due to nfs_wb_page() not waiting for the\nPG_writeback flag to clear.\n\nThere is a ditto problem in nfs_wb_page_cancel()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "16a5b3c4143fc7f6cbe0ef9fd4e9a58376f91506",
      "tree": "3ddc0a8a20a99c6abdf3698917ff636bd41cdea9",
      "parents": [
        "bc113f151a73cb2195c2fb40d7d70acf8e2f9208"
      ],
      "author": {
        "name": "Christoph Egger",
        "email": "siccegge@cs.fau.de",
        "time": "Mon Apr 26 15:56:36 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 27 09:01:26 2010 -0700"
      },
      "message": "Remove redundant check for CONFIG_MMU\n\nThe checks for CONFIG_MMU at this location are duplicated as all the code is\nlocated inside a #ifndef CONFIG_MMU block. So the first conditional block will\nalways be included while the second never will.\n\nSigned-off-by: Christoph Egger \u003csiccegge@stud.informatik.uni-erlangen.de\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bc113f151a73cb2195c2fb40d7d70acf8e2f9208",
      "tree": "026c1fe1d01a16724c8fff538b1fe29bbf1ef06b",
      "parents": [
        "93a9248af27aa83c08910d3e38b584678b1dc534",
        "e0d1f70010dce062ccce1bbd940a661e60b82631"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 27 08:59:38 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 27 08:59:38 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus:\n  squashfs: fix potential buffer over-run on 4K block file systems\n  squashfs: add missing buffer free\n  squashfs: fix warn_on when root inode is corrupted\n  squashfs: fix locking bug in zlib wrapper\n"
    },
    {
      "commit": "d54ff73259a852d4b3886dc586587fdef5e9c8de",
      "tree": "417ed0f9b87e4187641b053892eeb8f32ec32746",
      "parents": [
        "9bf67e516f16d31f86aa6f063576a959bbf19990"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Apr 27 04:38:15 2010 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Apr 27 04:38:15 2010 +0000"
      },
      "message": "[CIFS] Fix lease break for writes\n\nOn lease break we were breaking to readonly leases always\neven if write requested.  Also removed experimental\nifdef around setlease code\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "9bf67e516f16d31f86aa6f063576a959bbf19990",
      "tree": "beb24974deea12bbb261e6257946ac12a7fc66f1",
      "parents": [
        "ad6cca6d5d0f713e1987e20ed982cfa9eb16b27e"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Sat Apr 24 07:57:46 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Apr 27 02:17:08 2010 +0000"
      },
      "message": "cifs: save the dialect chosen by server\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "2bc3c1179c781b359d4f2f3439cb3df72afc17fc",
      "tree": "1ec45ae9721da85fb3807003067dd6be2b73a96d",
      "parents": [
        "0d0fb0f9c5fddef4a10242fe3337f00f528a3099"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@suse.de",
        "time": "Tue Apr 20 12:16:52 2010 +1000"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Apr 26 15:39:08 2010 -0400"
      },
      "message": "nfsd4: bug in read_buf\n\nWhen read_buf is called to move over to the next page in the pagelist\nof an NFSv4 request, it sets argp-\u003eend to essentially a random\nnumber, certainly not an address within the page which argp-\u003ep now\npoints to.  So subsequent calls to READ_BUF will think there is much\nmore than a page of spare space (the cast to u32 ensures an unsigned\ncomparison) so we can expect to fall off the end of the second\npage.\n\nWe never encountered thsi in testing because typically the only\noperations which use more than two pages are write-like operations,\nwhich have their own decoding logic.  Something like a getattr after a\nwrite may cross a page boundary, but it would be very unusual for it to\ncross another boundary after that.\n\nCc: stable@kernel.org\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "ad6cca6d5d0f713e1987e20ed982cfa9eb16b27e",
      "tree": "996437a3ded92acbd27decc9695b6c895c99a7c0",
      "parents": [
        "04912d6a20185473db025061b9b2c81fbdffc48b"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Mon Apr 26 12:10:06 2010 +0200"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Apr 26 19:08:01 2010 +0000"
      },
      "message": "cifs: change \u0026\u0026 to ||\n\nThis is a typo, if pvolume_info were NULL it would oops.\n\nThis function is used in clean up and error handling.  The current code\nnever passes a NULL pvolume_info, but it could pass a NULL *pvolume_info\nif the kmalloc() failed.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    }
  ],
  "next": "04912d6a20185473db025061b9b2c81fbdffc48b"
}
