)]}'
{
  "log": [
    {
      "commit": "4fd5ec509bd486b5dd8cac1a4d4d7e2cbdf7c546",
      "tree": "a8ddfdcc4bfb702457e8eeff57fd6b5a2f4249b2",
      "parents": [
        "6e188240ebc2a132d70924942d7c8b9acb46e11a",
        "6d27e64d74e14c1cf2b4af438d7e8a77017bd654"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 24 07:41:13 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 24 07:41:13 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:\n  9p: Optimize TCREATE by eliminating a redundant fid clone.\n  9p: cleanup: remove unneeded assignment\n  9p: Add mksock support\n  fs/9p: Make sure we properly instantiate dentry.\n  9p: add 9P2000.L rename operation\n  9p: add 9P2000.L statfs operation\n  9p: VFS switches for 9p2000.L: VFS switches\n  9p: VFS switches for 9p2000.L: protocol and client changes\n"
    },
    {
      "commit": "6d27e64d74e14c1cf2b4af438d7e8a77017bd654",
      "tree": "8b402bf58da42297521ec12bb024be566790cd6a",
      "parents": [
        "fe5bd0736bcdf35bd6cc300211a97c2fef8bd83e"
      ],
      "author": {
        "name": "Venkateswararao Jujjuri",
        "email": "jvrao@linux.vnet.ibm.com",
        "time": "Mon May 10 18:08:28 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Sat May 22 12:39:02 2010 -0500"
      },
      "message": "9p: Optimize TCREATE by eliminating a redundant fid clone.\n\nThis patch removes a redundant fid clone on the directory fid and hence\nreduces a server transaction while creating new filesystem object.\n\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "fe5bd0736bcdf35bd6cc300211a97c2fef8bd83e",
      "tree": "2116a7989eeef6ff063565f8525f53b526d6c8e4",
      "parents": [
        "75cc5c9b82a31936d2a8cb75f34752000e244015"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Fri May 07 08:26:23 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Sat May 22 12:34:12 2010 -0500"
      },
      "message": "9p: cleanup: remove unneeded assignment\n\nWe never use \"v9ses\" and so we can remove it.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "75cc5c9b82a31936d2a8cb75f34752000e244015",
      "tree": "1c783ff2a3d50297c9f1c1f0130927b4dd478297",
      "parents": [
        "85e0df240e9376ff58eb1a50d9854f5f176dd297"
      ],
      "author": {
        "name": "Venkateswararao Jujjuri",
        "email": "jvrao@linux.vnet.ibm.com",
        "time": "Sat May 22 12:20:30 2010 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Sat May 22 12:34:12 2010 -0500"
      },
      "message": "9p: Add mksock support\n\nWithout this patch, an attempt to mksock will get an EINVAL.\n\nBefore this patch:\n[root@localhost 1dir]# mksock mysock\nmksock: error making mysock: Invalid argument\n\nWith this patch:\n[root@localhost 1dir]# mksock mysock\n[root@localhost 1dir]# ls    -l mysock\ns--------- 1 root root 0 2010-03-31 17:44 mysock\n\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "85e0df240e9376ff58eb1a50d9854f5f176dd297",
      "tree": "253d86bccb5ca9a23863de2caa40b12d3097d624",
      "parents": [
        "4681dbdacb5cdc4d3273c3a97a1858d6e00a5fe7"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Fri May 14 13:04:39 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Sat May 22 12:34:11 2010 -0500"
      },
      "message": "fs/9p: Make sure we properly instantiate dentry.\n\nFor lookup if we get ENOENT error from the server we still\ninstantiate the dentry. We need to make sure we have dentry\noperations set in that case so that a later dput on the dentry\ndoes the expected. Without the patch we get the below error\n\n#ln  -sf abc abclink\nln: creating symbolic link `abclink\u0027: No such file or directory\n\nNow on the host do\n$ touch abclink\n\nGuest now gives ENOENT error.\n# ls\nls: cannot access abclink: No such file or directory\n\nDebugged-by:Gautham R Shenoy \u003cego@in.ibm.com\u003e\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "217f206d68e12285d55d05678e361221ebebd046",
      "tree": "77d5f4448cd4b8ffe5fafee3d07911d235763af3",
      "parents": [
        "a1bd120d13e586ea1c424048fd2c8420a442852a"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Thu Mar 04 17:30:57 2010 +0300"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri May 21 18:31:23 2010 -0400"
      },
      "message": "9p: replace inode uid,gid,mode initialization with helper function\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4681dbdacb5cdc4d3273c3a97a1858d6e00a5fe7",
      "tree": "e29be0d9f98caa7ee176cf0a1a3c3a22fca4934d",
      "parents": [
        "bda8e7752063cdbdd1d308bc1705400a8cec1aeb"
      ],
      "author": {
        "name": "Sripathi Kodi",
        "email": "sripathik@in.ibm.com",
        "time": "Thu Mar 25 12:47:26 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Fri May 21 16:44:34 2010 -0500"
      },
      "message": "9p: add 9P2000.L rename operation\n\nI made a V2 of this patch on top of my patches for VFS switches.\nAll the changes were due to change in some offsets.\n\nrename - change name of file or directory\n\nsize[4] Trename tag[2] fid[4] newdirfid[4] name[s]\nsize[4] Rrename tag[2]\n\nThe rename message is used to change the name of a file, possibly moving it\nto a new directory.  The 9P wstat message can only rename a file within the\nsame directory.\n\nSigned-off-by: Jim Garlick \u003cgarlick@llnl.gov\u003e\nSigned-off-by: Sripathi Kodi \u003csripathik@in.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "bda8e7752063cdbdd1d308bc1705400a8cec1aeb",
      "tree": "cfc751da04d3ffe46d7b7e935f7ceb21b1f8a8d0",
      "parents": [
        "9b6533c9b331ddbba9a40c972d82222ecffbc359"
      ],
      "author": {
        "name": "Sripathi Kodi",
        "email": "sripathik@in.ibm.com",
        "time": "Thu Mar 25 12:45:30 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Fri May 21 16:44:33 2010 -0500"
      },
      "message": "9p: add 9P2000.L statfs operation\n\nI made a V2 of this patch on top of my patches for VFS switches. The\nchange was adding v9fs_statfs pointer to v9fs_super_ops_dotl\ninstead of v9fs_super_ops.\n\nstatfs - get file system statistics\n\nsize[4] Tstatfs tag[2] fid[4]\nsize[4] Rstatfs tag[2] type[4] bsize[4] blocks[8] bfree[8] bavail[8]\n                files[8] ffree[8] fsid[8] namelen[4]\n\nThe statfs message is used to request file system information returned\nby the statfs(2) system call, which is used by df(1) to report file\nsystem and disk space usage.\n\nSigned-off-by: Jim Garlick \u003cgarlick@llnl.gov\u003e\nSigned-off-by: Sripathi Kodi \u003csripathik@in.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "9b6533c9b331ddbba9a40c972d82222ecffbc359",
      "tree": "62d4f5ece3c2cbefc09197b386cac2cd4a6693ae",
      "parents": [
        "c56e4acf55c804cbeea0ddb696ef698c73d39826"
      ],
      "author": {
        "name": "Sripathi Kodi",
        "email": "sripathik@in.ibm.com",
        "time": "Thu Mar 25 12:41:54 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Fri May 21 16:44:33 2010 -0500"
      },
      "message": "9p: VFS switches for 9p2000.L: VFS switches\n\nImplements VFS switches for 9p2000.L protocol.\n\nSigned-off-by: Sripathi Kodi \u003csripathik@in.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "0ed07ddb56d1348e5ce33f3b8de20d730351983a",
      "tree": "2a1487252e9ecd6fe5b7ff87d9b035f040ab8ff1",
      "parents": [
        "c3c532061e46156e8aab1268f38d66cfb63aeb2d"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Apr 22 11:42:00 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Apr 22 11:42:00 2010 +0200"
      },
      "message": "9p: add bdi backing to mount session\n\nThis ensures that dirty data gets flushed properly.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "749d229761ff0135cc4e16b8a28b41ae2f6b2c35",
      "tree": "25551c8cfb38319211f5ee59e78462a0f6fb85c4",
      "parents": [
        "795d580baec0d5386b83a8b557df47c20810e86b",
        "3dc9fef67f6292692dba181a6d0fd0211bd0a607"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 05 13:42:54 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 05 13:42:54 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:\n  9p: saving negative to unsigned char\n  9p: return on mutex_lock_interruptible()\n  9p: Creating files with names too long should fail with ENAMETOOLONG.\n  9p: Make sure we are able to clunk the cached fid on umount\n  9p: drop nlink remove\n  fs/9p: Clunk the fid resulting from partial walk of the name\n  9p: documentation update\n  9p: Fix setting of protocol flags in v9fs_session_info structure.\n"
    },
    {
      "commit": "85a770a8889035625466a4cfb1393cd7d2ffd165",
      "tree": "a860f3d7a95ad083863a1b55394f31f3b1b6f133",
      "parents": [
        "11e9b49b7fa056bfc00a56de8956d1d5fe8b84ea"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Tue Mar 30 09:41:25 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Apr 05 14:32:33 2010 -0500"
      },
      "message": "9p: return on mutex_lock_interruptible()\n\nIf \"err\" is -EINTR here the original code calls mutex_unlock() and then\nreturns, but it should just return directly.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n------------------------------------------------------------------------------\nDownload Intel\u0026#174; Parallel Studio Eval\nTry the new software tools for yourself. Speed compiling, find bugs\nproactively, and fine-tune applications for parallel performance.\nSee why Intel Parallel Studio got high marks during beta.\nhttp://p.sf.net/sfu/intel-sw-dev\n"
    },
    {
      "commit": "11e9b49b7fa056bfc00a56de8956d1d5fe8b84ea",
      "tree": "6dedb1817bc5de3ce5e19192ee6bcc26faaf92f7",
      "parents": [
        "6d96d3ab7aea5f0e75205a0c97f8d1fdf82c5287"
      ],
      "author": {
        "name": "Sripathi Kodi",
        "email": "sripathik@in.ibm.com",
        "time": "Mon Mar 29 18:13:59 2010 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Apr 05 10:37:37 2010 -0500"
      },
      "message": "9p: Creating files with names too long should fail with ENAMETOOLONG.\n\nSigned-off-by: Sripathi Kodi \u003csripathik@in.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n\n"
    },
    {
      "commit": "6d96d3ab7aea5f0e75205a0c97f8d1fdf82c5287",
      "tree": "a4dfa0472e2e670de1da7e7c0905da12d4608ab4",
      "parents": [
        "d994f4058d9f9be7e44529b55fc6be6552901ead"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Mar 29 18:13:59 2010 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Apr 05 10:37:36 2010 -0500"
      },
      "message": "9p: Make sure we are able to clunk the cached fid on umount\n\ndcache prune happen on umount. So we cannot mark the client\nsatus disconnect. That will prevent a 9p call to the server\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n\n"
    },
    {
      "commit": "d994f4058d9f9be7e44529b55fc6be6552901ead",
      "tree": "065d86bde3fbb8328642c0f5817d3bdcca358ad8",
      "parents": [
        "5b0fa207d1a6f27c9a2f2d707147dce01af21db7"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Mar 29 18:14:50 2010 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Apr 05 10:37:36 2010 -0500"
      },
      "message": "9p: drop nlink remove\n\nWe need to drop the link count on the inode of a sucessfull remove\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n\n"
    },
    {
      "commit": "5b0fa207d1a6f27c9a2f2d707147dce01af21db7",
      "tree": "b080986b3949faa9d3b5596b4b80a94765f5ede8",
      "parents": [
        "9208d24253e5e644f8cb1b87b69de44897668303"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Fri Mar 19 12:47:26 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Apr 05 10:37:36 2010 -0500"
      },
      "message": "fs/9p: Clunk the fid resulting from partial walk of the name\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "476ada0436351672fbf482db54cb94b8ba877709",
      "tree": "21228cf96fdee32f1c63cc7b31d6764935617ec7",
      "parents": [
        "db217dece3003df0841bacf9556b5c06aa097dae"
      ],
      "author": {
        "name": "Sripathi Kodi",
        "email": "sripathik@in.ibm.com",
        "time": "Wed Mar 17 17:02:38 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Apr 05 10:37:36 2010 -0500"
      },
      "message": "9p: Fix setting of protocol flags in v9fs_session_info structure.\n\nThis patch fixes a simple bug I left behind in my earlier protocol\nnegotiation patch.\n\nThanks,\nSripathi.\n\nSigned-off-by: Sripathi Kodi \u003csripathik@in.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "f78233dd44a110c574fe760ad6f9c1e8741a0d00",
      "tree": "5b38b76a9f7133cd6e86cecb66673b53fa93d85a",
      "parents": [
        "fc0f296126433e61600539325975b6c30681c07e"
      ],
      "author": {
        "name": "Sachin Prabhu",
        "email": "sprabhu@redhat.com",
        "time": "Sat Mar 13 09:03:55 2010 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Sat Mar 13 09:05:37 2010 -0600"
      },
      "message": "9p: Skip check for mandatory locks when unlocking\n\nWhile investigating a bug, I came across a possible bug in v9fs. The\nproblem is similar to the one reported for NFS by ASANO Masahiro in\nhttp://lkml.org/lkml/2005/12/21/334.\n\nv9fs_file_lock() will skip locks on file which has mode set to 02666.\nThis is a problem in cases where the mode of the file is changed after\na process has obtained a lock on the file. Such a lock will be skipped\nduring unlock and the machine will end up with a BUG in\nlocks_remove_flock().\n\nv9fs_file_lock() should skip the check for mandatory locks when\nunlocking a file.\n\nSigned-off-by: Sachin Prabhu \u003csprabhu@redhat.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "fc0f296126433e61600539325975b6c30681c07e",
      "tree": "982db41753bc2547133c4e84ab703e24d9333010",
      "parents": [
        "45bc21edb52fa71dbb1324c6f573aa880e95519d"
      ],
      "author": {
        "name": "jvrao",
        "email": "jvrao@linux.vnet.ibm.com",
        "time": "Mon Mar 08 22:07:02 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Sat Mar 13 08:59:54 2010 -0600"
      },
      "message": "9p: Fixes a simple bug enabling writes beyond 2GB.\n\nFixes a simple bug so that large files beyond 2GB can be created.\n\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "45bc21edb52fa71dbb1324c6f573aa880e95519d",
      "tree": "adee2b59a562679241f874c978162739e1df78bb",
      "parents": [
        "fae4528b2341f2ab0c86c191e24d9cdd93624c60"
      ],
      "author": {
        "name": "Sripathi Kodi",
        "email": "sripathik@in.ibm.com",
        "time": "Mon Mar 08 17:33:04 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Sat Mar 13 08:57:29 2010 -0600"
      },
      "message": "9p: Change the name of new protocol from 9p2010.L to 9p2000.L\n\nThis patch changes the name of the new 9P protocol from 9p2010.L to\n9p2000.u. This is because we learnt that the name 9p2010 is already\nbeing used by others.\n\nSigned-off-by: Sripathi Kodi \u003csripathik@in.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "fae4528b2341f2ab0c86c191e24d9cdd93624c60",
      "tree": "c60df63625d95dfa7c35fc60a671a1aff0c3e938",
      "parents": [
        "86c8437383acd85c05ec7c9a004f59fe7ac9821a"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Sat Mar 06 04:44:16 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Sat Mar 13 08:57:29 2010 -0600"
      },
      "message": "fs/9p: re-init the wstat in readdir loop\n\nThis ensure that on failure when we free the stat buf we don\u0027t end up\nfreeing an already freed pointer in the earlier loop\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Sripathi Kodi \u003csripathik@in.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "5717144a01d701614cfdb15f09ed562d720cf3db",
      "tree": "ad9e54c39587483b0f680d3dbf4f8dd606f1f9c0",
      "parents": [
        "c5a7697da9775f7a0e122fa23180becc311772d1"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Fri Mar 05 14:43:43 2010 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Fri Mar 05 15:04:42 2010 -0600"
      },
      "message": "fs/9p: Add hardlink support to .u extension\n\nFor regular file and directories we put the link\ncount in th extension field in a tagged string format.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "342fee1d5c7dfa05f4e14ec1e583df4553b09776",
      "tree": "87931dea926f16b44374db8a849ef131cd6ff3de",
      "parents": [
        "0fb80abd911a7cb1e6548b5279568dc1e8949702"
      ],
      "author": {
        "name": "Sripathi Kodi",
        "email": "sripathik@in.ibm.com",
        "time": "Fri Mar 05 18:50:14 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Fri Mar 05 15:04:42 2010 -0600"
      },
      "message": "9P2010.L handshake: Remove \"dotu\" variable\n\nRemoves \u0027dotu\u0027 variable and make everything dependent\non \u0027proto_version\u0027 field.\n\nSigned-off-by: Sripathi Kodi \u003csripathik@in.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "dd6102fbd917889384d89bc427e98e85e8fda000",
      "tree": "06028b4b6a964c6a1578702c69c0731e3f03538c",
      "parents": [
        "c1a7c2262035e83a8f70ebe1328b3451702cf51b"
      ],
      "author": {
        "name": "Sripathi Kodi",
        "email": "sripathik@in.ibm.com",
        "time": "Fri Mar 05 18:48:00 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Fri Mar 05 15:04:41 2010 -0600"
      },
      "message": "9P2010.L handshake: Add VFS flags\n\nAdd 9P2000.u and 9P2010.L protocol flags to V9FS VFS\n\nThis patch adds 9P2000.u and 9P2010.L protocol flags into V9FS VFS side code\nand removes the single flag used for \u0027extended\u0027.\n\nSigned-off-by: Sripathi Kodi \u003csripathik@in.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "bf2d29c64dd777e9a40bc4533e721944a590250f",
      "tree": "4425f4ab1cee9cdf24a4ac92122682c929c24964",
      "parents": [
        "fb786100f7c75e154e63d0f5a2982e6d46dfb602"
      ],
      "author": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Feb 08 17:59:34 2010 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Feb 08 17:59:34 2010 -0600"
      },
      "message": "9p: fix memory leak in v9fs_parse_options()\n\nIf match_strdup() fail this function exits without freeing the options string.\n\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@us.ibm.com\u003e\nSigend-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "d8c8a9e36560e9ff4c99279d64ce5dd0e1a33fa6",
      "tree": "b52f301bd5811b9b813b6d244b555edbab38299a",
      "parents": [
        "7a4439c406c21b1e900ed497cec1a79d05b38c07"
      ],
      "author": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Feb 08 16:23:23 2010 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Feb 08 16:23:23 2010 -0600"
      },
      "message": "9p: fix option parsing\n\nOptions pointer is being moved before calling kfree() which seems\nto cause problems.  This uses a separate pointer to track and free\noriginal allocation.\n\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@us.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003ew\n\n"
    },
    {
      "commit": "7a4439c406c21b1e900ed497cec1a79d05b38c07",
      "tree": "82f24249a7e970dc089406d334bd5d49cfecb7d1",
      "parents": [
        "9d6939dac77102b09396ee0b89392ec7639612a7"
      ],
      "author": {
        "name": "M. Mohan Kumar",
        "email": "mohan@in.ibm.com",
        "time": "Mon Feb 08 15:36:48 2010 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@arly004.austin.ibm.com",
        "time": "Mon Feb 08 15:36:48 2010 -0600"
      },
      "message": "9p: Include fsync support for 9p client\n\nImplement the fsync in the client side by marking stat field values to \u0027don\u0027t touch\u0027 so that server may \ninterpret it as a request to guarantee that the contents of the associated file are committed to stable \nstorage before the Rwstat message is returned.\n\nWithout this patch, calling fsync on a 9p file results in \"Invalid argument\" error. Please check the attached \nC program.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e \nSigned-off-by: M. Mohan Kumar \u003cmohan@in.ibm.com\u003e \nAcked-by: Venkateswararao Jujjuri (JV) \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n\n"
    },
    {
      "commit": "083c73c253c23c20359a344dfe1198ea628e6259",
      "tree": "22f4f25627db5569f7ce78ef3b9270a828ae924a",
      "parents": [
        "7e32b7bb734047c5e3cecf2e896b9cf8fc35d1e8"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jan 25 06:16:19 2010 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 26 22:22:27 2010 -0500"
      },
      "message": "fix oops in fs/9p late mount failure\n\nif 9P -\u003eget_sb() fails late (at root inode or root dentry\nallocation), we\u0027ll hit its -\u003ekill_sb() with NULL -\u003es_root\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "204f2f0e82ec5cecbe671cfe2b132146929213d3",
      "tree": "0f57a312898ba3d910289fbee5fcd84e073a06da",
      "parents": [
        "86acdca1b63e6890540fa19495cfc708beff3d8b"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 23 00:35:54 2009 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jan 14 09:05:25 2010 -0500"
      },
      "message": "Kill 9p readlink()\n\nFor symlinks generic_readlink() will work just fine and for directories\nwe don\u0027t want -\u003ereadlink() at all.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6f054164322bc6c1233402b9ed6b40d4af39a98f",
      "tree": "8bf63b1220db094a6865ff5254a3c55781e89b38",
      "parents": [
        "29e553631b2a0d4eebd23db630572e1027a9967a"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Dec 01 13:38:45 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 01 07:35:11 2009 -0800"
      },
      "message": "9p: fix build breakage introduced by FS-Cache\n\nWhile building 2.6.32-rc8-git2 for Fedora I noticed the following thinko\nin commit 201a15428bd54f83eccec8b7c64a04b8f9431204 (\"FS-Cache: Handle\npages pending storage that get evicted under OOM conditions\"):\n\n  fs/9p/cache.c: In function \u0027__v9fs_fscache_release_page\u0027:\n  fs/9p/cache.c:346: error: \u0027vnode\u0027 undeclared (first use in this function)\n  fs/9p/cache.c:346: error: (Each undeclared identifier is reported only once\n  fs/9p/cache.c:346: error: for each function it appears in.)\n  make[2]: *** [fs/9p/cache.o] Error 1\n\nFix the 9P filesystem to correctly construct the argument to\nfscache_maybe_release_page().\n\nSigned-off-by: Kyle McMartin \u003ckyle@redhat.com\u003e\nSigned-off-by: Xiaotian Feng \u003cdfeng@redhat.com\u003e [from identical patch]\nSigned-off-by: Stefan Lippers-Hollmann \u003cs.l-h@gmx.de\u003e [from identical patch]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "201a15428bd54f83eccec8b7c64a04b8f9431204",
      "tree": "326fcce64ce96657253fd141a3f4a767ac95418a",
      "parents": [
        "e3d4d28b1c8cc7c26536a50b43d86ccd39878550"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:11:35 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:11:35 2009 +0000"
      },
      "message": "FS-Cache: Handle pages pending storage that get evicted under OOM conditions\n\nHandle netfs pages that the vmscan algorithm wants to evict from the pagecache\nunder OOM conditions, but that are waiting for write to the cache.  Under these\nconditions, vmscan calls the releasepage() function of the netfs, asking if a\npage can be discarded.\n\nThe problem is typified by the following trace of a stuck process:\n\n\tkslowd005     D 0000000000000000     0  4253      2 0x00000080\n\t ffff88001b14f370 0000000000000046 ffff880020d0d000 0000000000000007\n\t 0000000000000006 0000000000000001 ffff88001b14ffd8 ffff880020d0d2a8\n\t 000000000000ddf0 00000000000118c0 00000000000118c0 ffff880020d0d2a8\n\tCall Trace:\n\t [\u003cffffffffa00782d8\u003e] __fscache_wait_on_page_write+0x8b/0xa7 [fscache]\n\t [\u003cffffffff8104c0f1\u003e] ? autoremove_wake_function+0x0/0x34\n\t [\u003cffffffffa0078240\u003e] ? __fscache_check_page_write+0x63/0x70 [fscache]\n\t [\u003cffffffffa00b671d\u003e] nfs_fscache_release_page+0x4e/0xc4 [nfs]\n\t [\u003cffffffffa00927f0\u003e] nfs_release_page+0x3c/0x41 [nfs]\n\t [\u003cffffffff810885d3\u003e] try_to_release_page+0x32/0x3b\n\t [\u003cffffffff81093203\u003e] shrink_page_list+0x316/0x4ac\n\t [\u003cffffffff8109372b\u003e] shrink_inactive_list+0x392/0x67c\n\t [\u003cffffffff813532fa\u003e] ? __mutex_unlock_slowpath+0x100/0x10b\n\t [\u003cffffffff81058df0\u003e] ? trace_hardirqs_on_caller+0x10c/0x130\n\t [\u003cffffffff8135330e\u003e] ? mutex_unlock+0x9/0xb\n\t [\u003cffffffff81093aa2\u003e] shrink_list+0x8d/0x8f\n\t [\u003cffffffff81093d1c\u003e] shrink_zone+0x278/0x33c\n\t [\u003cffffffff81052d6c\u003e] ? ktime_get_ts+0xad/0xba\n\t [\u003cffffffff81094b13\u003e] try_to_free_pages+0x22e/0x392\n\t [\u003cffffffff81091e24\u003e] ? isolate_pages_global+0x0/0x212\n\t [\u003cffffffff8108e743\u003e] __alloc_pages_nodemask+0x3dc/0x5cf\n\t [\u003cffffffff81089529\u003e] grab_cache_page_write_begin+0x65/0xaa\n\t [\u003cffffffff8110f8c0\u003e] ext3_write_begin+0x78/0x1eb\n\t [\u003cffffffff81089ec5\u003e] generic_file_buffered_write+0x109/0x28c\n\t [\u003cffffffff8103cb69\u003e] ? current_fs_time+0x22/0x29\n\t [\u003cffffffff8108a509\u003e] __generic_file_aio_write+0x350/0x385\n\t [\u003cffffffff8108a588\u003e] ? generic_file_aio_write+0x4a/0xae\n\t [\u003cffffffff8108a59e\u003e] generic_file_aio_write+0x60/0xae\n\t [\u003cffffffff810b2e82\u003e] do_sync_write+0xe3/0x120\n\t [\u003cffffffff8104c0f1\u003e] ? autoremove_wake_function+0x0/0x34\n\t [\u003cffffffff810b18e1\u003e] ? __dentry_open+0x1a5/0x2b8\n\t [\u003cffffffff810b1a76\u003e] ? dentry_open+0x82/0x89\n\t [\u003cffffffffa00e693c\u003e] cachefiles_write_page+0x298/0x335 [cachefiles]\n\t [\u003cffffffffa0077147\u003e] fscache_write_op+0x178/0x2c2 [fscache]\n\t [\u003cffffffffa0075656\u003e] fscache_op_execute+0x7a/0xd1 [fscache]\n\t [\u003cffffffff81082093\u003e] slow_work_execute+0x18f/0x2d1\n\t [\u003cffffffff8108239a\u003e] slow_work_thread+0x1c5/0x308\n\t [\u003cffffffff8104c0f1\u003e] ? autoremove_wake_function+0x0/0x34\n\t [\u003cffffffff810821d5\u003e] ? slow_work_thread+0x0/0x308\n\t [\u003cffffffff8104be91\u003e] kthread+0x7a/0x82\n\t [\u003cffffffff8100beda\u003e] child_rip+0xa/0x20\n\t [\u003cffffffff8100b87c\u003e] ? restore_args+0x0/0x30\n\t [\u003cffffffff8102ef83\u003e] ? tg_shares_up+0x171/0x227\n\t [\u003cffffffff8104be17\u003e] ? kthread+0x0/0x82\n\t [\u003cffffffff8100bed0\u003e] ? child_rip+0x0/0x20\n\nIn the above backtrace, the following is happening:\n\n (1) A page storage operation is being executed by a slow-work thread\n     (fscache_write_op()).\n\n (2) FS-Cache farms the operation out to the cache to perform\n     (cachefiles_write_page()).\n\n (3) CacheFiles is then calling Ext3 to perform the actual write, using Ext3\u0027s\n     standard write (do_sync_write()) under KERNEL_DS directly from the netfs\n     page.\n\n (4) However, for Ext3 to perform the write, it must allocate some memory, in\n     particular, it must allocate at least one page cache page into which it\n     can copy the data from the netfs page.\n\n (5) Under OOM conditions, the memory allocator can\u0027t immediately come up with\n     a page, so it uses vmscan to find something to discard\n     (try_to_free_pages()).\n\n (6) vmscan finds a clean netfs page it might be able to discard (possibly the\n     one it\u0027s trying to write out).\n\n (7) The netfs is called to throw the page away (nfs_release_page()) - but it\u0027s\n     called with __GFP_WAIT, so the netfs decides to wait for the store to\n     complete (__fscache_wait_on_page_write()).\n\n (8) This blocks a slow-work processing thread - possibly against itself.\n\nThe system ends up stuck because it can\u0027t write out any netfs pages to the\ncache without allocating more memory.\n\nTo avoid this, we make FS-Cache cancel some writes that aren\u0027t in the middle of\nactually being performed.  This means that some data won\u0027t make it into the\ncache this time.  To support this, a new FS-Cache function is added\nfscache_maybe_release_page() that replaces what the netfs releasepage()\nfunctions used to do with respect to the cache.\n\nThe decisions fscache_maybe_release_page() makes are counted and displayed\nthrough /proc/fs/fscache/stats on a line labelled \"VmScan\".  There are four\ncounters provided: \"nos\u003dN\" - pages that weren\u0027t pending storage; \"gon\u003dN\" -\npages that were pending storage when we first looked, but weren\u0027t by the time\nwe got the object lock; \"bsy\u003dN\" - pages that we ignored as they were actively\nbeing written when we looked; and \"can\u003dN\" - pages that we cancelled the storage\nof.\n\nWhat I\u0027d really like to do is alter the behaviour of the cancellation\nheuristics, depending on how necessary it is to expel pages.  If there are\nplenty of other pages that aren\u0027t waiting to be written to the cache that\ncould be ejected first, then it would be nice to hold up on immediate\ncancellation of cache writes - but I don\u0027t see a way of doing that.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "3e2796a90cf349527e50b3bc4d0b2f4019b1ce7a",
      "tree": "80bddc0f5d36a589db5a77b9b60e4c94c75994ed",
      "parents": [
        "2511cd0b3b9e9b1c3e9360cc565c3745ac3f3f3f"
      ],
      "author": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Nov 02 08:39:28 2009 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Nov 02 08:43:45 2009 -0600"
      },
      "message": "9p: fix readdir corner cases\n\nThe patch below also addresses a couple of other corner cases in readdir\nseen with a large (e.g. 64k) msize.  I\u0027m not sure what people think of\nmy co-opting of fid-\u003eaux here.  I\u0027d be happy to rework if there\u0027s a better\nway.\n\nWhen the size of the user supplied buffer passed to readdir is smaller\nthan the data returned in one go by the 9P read request, v9fs_dir_readdir()\ncurrently discards extra data so that, on the next call, a 9P read\nrequest will be issued with offset \u003c previous offset + bytes returned,\nwhich voilates the constraint described in paragraph 3 of read(5) description.\nThis patch preseves the leftover data in fid-\u003eaux for use in the next call.\n\nSigned-off-by: Jim Garlick \u003cgarlick@llnl.gov\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n"
    },
    {
      "commit": "2511cd0b3b9e9b1c3e9360cc565c3745ac3f3f3f",
      "tree": "70fff7f686a9c6c956146e39f656412715d40996",
      "parents": [
        "f91b90993f0d286be89f06c2f547ced8cfe291c6"
      ],
      "author": {
        "name": "Martin Stava",
        "email": "martin.stava@gmail.com",
        "time": "Mon Nov 02 08:39:34 2009 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Nov 02 08:43:45 2009 -0600"
      },
      "message": "9p: fix readlink\n\nI do not know if you\u0027ve looked on the patch, but unfortunately it is\nincorrect. A suggested better version is in this email (the old\nversion didn\u0027t work in case the user provided buffer was not long\nenough - it incorrectly appended null byte on a position of last char,\nand thus broke the contract of the readlink method). However, I\u0027m\nstill not sure this is 100% correct thing to do, I think readlink is\nsupposed to return buffer without last null byte in all cases, but we\ndo return last null byte (even the old version).. on the other hand it\nis likely unspecified what is in the remaining part of the buffer, so\nnull character may be fine there ;):\n\nSigned-off-by: Martin Stava \u003cmartin.stava@gmail.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n"
    },
    {
      "commit": "f91b90993f0d286be89f06c2f547ced8cfe291c6",
      "tree": "556667dabcd184b7713101c3bb456142fc645642",
      "parents": [
        "b6727b12dd2ffb4a890eb5b13a298230c29ba45d"
      ],
      "author": {
        "name": "Martin Stava",
        "email": "martin.stava@gmail.com",
        "time": "Mon Nov 02 08:39:35 2009 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Nov 02 08:43:44 2009 -0600"
      },
      "message": "9p: fix a small bug in readdir for long directories\n\nHere is a proposed patch for bug in readdir. Listing of dirs with\nmany files fails without this patch.\n\nSigned-off-by: Martin Stava \u003cmartin.stava@gmail.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n"
    },
    {
      "commit": "60e78d2c993e58d890596d951fff77d5965adcd6",
      "tree": "3d53ed7254c613ef8d8de36fdceda25bc493f4f7",
      "parents": [
        "637d020a02cd734bf27acfc56c6d942cddd9eb80"
      ],
      "author": {
        "name": "Abhishek Kulkarni",
        "email": "adkulkar@umail.iu.edu",
        "time": "Wed Sep 23 13:00:27 2009 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@strongmad.austin.ibm.com",
        "time": "Wed Sep 23 13:03:46 2009 -0500"
      },
      "message": "9p: Add fscache support to 9p\n\nThis patch adds a persistent, read-only caching facility for\n9p clients using the FS-Cache caching backend.\n\nWhen the fscache facility is enabled, each inode is associated\nwith a corresponding vcookie which is an index into the FS-Cache\nindexing tree. The FS-Cache indexing tree is indexed at 3 levels:\n- session object associated with each mount.\n- inode/vcookie\n- actual data (pages)\n\nA cache tag is chosen randomly for each session. These tags can\nbe read off /sys/fs/9p/caches and can be passed as a mount-time\nparameter to re-attach to the specified caching session.\n\nSigned-off-by: Abhishek Kulkarni \u003cadkulkar@umail.iu.edu\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "637d020a02cd734bf27acfc56c6d942cddd9eb80",
      "tree": "cff971ce538a12c1d0b315772c733bc91b1913a6",
      "parents": [
        "7549ae3e81cc45908cbeee54a52b24f247fb0a2d"
      ],
      "author": {
        "name": "Abhishek Kulkarni",
        "email": "adkulkar@umail.iu.edu",
        "time": "Tue Sep 22 11:34:05 2009 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@strongmad.austin.ibm.com",
        "time": "Wed Sep 23 13:03:46 2009 -0500"
      },
      "message": "9p: Fix the incorrect update of inode size in v9fs_file_write()\n\nWhen using the cache\u003dloose flags, the inode\u0027s size was not being\nupdated correctly on a remote write. Thus subsequent reads of\nthe whole file resulted in a truncated read. Fix it.\n\nSigned-off-by: Abhishek Kulkarni \u003cadkulkar@umail.iu.edu\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n"
    },
    {
      "commit": "7549ae3e81cc45908cbeee54a52b24f247fb0a2d",
      "tree": "cda0ffbb0f5025375ecd48e828d757283e075da8",
      "parents": [
        "7043078630bbc9eb908a56e08077c5abe7f2d311"
      ],
      "author": {
        "name": "Abhishek Kulkarni",
        "email": "adkulkar@umail.iu.edu",
        "time": "Tue Sep 22 11:34:05 2009 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@strongmad.austin.ibm.com",
        "time": "Wed Sep 23 13:03:46 2009 -0500"
      },
      "message": "9p: Use the i_size_[read, write]() macros instead of using inode-\u003ei_size directly.\n\nChange all occurrence of inode-\u003ei_size with i_size_read() or i_size_write()\nas appropriate.\n\nSigned-off-by: Abhishek Kulkarni \u003cadkulkar@umail.iu.edu\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n"
    },
    {
      "commit": "4b53e4b500779230aedd5355940aeaaed0b5353b",
      "tree": "cdc025b850b5c973d86d44f82da328b2af5335a9",
      "parents": [
        "0aad37ef3deed118d3816e1d1a600eb2ec9dcb87"
      ],
      "author": {
        "name": "Abhishek Kulkarni",
        "email": "adkulkar@umail.iu.edu",
        "time": "Mon Aug 17 16:42:28 2009 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Aug 17 16:42:28 2009 -0500"
      },
      "message": "9p: remove unnecessary v9fses-\u003eoptions which duplicates the mount string\n\nThe mount options string is saved in sb-\u003es_options. This patch removes\nthe redundant duplicating of the mount options. Also, since we are not\ndisplaying anything special in show options, we replace v9fs_show_options\nwith generic_show_options for now.\n\nSigned-off-by: Abhishek Kulkarni \u003cadkulkar@umail.iu.edu\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "48559b4c30708ebdc849483da9fb83ee08c6c908",
      "tree": "6e27e440ecc26f4d9c58f1a462cf81a513e0881f",
      "parents": [
        "4d3297ca5bf37ff5956f76fb352e009880aad62d"
      ],
      "author": {
        "name": "Abhishek Kulkarni",
        "email": "adkulkar@umail.iu.edu",
        "time": "Mon Aug 17 16:32:18 2009 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@strongmad.austin.ibm.com",
        "time": "Mon Aug 17 16:35:08 2009 -0500"
      },
      "message": "9p: Add missing cast for the error return value in v9fs_get_inode\n\nCast the error return value (ENOMEM) in v9fs_get_inode() to its\ncorrect type using ERR_PTR.\n\nSigned-off-by: Abhishek Kulkarni \u003cadkulkar@umail.iu.edu\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "4d3297ca5bf37ff5956f76fb352e009880aad62d",
      "tree": "80cb9648cda0c7d86ea75ea0733f5b05e97beb4c",
      "parents": [
        "1b5ab3e86712b6be38ebbe0d821387c1d8f91d7c"
      ],
      "author": {
        "name": "Abhishek Kulkarni",
        "email": "adkulkar@umail.iu.edu",
        "time": "Sun Jul 19 13:41:51 2009 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@strongmad.austin.ibm.com",
        "time": "Mon Aug 17 16:27:58 2009 -0500"
      },
      "message": "9p: Remove redundant inode uid/gid assignment\n\nRemove a redundant update of inode\u0027s i_uid and i_gid\nafter v9fs_get_inode() since the latter already sets up\na new inode and sets the proper uid and gid values.\n\nSigned-off-by: Abhishek Kulkarni \u003cadkulkar@umail.iu.edu\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "1b5ab3e86712b6be38ebbe0d821387c1d8f91d7c",
      "tree": "8c7cc3d58d6bd8f62398de5f963966b7bf58abb9",
      "parents": [
        "4f4038328da5eb9cc237b51d3fe68138fd3fea14"
      ],
      "author": {
        "name": "Abhishek Kulkarni",
        "email": "adkulkar@umail.iu.edu",
        "time": "Sun Jul 19 13:41:52 2009 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@strongmad.austin.ibm.com",
        "time": "Mon Aug 17 16:27:57 2009 -0500"
      },
      "message": "9p: Fix possible regressions when -\u003eget_sb fails.\n\n-\u003eget_sb can fail causing some badness. this patch fixes\n   * clear sb-\u003efs_s_info in kill_sb.\n   * deactivate_locked_super() calls kill_sb (v9fs_kill_super) which closes the\n     destroys the client, clunks all its fids and closes the v9fs session.\n     Attempting to do it twice will cause an oops.\n\nSigned-off-by: Abhishek Kulkarni \u003cadkulkar@umail.iu.edu\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "4f4038328da5eb9cc237b51d3fe68138fd3fea14",
      "tree": "66b55f59880d3cd1740b3f81273485d9a68a1e73",
      "parents": [
        "02bc35672b2fdf251e264adca5407792f63191e4"
      ],
      "author": {
        "name": "Abhishek Kulkarni",
        "email": "adkulkar@umail.iu.edu",
        "time": "Sun Jul 19 13:41:53 2009 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@strongmad.austin.ibm.com",
        "time": "Mon Aug 17 16:27:57 2009 -0500"
      },
      "message": "9p: Fix v9fs show_options\n\nAdd the delimiter \u0027,\u0027 before the options when they are passed\nand check if no option parameters are passed to prevent displaying\nNULL in /proc/mounts.\n\nSigned-off-by: Abhishek Kulkarni \u003cadkulkar@umail.iu.edu\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "02bc35672b2fdf251e264adca5407792f63191e4",
      "tree": "301e2d999daed7afd11596bc89087750a4509e1c",
      "parents": [
        "0e15597ebfe00e28857185f46aba00f400480ffe"
      ],
      "author": {
        "name": "Abhishek Kulkarni",
        "email": "adkulkar@umail.iu.edu",
        "time": "Sun Jul 19 13:41:54 2009 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@strongmad.austin.ibm.com",
        "time": "Mon Aug 17 16:27:57 2009 -0500"
      },
      "message": "9p: Fix possible memleak in v9fs_inode_from fid.\n\nAdd missing p9stat_free in v9fs_inode_from_fid to avoid\nany possible leaks.\n\nSigned-off-by: Abhishek Kulkarni \u003cadkulkar@umail.iu.edu\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "0e15597ebfe00e28857185f46aba00f400480ffe",
      "tree": "5a1a057ac15bf598c2eee81c54aeefc49c4cee24",
      "parents": [
        "2bb541157fe2602af7b9952096d0524f6f9c1e73"
      ],
      "author": {
        "name": "Abhishek Kulkarni",
        "email": "adkulkar@umail.iu.edu",
        "time": "Sun Jul 19 13:41:55 2009 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@strongmad.austin.ibm.com",
        "time": "Mon Aug 17 16:27:57 2009 -0500"
      },
      "message": "9p: minor comment fixes\n\nFix the comments -- mostly the improper and/or missing descriptions\nof function parameters.\n\nSigned-off-by: Abhishek Kulkarni \u003cadkulkar@umail.iu.edu\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "2bb541157fe2602af7b9952096d0524f6f9c1e73",
      "tree": "79ee0fbdded9918298fbd37b1b56232b9f5f81d0",
      "parents": [
        "50fb6d2bd7062708892ae7147f30c3ee905b7a3d"
      ],
      "author": {
        "name": "Abhishek Kulkarni",
        "email": "adkulkar@umail.iu.edu",
        "time": "Sun Jul 19 13:41:56 2009 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@strongmad.austin.ibm.com",
        "time": "Mon Aug 17 16:27:57 2009 -0500"
      },
      "message": "9p: Fix possible inode leak in v9fs_get_inode.\n\nAdd a missing iput when cleaning up if v9fs_get_inode\nfails after returning a valid inode.\n\nSigned-off-by: Abhishek Kulkarni \u003cadkulkar@umail.iu.edu\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "50fb6d2bd7062708892ae7147f30c3ee905b7a3d",
      "tree": "6b5cdbe3e4f03c7bf4b043ced06cec7d34db0b1f",
      "parents": [
        "df4ecf1524c7793de3121b2d4e5fc6bcc0da3bfb"
      ],
      "author": {
        "name": "Abhishek Kulkarni",
        "email": "adkulkar@umail.iu.edu",
        "time": "Sun Jul 19 13:41:57 2009 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@strongmad.austin.ibm.com",
        "time": "Mon Aug 17 16:27:57 2009 -0500"
      },
      "message": "9p: Check for error in return value of v9fs_fid_add\n\nCheck if v9fs_fid_add was successful or not based on its\nreturn value.\n\nSigned-off-by: Abhishek Kulkarni \u003cadkulkar@umail.iu.edu\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "9c9ad6162e2aa1e528ed687ccab87fe681ebbef1",
      "tree": "8343cd241fa3812f08ff016d57f13be97fe4da37",
      "parents": [
        "eedfe1c4289216af5a0a7f38e6b2c4d3f07c087f"
      ],
      "author": {
        "name": "Abhishek Kulkarni",
        "email": "adkulkar@umail.iu.edu",
        "time": "Tue Jul 14 13:26:52 2009 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@vTrogdor.(none)",
        "time": "Tue Jul 14 15:54:42 2009 -0500"
      },
      "message": "9p: Fix incorrect parameters to v9fs_file_readn.\n\nFix v9fs_vfs_readpage. The offset and size parameters to v9fs_file_readn\nwere interchanged and hence passed incorrectly.\n\nSigned-off-by: Abhishek Kulkarni \u003cadkulkar@umail.iu.edu\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "ee450f796f6c4f3a563c914cb93ccfa91a1f7580",
      "tree": "c89fbb5fa4821cfeb04a62d9c720f95a6d749f95",
      "parents": [
        "66c6af2e8ba55d4d6691c136b42f2423ab9598ec"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jun 16 14:17:21 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jun 17 00:36:36 2009 -0400"
      },
      "message": "9P doesn\u0027t need BKL in -\u003eumount_begin()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c96f58573778ddf96ff67108a635f3f642ea63d3",
      "tree": "2dece203929c557a0247a1898be406f94fc51269",
      "parents": [
        "6f5bbff9a1b7d6864a495763448a363bbfa96324"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed May 06 01:35:04 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 09 10:49:40 2009 -0400"
      },
      "message": "Fix a leak in failure exit in 9p -\u003eget_sb()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6f5bbff9a1b7d6864a495763448a363bbfa96324",
      "tree": "0067dca46f40def1c55541c34c262e06aeb8c4c8",
      "parents": [
        "74dbbdd7fdc11763f4698d2f3e684cf4446951e6"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed May 06 01:34:22 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 09 10:49:40 2009 -0400"
      },
      "message": "Convert obvious places to deactivate_locked_super()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "67e55205ec55cc7899f1d783f217961596798419",
      "tree": "45dd7351f9721a46ecb448f0571fb10db3259147",
      "parents": [
        "091bf7624d1c90cec9e578a18529f615213ff847"
      ],
      "author": {
        "name": "Alessio Igor Bogani",
        "email": "abogani@texware.it",
        "time": "Fri Apr 24 09:06:53 2009 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 09 10:49:38 2009 -0400"
      },
      "message": "vfs: umount_begin BKL pushdown\n\nPush BKL down into -\u003eumount_begin()\n\nSigned-off-by: Alessio Igor Bogani \u003cabogani@texware.it\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a3ec947c85ec339884b30ef6a08133e9311fdae1",
      "tree": "c3cc5859a6b6d8986547405b6c5bd11bc8916114",
      "parents": [
        "585d3bc06f4ca57f975a5a1f698f65a45ea66225"
      ],
      "author": {
        "name": "Sukadev Bhattiprolu",
        "email": "sukadev@linux.vnet.ibm.com",
        "time": "Wed Mar 04 12:06:34 2009 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 27 14:44:03 2009 -0400"
      },
      "message": "vfs: simple_set_mnt() should return void\n\nsimple_set_mnt() is defined as returning \u0027int\u0027 but always returns 0.\nCallers assume simple_set_mnt() never fails and don\u0027t properly cleanup if\nit were to _ever_ fail.  For instance, get_sb_single() and get_sb_nodev()\nshould:\n\n        up_write(sb-\u003es_unmount);\n        deactivate_super(sb);\n\nif simple_set_mnt() fails.\n\nSince simple_set_mnt() never fails, would be cleaner if it did not\nreturn anything.\n\n[akpm@linux-foundation.org: fix build]\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@linux.vnet.ibm.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a488257ce5a55c53973671218791296463698d07",
      "tree": "d5f6b851cf233acfe5f25a25f794e2c1bb571669",
      "parents": [
        "e16404ed0f3f330dc3e99b95cef69bb60bcd27f7"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Feb 20 05:55:46 2009 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 27 14:44:00 2009 -0400"
      },
      "message": "constify dentry_operations: 9p\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "0fcb44088970b18eaf2df4579d64840be6e3bf39",
      "tree": "8522673b99164c705238edc22dcdcf8197eac89b",
      "parents": [
        "b2480c7fbfed172e6ec3ba1c8e80f05a3721b24a"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Jan 22 11:16:42 2009 +0300"
      },
      "committer": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Jan 22 13:16:01 2009 +0300"
      },
      "message": "fs/Kconfig: move 9p out\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\n"
    },
    {
      "commit": "cbacc2c7f066a1e01b33b0e27ae5efbf534bc2db",
      "tree": "90d1093131d2a3543a8b3b1f3364e7c6f4081a93",
      "parents": [
        "4a6908a3a050aacc9c3a2f36b276b46c0629ad91",
        "74192246910ff4fb95309ba1a683215644beeb62"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 25 11:40:09 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 25 11:40:09 2008 +1100"
      },
      "message": "Merge branch \u0027next\u0027 into for-linus\n"
    },
    {
      "commit": "f1d9e4586e79e1fc7b26d1c567599a904013f199",
      "tree": "394c1d5b17a023f83f44ad71ae69daec0dfc94ad",
      "parents": [
        "7dd0cdc51c126915e243ee3291f7b6b5ea5e5833"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Fri Dec 19 16:50:22 2008 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Fri Dec 19 16:50:22 2008 -0600"
      },
      "message": "fs/9p: change simple_strtol to simple_strtoul\n\nSince v9ses-\u003euid is unsigned, it would seem better to use simple_strtoul that\nsimple_strtol.\n\nA simplified version of the semantic patch that makes this change is as\nfollows: (http://www.emn.fr/x-info/coccinelle/)\n\n// \u003csmpl\u003e\n@r2@\nlong e;\nposition p;\n@@\n\ne \u003d simple_strtol@p(...)\n\n@@\nposition p !\u003d r2.p;\ntype T;\nT e;\n@@\n\ne \u003d\n- simple_strtol@p\n+ simple_strtoul\n  (...)\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nAcked-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n"
    },
    {
      "commit": "7dd0cdc51c126915e243ee3291f7b6b5ea5e5833",
      "tree": "484d45a8f9c9be61fad215a083e64e6a83be0043",
      "parents": [
        "6ff232070a1088807e24f657b5d6f299f1ec32f6"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Fri Dec 19 16:47:40 2008 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Fri Dec 19 16:47:40 2008 -0600"
      },
      "message": "9p: convert d_iname references to d_name.name\n\nd_iname is rubbish for long file names.\nUse d_name.name in printks instead.\n\nSigned-off-by: Wu Fengguang \u003cwfg@linux.intel.com\u003e\nAcked-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n"
    },
    {
      "commit": "6ff232070a1088807e24f657b5d6f299f1ec32f6",
      "tree": "f6affcc42b834f9a20fa9e70eb30fc6a7ff63e54",
      "parents": [
        "9a1d1035631ad8b3edf301b273c30bdfc75de01e"
      ],
      "author": {
        "name": "Duane Griffin",
        "email": "duaneg@dghda.com",
        "time": "Fri Dec 19 16:45:21 2008 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Fri Dec 19 16:45:21 2008 -0600"
      },
      "message": "9p: Remove potentially bad parameter from function entry debug print.\n\nSigned-off-by: Duane Griffin \u003cduaneg@dghda.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n"
    },
    {
      "commit": "f8b9d53a31dca2c1185232c5fe2731d99cc963c8",
      "tree": "7725eafec2f04595e439feb94c3b5ae04cf478c6",
      "parents": [
        "cd80ca8a03fd712b046028c1f66e10f3aec43eee"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Nov 14 10:38:44 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 10:38:44 2008 +1100"
      },
      "message": "CRED: Wrap task credential accesses in 9P2000 filesystem\n\nWrap access to task credentials so that they can be separated more easily from\nthe task_struct during the introduction of COW creds.\n\nChange most current-\u003e(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id().\n\nChange some task-\u003ee?[ug]id to task_e?[ug]id().  In some places it makes more\nsense to use RCU directly rather than a convenient wrapper; these will be\naddressed by later patches.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nReviewed-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nReviewed-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\nCc: Ron Minnich \u003crminnich@sandia.gov\u003e\nCc: Latchesar Ionkov \u003clucho@ionkov.net\u003e\nCc: v9fs-developer@lists.sourceforge.net\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "ea2e7996fc892e9becfed9145fdcefd59f697718",
      "tree": "2d9d8cfdf663cf367acaf63e6a8151bd6f0de0cc",
      "parents": [
        "0b15a3a5285bac2a2caa4ef970410674b6dd2de5"
      ],
      "author": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Wed Oct 22 18:48:45 2008 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@opteron.(none)",
        "time": "Wed Oct 22 18:48:45 2008 -0500"
      },
      "message": "9p: fix format warning\n\nThis patch fixes a format warning which appears on 64-bit builds.\n\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n\n"
    },
    {
      "commit": "57c7b4e68edf3b4fe7f977db9ad437e0f7f7c382",
      "tree": "4ea7680bbe24867f313f29cc2429da26a62c67af",
      "parents": [
        "e7f4b8f1a5893ff8296b5b581e16a0b96f60a3b5"
      ],
      "author": {
        "name": "Magnus Deininger",
        "email": "dma05@web.de",
        "time": "Fri Oct 17 12:44:46 2008 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Fri Oct 17 12:44:46 2008 -0500"
      },
      "message": "9p: fix device file handling\n\nIn v9fs_get_inode(), for block, as well as char devices (in theory), \nthe function init_special_inode() is called to set up callback functions \nfor file ops. this function uses the file mode\u0027s value to determine whether \nto use block or char dev functions. In v9fs_inode_from_fid(), the function \np9mode2unixmode() is used, but for all devices it initially returns S_IFBLK, \nthen uses v9fs_get_inode() to initialise a new inode, then finally uses \nv9fs_stat2inode(), which would determine whether the inode is a block or \ncharacter device. However, at that point init_special_inode() had already \ndecided to use the block device functions, so even if the inode\u0027s mode is \nturned to a character device, the block functions are still used to operate \non them. The attached patch simply calls init_special_inode() again for devices \nafter parsing device node data in v9fs_stat2inode() so that the proper functions \nare used.\n\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n\n\n"
    },
    {
      "commit": "02da398b950c5d079c20afaa23f322383e96070a",
      "tree": "cbc49a6ef8a175df705e6e66627a800a26995af9",
      "parents": [
        "51a87c552dfd428e304c865e24ecbe091556f226"
      ],
      "author": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Thu Oct 16 08:29:30 2008 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Fri Oct 17 11:06:57 2008 -0500"
      },
      "message": "9p: eliminate depricated conv functions\n\nRemove depricated conv functions which have been replaced with new \nprotocol routines.\n\nThis patch also reworks the one instance of the file-system code which\ndirectly calls conversion routines (to accomplish unpacking dirreads).\n\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n\n\n"
    },
    {
      "commit": "51a87c552dfd428e304c865e24ecbe091556f226",
      "tree": "6e9012962e6601b559dcf15ae3228647a8581a31",
      "parents": [
        "cb198131b0e7aba755ac164744536d461e86ab82"
      ],
      "author": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Thu Oct 16 08:30:07 2008 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Fri Oct 17 11:04:45 2008 -0500"
      },
      "message": "9p: rework client code to use new protocol support functions\n\nNow that the new protocol functions are in place, this patch switches\nthe client code to using the new support code.\n\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n\n\n"
    },
    {
      "commit": "06b55b464ee5b305aca75cb7d9424b184bf07f68",
      "tree": "fb2bba4546ad4b800f1e49a75774b01fc6fcdb6b",
      "parents": [
        "dfb0ec2e13a906ff19a0bbfa9208caab50cfc2e3"
      ],
      "author": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Oct 13 20:36:15 2008 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Fri Oct 17 11:04:43 2008 -0500"
      },
      "message": "9p: move dirread to fs layer\n\nCurrently reading a directory is implemented in the client code.\nThis function is not actually a wire operation, but a meta operation \nwhich calls read operations and processes the results.\n\nThis patch moves this functionality to the fs layer and calls component\nwire operations instead of constructing their packets.  This provides a \ncleaner separation and will help when we reorganize the client functions\nand protocol processing methods.\n\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n\n\n\n"
    },
    {
      "commit": "dfb0ec2e13a906ff19a0bbfa9208caab50cfc2e3",
      "tree": "c08a73d0da715aa0c2aa47653edfe055dff5c454",
      "parents": [
        "fbedadc16e5c888e4df9df3b1757de4993508d35"
      ],
      "author": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Oct 13 20:36:16 2008 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Fri Oct 17 11:04:43 2008 -0500"
      },
      "message": "9p: adjust 9p vfs write operation\n\nCurrently, the 9p net wire operation ensures that all data is sent by sending\nmultiple packets if the data requested is larger than the msize.  This is\nbetter handled in the vfs code so that we can simplify wire operations to \nbeing concerned with only putting data onto and taking data off of the wire.\n\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n\n\n\n"
    },
    {
      "commit": "fbedadc16e5c888e4df9df3b1757de4993508d35",
      "tree": "c477daf52f7a8aa2c2a0c9902b1711b6c2d32833",
      "parents": [
        "0fc9655ec67ec5d4dfd08e469e0e9f0a494bf5bc"
      ],
      "author": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Oct 13 20:36:16 2008 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Fri Oct 17 11:04:43 2008 -0500"
      },
      "message": "9p: move readn meta-function from client to fs layer\n\nThere are a couple of methods in the client code which aren\u0027t actually\nwire operations.  To keep things organized cleaner, these operations are\nbeing moved to the fs layer.\n\nThis patch moves the readn meta-function (which executes multiple wire\nreads until a buffer is full) to the fs layer.\n\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n\n\n\n"
    },
    {
      "commit": "0fc9655ec67ec5d4dfd08e469e0e9f0a494bf5bc",
      "tree": "fc67e000acb43601a0dcb9c0288a94a3d737b6a2",
      "parents": [
        "95820a36516d12dcb49d066dd3d5b187a2557612"
      ],
      "author": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Oct 13 20:36:17 2008 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Fri Oct 17 11:04:42 2008 -0500"
      },
      "message": "9p: consolidate read/write functions\n\nCurrently there are two separate versions of read and write.  One for\ndealing with user buffers and the other for dealing with kernel buffers.\nThere is a tremendous amount of code duplication in the otherwise\nidentical versions of these functions.  This patch adds an additional\nuser buffer parameter to read and write and conditionalizes handling of\nthe buffer on whether the kernel buffer or the user buffer is populated.\n\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n\n\n\n"
    },
    {
      "commit": "8b81ef589ad1483dd977ef47fe00d4ce4d91a0ab",
      "tree": "380a19ca0f55fefc60c4a45771f5273c80539c07",
      "parents": [
        "992b3f1dbeec401e19a80bdb8c81e5df5381f4c5"
      ],
      "author": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@ericvh-desktop.austin.ibm.com",
        "time": "Mon Oct 13 18:45:25 2008 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Fri Oct 17 11:04:41 2008 -0500"
      },
      "message": "9p: consolidate transport structure\n\nRight now there is a transport module structure which provides per-transport\ntype functions and data and a transport structure which contains per-instance\npublic data as well as function pointers to instance specific functions.\n\nThis patch moves public transport visible instance data to the client\nstructure (which in some cases had duplicate data) and consolidates the\nfunctions into the transport module structure.\n\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n"
    },
    {
      "commit": "a447c0932445f92ce6f4c1bd020f62c5097a7842",
      "tree": "bacf05bc7f9764515cdd6f7dc5e2254776b4f160",
      "parents": [
        "54cebc68c81eacac41a21bdfe99dc889d3882c60"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Oct 13 10:46:57 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 10:10:37 2008 -0700"
      },
      "message": "vfs: Use const for kernel parser table\n\nThis is a much better version of a previous patch to make the parser\ntables constant. Rather than changing the typedef, we put the \"const\" in\nall the various places where its required, allowing the __initconst\nexception for nfsroot which was the cause of the previous trouble.\n\nThis was posted for review some time ago and I believe its been in -mm\nsince then.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Alexander Viro \u003caviro@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "62aa528e0299ffef8e138d9d92d13e631d06c5ff",
      "tree": "6dc9ca3bf077bf58352fe67e8adb4d4b304baba1",
      "parents": [
        "620678244bc7b83287e2e283ed4fe6b959e94b7d"
      ],
      "author": {
        "name": "Julien Brunel",
        "email": "brunel@diku.dk",
        "time": "Wed Sep 24 16:22:22 2008 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@ericvh-desktop.austin.ibm.com",
        "time": "Wed Sep 24 16:22:22 2008 -0500"
      },
      "message": "9p: use an IS_ERR test rather than a NULL test\n\nIn case of error, the function p9_client_walk returns an ERR pointer, but\nnever returns a NULL pointer.  So a NULL test that comes after an IS_ERR\ntest should be deleted.\n\nThe semantic match that finds this problem is as follows:\n(http://www.emn.fr/x-info/coccinelle/)\n\n// \u003csmpl\u003e\n@match_bad_null_test@\nexpression x, E;\nstatement S1,S2;\n@@\nx \u003d p9_client_walk(...)\n... when !\u003d x \u003d E\n*  if (x !\u003d NULL)\nS1 else S2\n// \u003c/smpl\u003e\n\nSigned-off-by: Julien Brunel \u003cbrunel@diku.dk\u003e\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n\n"
    },
    {
      "commit": "59af1584bf33810639cb98d79856021253e2177c",
      "tree": "dbb7261a2abdef5f1716b27417f8b2b61d42b418",
      "parents": [
        "8f3f655da7288504c1013621090ecc940173ae1c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Aug 24 07:24:41 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 25 01:18:09 2008 -0400"
      },
      "message": "[PATCH] fix -\u003ellseek() for a bunch of directories\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2e4bef41a0f7df31be140ef354b9c12f2299016a",
      "tree": "6ddea6aa929a5f49a4e815a3bfe21f04177dc69e",
      "parents": [
        "c461a973118346d5c103aaaddd62e53939fd7c67"
      ],
      "author": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Tue Jun 24 17:39:39 2008 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@opteron.9grid.us",
        "time": "Thu Jul 03 09:59:03 2008 -0500"
      },
      "message": "9p: fix O_APPEND in legacy mode\n\nThe legacy protocol\u0027s open operation doesn\u0027t handle an append operation\n(it is expected that the client take care of it).  We were incorrectly\npassing the extended protocol\u0027s flag through even in legacy mode.  This\nwas reported in bugzilla report #10689.  This patch fixes the problem\nby disallowing extended protocol open modes from being passed in legacy\nmode and implemented append functionality on the client side by adding\na seek after the open.\n\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "887b3ece65be7b643dfdae0d433c91a26a3f437d",
      "tree": "471889dcdd3f7eb6762d863fef236014c63a0301",
      "parents": [
        "332c421e67045343de74e644cdf389f559f0d83f"
      ],
      "author": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@opteron.9grid.us",
        "time": "Thu May 08 20:26:37 2008 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@opteron.9grid.us",
        "time": "Wed May 14 19:23:27 2008 -0500"
      },
      "message": "9p: fix error path during early mount\n\nThere was some cleanup issues during early mount which would trigger\na kernel bug for certain types of failure.  This patch reorganizes the\ncleanup to get rid of the bad behavior.\n\nThis also merges the 9pnet and 9pnet_fd modules for the purpose of\nconfiguration and initialization.  Keeping the fd transport separate\nfrom the core 9pnet code seemed like a good idea at the time, but in\npractice has caused more harm and confusion than good.\n\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "ab31267dfeddf80b2e483f077c8b03905993722b",
      "tree": "4038124e6ded2b6d2eb54385d86d245af58f2b91",
      "parents": [
        "ee443996a35c1e04f210cafd43d5a98d41e46085"
      ],
      "author": {
        "name": "Jim Meyering",
        "email": "jim@meyering.net",
        "time": "Thu Mar 06 17:10:28 2008 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@opteron.9grid.us",
        "time": "Wed May 14 19:23:25 2008 -0500"
      },
      "message": "fs/9p/v9fs.c (v9fs_parse_options): Handle kstrdup and match_strdup failure. Now that this function can fail, return an int, diagnose other option-parsing failures, and adjust the sole caller: (v9fs_session_init): Handle kstrdup failure. Propagate any new v9fs_parse_options failure \"up\".\n\nSigned-off-by: Jim Meyering \u003cmeyering@redhat.com\u003e\nCc: Ron Minnich \u003crminnich@sandia.gov\u003e\nCc: Latchesar Ionkov \u003clucho@ionkov.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nAcked-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "ee443996a35c1e04f210cafd43d5a98d41e46085",
      "tree": "58ee72b69a02d9dbb3a98e402a4561baba0eb9a8",
      "parents": [
        "b32a09db4fb9a87246ba4e7726a979ac4709ad97"
      ],
      "author": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@ericvh-desktop.(none)",
        "time": "Wed Mar 05 07:08:09 2008 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@opteron.9grid.us",
        "time": "Wed May 14 19:23:25 2008 -0500"
      },
      "message": "9p: Documentation updates\n\nThe kernel-doc comments of much of the 9p system have been in disarray since\nreorganization.  This patch fixes those problems, adds additional documentation\nand a template book which collects the 9p information.\n\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "b32a09db4fb9a87246ba4e7726a979ac4709ad97",
      "tree": "b84cf43745c329ccbcbd2671da91e729db8132ca",
      "parents": [
        "dd286422fefdcff784e8d336deeb88ce817e14db"
      ],
      "author": {
        "name": "Markus Armbruster",
        "email": "armbru@redhat.com",
        "time": "Tue Feb 26 09:57:11 2008 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@opteron.9grid.us",
        "time": "Wed May 14 19:23:25 2008 -0500"
      },
      "message": "add match_strlcpy() us it to make v9fs make uname and remotename parsing more robust\n\nmatch_strcpy() is a somewhat creepy function: the caller needs to make sure\nthat the destination buffer is big enough, and when he screws up or\nforgets, match_strcpy() happily overruns the buffer.\n\nThere\u0027s exactly one customer: v9fs_parse_options().  I believe it currently\ncan\u0027t overflow its buffer, but that\u0027s not exactly obvious.\n\nThe source string is a substing of the mount options.  The kernel silently\ntruncates those to PAGE_SIZE bytes, including the terminating zero.  See\ncompat_sys_mount() and do_mount().\n\nThe destination buffer is obtained from __getname(), which allocates from\nname_cachep, which is initialized by vfs_caches_init() for size PATH_MAX.\n\nWe\u0027re safe as long as PATH_MAX \u003c\u003d PAGE_SIZE.  PATH_MAX is 4096.  As far as\nI know, the smallest PAGE_SIZE is also 4096.\n\nHere\u0027s a patch that makes the code a bit more obviously correct.  It\ndoesn\u0027t depend on PATH_MAX \u003c\u003d PAGE_SIZE.\n\nSigned-off-by: Markus Armbruster \u003carmbru@redhat.com\u003e\nCc: Latchesar Ionkov \u003clucho@ionkov.net\u003e\nCc: Jim Meyering \u003cmeyering@redhat.com\u003e\nCc: \"Randy.Dunlap\" \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "42faad99658eed7ca8bd328ffa4bcb7d78c9bcca",
      "tree": "8b57fb69d1922939c6ba13f512a0ae54a3a171ef",
      "parents": [
        "78d31a3a87f84cf56004b7bc154831f2ee1186e8"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Apr 24 07:21:56 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Apr 25 09:23:25 2008 -0400"
      },
      "message": "[PATCH] restore sane -\u003eumount_begin() API\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "cb688371e27880d86c42323826846d1cd7caad8f",
      "tree": "1be4f5bb437e86a547365a94aed5ade23adb09da",
      "parents": [
        "d3135846f6c1858dbad6ccb780a42e6c98953e6d"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Tue Feb 26 09:59:26 2008 -0500"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Fri Apr 18 22:16:44 2008 -0400"
      },
      "message": "fs: Remove unnecessary inclusions of asm/semaphore.h\n\nNone of these files use any of the functionality promised by\nasm/semaphore.h.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "e231c2ee64eb1c5cd3c63c31da9dac7d888dcf7f",
      "tree": "d4b17ef65960594681397a3acac02c2d248200b5",
      "parents": [
        "d1bc8e95445224276d7896b8b08cbb0b28a0ca80"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:26 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:26 2008 -0800"
      },
      "message": "Convert ERR_PTR(PTR_ERR(p)) instances to ERR_CAST(p)\n\nConvert instances of ERR_PTR(PTR_ERR(p)) to ERR_CAST(p) using:\n\nperl -spi -e \u0027s/ERR_PTR[(]PTR_ERR[(](.*)[)][)]/ERR_CAST(\\1)/\u0027 `grep -rl \u0027ERR_PTR[(]*PTR_ERR\u0027 fs crypto net security`\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8a0dc95fd976a052e5e799ef33e6c8e3141b5dff",
      "tree": "3275903539244acd76c716662c324833aa419377",
      "parents": [
        "f39335453fe79f4e12e263e7c6387dc9fb86bfff"
      ],
      "author": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@opteron.homeip.net",
        "time": "Wed Feb 06 19:25:03 2008 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@opteron.homeip.net",
        "time": "Wed Feb 06 19:25:03 2008 -0600"
      },
      "message": "9p: transport API reorganization\n\nThis merges the mux.c (including the connection interface) with trans_fd\nin preparation for transport API changes.  Ultimately, trans_fd will need\nto be rewritten to clean it up and simplify the implementation, but this\nreorganization is viewed as the first step.\n\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n"
    },
    {
      "commit": "14b8869ff4f00f105ea76678997b4d49d27baae3",
      "tree": "201c06c106053c609f847531a482d73e41a8cfc9",
      "parents": [
        "d199d652c513a010145a5a0d4e64c96361b97bee"
      ],
      "author": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@opteron.homeip.net",
        "time": "Wed Feb 06 19:25:05 2008 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@opteron.homeip.net",
        "time": "Wed Feb 06 19:25:05 2008 -0600"
      },
      "message": "9p: fix mmap to be read-only\n\nv9fs was allowing writable mmap which could lead to kernel BUG() cases.\nThis sets the mmap function to generic_file_readonly_mmap which (correctly)\nreturns an error to applications which open mmap for writing.\n\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n"
    },
    {
      "commit": "d199d652c513a010145a5a0d4e64c96361b97bee",
      "tree": "b771aa8c4facd0a35ed46c70d79853cd50fb4a20",
      "parents": [
        "7c7d90f2dda6daec5a6aaf8f97aacc10ee4deb77"
      ],
      "author": {
        "name": "Anthony Liguori",
        "email": "aliguori@us.ibm.com",
        "time": "Wed Feb 06 19:25:06 2008 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@opteron.homeip.net",
        "time": "Wed Feb 06 19:25:06 2008 -0600"
      },
      "message": "9p: add support for sticky bit\n\nGDM gets unhappy if /var/gdm doesn\u0027t have the sticky bit set.  This patch adds\nsupport for the sticky bit in much the same way setuid/setgid is supported.\n\nWith this patch, I can launch X from a v9fs rootfs (although I quickly run out\nof fds in the server once gnome starts up).\n\nSigned-off-by: Anthony Liguori \u003caliguori@us.ibm.com\u003e\nAcked-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n"
    },
    {
      "commit": "c55703d807a8c6c239a5fea7b9cd7da08c27d7a9",
      "tree": "d0dc2da7b6ef0600eb3a626eee1f4717da20763f",
      "parents": [
        "e2735b7720320b68590ca2b32b78ca91213931b2"
      ],
      "author": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@opteron.homeip.net",
        "time": "Wed Feb 06 19:25:08 2008 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@opteron.homeip.net",
        "time": "Wed Feb 06 19:25:08 2008 -0600"
      },
      "message": "9p: fix bug in attach-per-user\n\nWhen a new user attached at a directory other than the root, he would end\nup in the parent directory of the cwd.  This was due to a logic error in\nthe code which attaches the user at the mount point and walks back to the\ncwd.  This patch fixes that.\n\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n"
    },
    {
      "commit": "8999e04f3b7930f0c6f091a541237de51d8dd372",
      "tree": "5e47b7b4024928e4e7f35ff584cfdd99d75a29a0",
      "parents": [
        "dda6b022f3222f09d3fb49f5dfabd31d33e0d10b"
      ],
      "author": {
        "name": "Latchesar Ionkov",
        "email": "lucho@ionkov.net",
        "time": "Tue Nov 06 08:02:53 2007 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Tue Nov 06 08:02:53 2007 -0600"
      },
      "message": "9p: use copy of the options value instead of original\n\nv9fs_parse_options function uses strsep which modifies the value of the\nv9ses-\u003eoptions field. That modified value is later passed to the function\nthat creates the transport potentially making the transport creation\nfunction to fail.\n\nThis patch creates a copy of v9ses-\u003eoption field that v9fs_parse_options\nfunction uses instead of the original value.\n\nSigned-off-by: Latchesar Ionkov \u003clucho@ionkov.net\u003e\nAcked-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "dda6b022f3222f09d3fb49f5dfabd31d33e0d10b",
      "tree": "de3ea647f9fb82cefea38b6e8d10d828044656dc",
      "parents": [
        "2655e2cee2d77459fcb7e10228259e4ee0328697"
      ],
      "author": {
        "name": "Latchesar Ionkov",
        "email": "lucho@ionkov.net",
        "time": "Tue Nov 06 08:02:53 2007 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Tue Nov 06 08:02:53 2007 -0600"
      },
      "message": "9p: fix memory leak in v9fs_get_sb\n\nThis patch fixes a memory leak in v9fs_get_sb.\n\nSigned-off-by: Latchesar Ionkov \u003clucho@ionkov.net\u003e\nAcked-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "22150c4f0f02619c256f35db2f1ec912549b4ca5",
      "tree": "3afeade940b21ac5ba7534fe430086de15067d35",
      "parents": [
        "0a976297e1f57a6d156d3f8ed7f10c64beb031a4"
      ],
      "author": {
        "name": "Latchesar Ionkov",
        "email": "lucho@ionkov.net",
        "time": "Tue Oct 23 13:48:33 2007 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Tue Oct 23 13:48:33 2007 -0500"
      },
      "message": "9p: v9fs_vfs_rename incorrect clunk order\n\nIn v9fs_vfs_rename function labels don\u0027t match the fids that are clunked.\nThe correct clunk order is clunking newdirfid first and then olddirfid next.\n\nSigned-off-by: Latchesar Ionkov \u003clucho@ionkov.net\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "0a976297e1f57a6d156d3f8ed7f10c64beb031a4",
      "tree": "c81facdce9d3ce427efdb026294111919aa03f57",
      "parents": [
        "b530cc794024be227876a089e66fb17b7b512763"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Oct 23 13:48:50 2007 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Tue Oct 23 13:48:50 2007 -0500"
      },
      "message": "9p: fix memleak in fs/9p/v9fs.c\n\nThis patch fixes a memory leak introduced by\ncommit ba17674fe02909fef049fd4b620a2805bdb8c693.\n\nSpotted by the Coverity checker.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "fb0466c3ae7f1c73f70072af8fd27ac166908a2f",
      "tree": "24af82c397d1f155bded80f3fcb49849da28bcc9",
      "parents": [
        "50fd8010673b770f6489c9ee96680c204aefa84a"
      ],
      "author": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@ericvh-laptop.(none)",
        "time": "Wed Oct 17 14:31:07 2007 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@ericvh-desktop.austin.ibm.com",
        "time": "Wed Oct 17 14:31:07 2007 -0500"
      },
      "message": "9p: fix bad kconfig cross-dependency\n\nThis patch moves transport dynamic registration and matching to the net\nmodule to prevent a bad Kconfig dependency between the net and fs 9p modules.\n\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n"
    },
    {
      "commit": "50fd8010673b770f6489c9ee96680c204aefa84a",
      "tree": "734686c1c5be427d72665f2ea63537886717f157",
      "parents": [
        "ba17674fe02909fef049fd4b620a2805bdb8c693"
      ],
      "author": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@ericvh-desktop.austin.ibm.com",
        "time": "Wed Oct 17 14:31:07 2007 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@ericvh-desktop.austin.ibm.com",
        "time": "Wed Oct 17 14:31:07 2007 -0500"
      },
      "message": "9p: soften invalidation in loose_mode\n\nLoose mode in 9p utilizes the page cache without respecting coherency with\nthe server.  Any writes previously invaldiated the entire mapping for a file.\nThis patch softens the behavior to only invalidate the region of the actual\nwrite.\n\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n"
    },
    {
      "commit": "ba17674fe02909fef049fd4b620a2805bdb8c693",
      "tree": "faa05f8705324ac0b70031dbfb08b65b1339391a",
      "parents": [
        "bd32b82df9876af439f1760a599c0e2da9198bda"
      ],
      "author": {
        "name": "Latchesar Ionkov",
        "email": "lucho@ionkov.net",
        "time": "Wed Oct 17 14:31:07 2007 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@ericvh-desktop.austin.ibm.com",
        "time": "Wed Oct 17 14:31:07 2007 -0500"
      },
      "message": "9p: attach-per-user\n\nThe 9P2000 protocol requires the authentication and permission checks to be\ndone in the file server. For that reason every user that accesses the file\nserver tree has to authenticate and attach to the server separately.\nMultiple users can share the same connection to the server.\n\nCurrently v9fs does a single attach and executes all I/O operations as a\nsingle user. This makes using v9fs in multiuser environment unsafe as it\ndepends on the client doing the permission checking.\n\nThis patch improves the 9P2000 support by allowing every user to attach\nseparately. The patch defines three modes of access (new mount option\n\u0027access\u0027):\n\n- attach-per-user (access\u003duser) (default mode for 9P2000.u)\n If a user tries to access a file served by v9fs for the first time, v9fs\n sends an attach command to the server (Tattach) specifying the user. If\n the attach succeeds, the user can access the v9fs tree.\n As there is no uname-\u003euid (string-\u003einteger) mapping yet, this mode works\n only with the 9P2000.u dialect.\n\n- allow only one user to access the tree (access\u003d\u003cuid\u003e)\n Only the user with uid can access the v9fs tree. Other users that attempt\n to access it will get EPERM error.\n\n- do all operations as a single user (access\u003dany) (default for 9P2000)\n V9fs does a single attach and all operations are done as a single user.\n If this mode is selected, the v9fs behavior is identical with the current\n one.\n\nSigned-off-by: Latchesar Ionkov \u003clucho@ionkov.net\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n"
    },
    {
      "commit": "bd32b82df9876af439f1760a599c0e2da9198bda",
      "tree": "87b5c2bf165cae258969817f1875259278ab066f",
      "parents": [
        "2405669b253670467c5c4b4effd160881bf4fbb7"
      ],
      "author": {
        "name": "Latchesar Ionkov",
        "email": "lucho@ionkov.net",
        "time": "Wed Oct 17 14:31:07 2007 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@ericvh-desktop.austin.ibm.com",
        "time": "Wed Oct 17 14:31:07 2007 -0500"
      },
      "message": "9p: rename uid and gid parameters\n\nChange the names of \u0027uid\u0027 and \u0027gid\u0027 parameters to the more appropriate\n\u0027dfltuid\u0027 and \u0027dfltgid\u0027.  This also sets the default uid/gid to -2\n(aka nfsnobody)\n\nSigned-off-by: Latchesar Ionkov \u003clucho@ionkov.net\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n"
    },
    {
      "commit": "2405669b253670467c5c4b4effd160881bf4fbb7",
      "tree": "4423f4c31fdffa5d7cdb3c16d89818217505f395",
      "parents": [
        "a80d923e1321a7ed69a0918de37e39871bb536a0"
      ],
      "author": {
        "name": "Latchesar Ionkov",
        "email": "lucho@ionkov.net",
        "time": "Wed Oct 17 14:31:07 2007 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@ericvh-desktop.austin.ibm.com",
        "time": "Wed Oct 17 14:31:07 2007 -0500"
      },
      "message": "9p: define session flags\n\nCreate more general flags field in the v9fs_session_info struct and move the\n\u0027extended\u0027 flag as a bit in the flags.\n\nSigned-off-by: Latchesar Ionkov \u003clucho@ionkov.net\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n"
    },
    {
      "commit": "a80d923e1321a7ed69a0918de37e39871bb536a0",
      "tree": "8294e5f14a0e938ae4675ef912a32fbade0f832b",
      "parents": [
        "0eafaae84e21ac033815cc9f33c3ae889cd7ccfe"
      ],
      "author": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@opteron.(none)",
        "time": "Wed Oct 17 14:31:07 2007 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@ericvh-desktop.austin.ibm.com",
        "time": "Wed Oct 17 14:31:07 2007 -0500"
      },
      "message": "9p: Make transports dynamic\n\nThis patch abstracts out the interfaces to underlying transports so that\nnew transports can be added as modules.  This should also allow kernel\nconfiguration of transports without ifdef-hell.\n\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n"
    },
    {
      "commit": "66abe5f257e719547744fdb8691cf5d20603f051",
      "tree": "eed9d626fbaafc37ebbc465c742f4e751b8838cd",
      "parents": [
        "7afaac6202782ec28f2039503bdaef666834d60c"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Oct 01 14:41:13 2007 -0700"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Oct 09 18:32:46 2007 -0400"
      },
      "message": "9PFS: clean up explicit check for mandatory locks\n\nThe __mandatory_lock(inode) macro makes the same check, but makes the code\nmore readable.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\nCc: Ron Minnich \u003crminnich@sandia.gov\u003e\nCc: Latchesar Ionkov \u003clucho@ionkov.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fbcb7599e411309cf47a2b834d3546469c153cf4",
      "tree": "54d789a0131f427cf1d6cf4af87a5a53d9724cc7",
      "parents": [
        "27a2a5ff41e366290adb89adcc9e70e6a9e81455"
      ],
      "author": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@ericvh-laptop.austin.ibm.com",
        "time": "Thu Aug 23 10:08:45 2007 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@ericvh-laptop.austin.ibm.com",
        "time": "Thu Aug 23 10:13:45 2007 -0500"
      },
      "message": "9p: remove deprecated v9fs_fid_lookup_remove()\n\nThis patch removes the v9fs_fid_lookup_remove which is no longer used.\n\nBased on original patch from Adrian Bunk \u003cbunk@stusta.de\u003e which\nused #if 0 to isolate the code.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "10fa16e75c70c8e7ec4675c5f985548a6565dca2",
      "tree": "dbe40ce7100e409e19232dc7f2403b3f6627766f",
      "parents": [
        "c2dc1ad582196208a2f990eb0230eb922046c684"
      ],
      "author": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@ericvh-desktop.austin.ibm.com",
        "time": "Mon Jul 16 16:02:49 2007 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@ericvh-desktop.austin.ibm.com",
        "time": "Mon Jul 16 16:03:25 2007 -0500"
      },
      "message": "9p: fix debug compilation error\n\ns/9p/v9fs.c: In function \u0027v9fs_parse_options\u0027:\nfs/9p/v9fs.c:134: error: \u0027p9_debug_level\u0027 undeclared (first use in this function)\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nAcked-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "9e2f6688c0b52882496aff576b009bc1f7eea0b8",
      "tree": "78192b3dec61c112ff89c60e81111cd98bf4ab68",
      "parents": [
        "9523a841b109765f8779236d28be6458ee3a6824"
      ],
      "author": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@ericvh-desktop.austin.ibm.com",
        "time": "Fri Jul 13 13:05:21 2007 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@ericvh-desktop.austin.ibm.com",
        "time": "Sat Jul 14 15:14:14 2007 -0500"
      },
      "message": "9p: re-enable mount time debug option\n\nDuring reorganization, the mount time debug option was removed in favor\nof module-load-time parameters.  However, the mount time option is still\na useful for feature during debug and for user-fault isolation when the\nmodule is compiled into the kernel.\n\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "9523a841b109765f8779236d28be6458ee3a6824",
      "tree": "3701f26715eae8dcfb7610984051720a6f588019",
      "parents": [
        "1d6b5602381524c339af2c2fdfe42ad0a01464a4"
      ],
      "author": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@ericvh-desktop.austin.ibm.com",
        "time": "Fri Jul 13 13:01:27 2007 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@ericvh-desktop.austin.ibm.com",
        "time": "Sat Jul 14 15:14:08 2007 -0500"
      },
      "message": "9p: cache meta-data when cache\u003dloose\n\nThis patch expands the impact of the loose cache mode to allow for cached\nmetadata increasing the performance of directory listings and other metadata\nread operations.\n\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "bd238fb431f31989898423c8b6496bc8c4204a86",
      "tree": "f85a536383cbf360125ecb0592f6c515e0ecf0ff",
      "parents": [
        "8d9107e8c50e1c4ff43c91c8841805833f3ecfb9"
      ],
      "author": {
        "name": "Latchesar Ionkov",
        "email": "lucho@ionkov.net",
        "time": "Tue Jul 10 17:57:28 2007 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@ericvh-desktop.austin.ibm.com",
        "time": "Sat Jul 14 15:13:40 2007 -0500"
      },
      "message": "9p: Reorganization of 9p file system code\n\nThis patchset moves non-filesystem interfaces of v9fs from fs/9p to net/9p.\nIt moves the transport, packet marshalling and connection layers to net/9p\nleaving only the VFS related files in fs/9p.  This work is being done in\npreparation for in-kernel 9p servers as well as alternate 9p clients (other\nthan VFS).\n\nSigned-off-by: Latchesar Ionkov \u003clucho@ionkov.net\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    }
  ],
  "next": "e8edc6e03a5c8562dc70a6d969f732bdb355a7e7"
}
