)]}'
{
  "log": [
    {
      "commit": "1d76e3135733a06aa12bb35891c05f306b27b2d6",
      "tree": "eec35444681ec5a7dee46ee3fdb95a361fb3ab33",
      "parents": [
        "3c30750ffafbc32af040b09f777b67aa2486b063"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Aug 30 17:43:07 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Sep 13 08:13:03 2010 -0500"
      },
      "message": "fs/9p: Don\u0027t use dotl version of mknod for dotu inode operations\n\nWe should not use dotlversion for the dotu inode operations\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": "3c30750ffafbc32af040b09f777b67aa2486b063",
      "tree": "dd1a5e2ba2ab5a044a75187bd0fc5d8d58213016",
      "parents": [
        "62726a7ab3a6a3624256172af055ff0a38c6ffa2"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Aug 30 16:04:35 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Sep 13 08:13:03 2010 -0500"
      },
      "message": "fs/9p: Use the correct dentry operations\n\nWe should use the cached dentry operation only if caching mode is enabled\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": "62726a7ab3a6a3624256172af055ff0a38c6ffa2",
      "tree": "fea6290c7232a1cbf9d144419a36ef62aaa04cdb",
      "parents": [
        "5c25f347a7b00b2ebe0a55c4a3cfe4c3e1e8725e"
      ],
      "author": {
        "name": "jvrao",
        "email": "jvrao@linux.vnet.ibm.com",
        "time": "Wed Aug 25 16:26:21 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Sep 13 08:13:03 2010 -0500"
      },
      "message": "9p: Check for NULL fid in v9fs_dir_release()\n\nNULL fid should be handled in cases where we endup calling v9fs_dir_release()\nbefore even we instantiate the fid in filp.\n\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "5c25f347a7b00b2ebe0a55c4a3cfe4c3e1e8725e",
      "tree": "14de9f8a3418b13cde4384f4cd42ad1030864c20",
      "parents": [
        "62b2be591a9b12c550308ef7718a31abfc815b50"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Aug 24 10:30:49 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Sep 13 08:13:02 2010 -0500"
      },
      "message": "fs/9p: Fix error handling in v9fs_get_sb\n\nThis was introduced by 7cadb63d58a932041afa3f957d5cbb6ce69dcee5\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": "62b2be591a9b12c550308ef7718a31abfc815b50",
      "tree": "d07e2cdfa07fdcc0840d3c1e3209591c085fe1c3",
      "parents": [
        "49553c2ef88749dd502687f4eb9c258bb10a4f44"
      ],
      "author": {
        "name": "Latchesar Ionkov",
        "email": "lionkov@gmail.com",
        "time": "Tue Aug 24 18:13:59 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Sep 13 08:13:02 2010 -0500"
      },
      "message": "fs/9p, net/9p: memory leak fixes\n\nFour memory leak fixes in the 9P code.\n\nSigned-off-by: Latchesar Ionkov \u003clucho@ionkov.net\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "8f587df479c3cea14ba1a9b9d58f34fd2fd6d58b",
      "tree": "5c01cd8b1fa9ecea9af268890d39a49b017a8631",
      "parents": [
        "2bfc96a127bc1cc94d26bfaa40159966064f9c8c"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Wed Aug 04 16:27:45 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Aug 30 10:35:28 2010 -0500"
      },
      "message": "9p: potential ERR_PTR() dereference\n\np9_client_walk() can return error values if we run out of space or there\nis a problem with the network.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "8cef9c67356eca3e6502444c8075a06c86872abf",
      "tree": "d98de53b2f22488f898cd200fe341c4355b4a342",
      "parents": [
        "b34d8915c413acb51d837a45fb8747b61f65c020"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Tue Jun 22 11:15:01 2010 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 11 00:08:00 2010 -0400"
      },
      "message": "v9fs: fixup for inode_setattr being removed\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "5f248c9c251c60af3403902b26e08de43964ea0b",
      "tree": "6d3328e72a7e4015a64017eb30be18095c6a3c64",
      "parents": [
        "f6cec0ae58c17522a7bc4e2f39dae19f199ab534",
        "dca332528bc69e05f67161e1ed59929633d5e63d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 10 11:26:52 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 10 11:26:52 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (96 commits)\n  no need for list_for_each_entry_safe()/resetting with superblock list\n  Fix sget() race with failing mount\n  vfs: don\u0027t hold s_umount over close_bdev_exclusive() call\n  sysv: do not mark superblock dirty on remount\n  sysv: do not mark superblock dirty on mount\n  btrfs: remove junk sb_dirt change\n  BFS: clean up the superblock usage\n  AFFS: wait for sb synchronization when needed\n  AFFS: clean up dirty flag usage\n  cifs: truncate fallout\n  mbcache: fix shrinker function return value\n  mbcache: Remove unused features\n  add f_flags to struct statfs(64)\n  pass a struct path to vfs_statfs\n  update VFS documentation for method changes.\n  All filesystems that need invalidate_inode_buffers() are doing that explicitly\n  convert remaining -\u003eclear_inode() to -\u003eevict_inode()\n  Make -\u003edrop_inode() just return whether inode needs to be dropped\n  fs/inode.c:clear_inode() is gone\n  fs/inode.c:evict() doesn\u0027t care about delete vs. non-delete paths now\n  ...\n\nFix up trivial conflicts in fs/nilfs2/super.c\n"
    },
    {
      "commit": "b57922d97fd6f79b6dbe6db0c4fd30d219fa08c1",
      "tree": "1d39e9cd8e1c1f502fb7e985a08286859c69aa36",
      "parents": [
        "45321ac54316eaeeebde0b5f728a1791e500974c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 07 14:34:48 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:48:37 2010 -0400"
      },
      "message": "convert remaining -\u003eclear_inode() to -\u003eevict_inode()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1025774ce411f2bd4b059ad7b53f0003569b74fa",
      "tree": "2be221c205cb5579652a6063e8ee27d1c72d1bbd",
      "parents": [
        "eef2380c187890816b73b1a4cb89a09203759469"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Jun 04 11:30:02 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:37 2010 -0400"
      },
      "message": "remove inode_setattr\n\nReplace inode_setattr with opencoded variants of it in all callers.  This\nmoves the remaining call to vmtruncate into the filesystem methods where it\ncan be replaced with the proper truncate sequence.\n\nIn a few cases it was obvious that we would never end up calling vmtruncate\nso it was left out in the opencoded variant:\n\n spufs: explicitly checks for ATTR_SIZE earlier\n btrfs,hugetlbfs,logfs,dlmfs: explicitly clears ATTR_SIZE earlier\n ufs: contains an opencoded simple_seattr + truncate that sets the filesize just above\n\nIn addition to that ncpfs called inode_setattr with handcrafted iattrs,\nwhich allowed to trim down the opencoded variant.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "327aec03ac4c7bbf5e41ff03ac3a84c424589f27",
      "tree": "60e5b49a28ea5dc3f0003961f2c6740b5bf3210b",
      "parents": [
        "ea1375333ef58298ba4d3c638f3cba982c76504d"
      ],
      "author": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Aug 02 11:36:18 2010 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Aug 02 14:28:38 2010 -0500"
      },
      "message": "9p: fix sparse warnings in new xattr code\n\nfixes:\n\n  CHECK   fs/9p/xattr.c\n\tfs/9p/xattr.c:73:6: warning: Using plain integer as NULL pointer\n\tfs/9p/xattr.c:135:6: warning: Using plain integer as NULL pointer\n\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "ea1375333ef58298ba4d3c638f3cba982c76504d",
      "tree": "574814ebb504a61de0598a65bb63c242f2e81cc2",
      "parents": [
        "0b1208b1aa7a555d5ae4246bab4cd76ba3f32b2d"
      ],
      "author": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Tue Jul 27 14:49:43 2010 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Aug 02 14:28:37 2010 -0500"
      },
      "message": "fs/9p: remove sparse warning in vfs_inode\n\nmake v9fs_dentry_from_dir_inode static\n\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "a534c8d15b1f1d0f861fc2bb9e0529bd8486ec3f",
      "tree": "0451da7a61bd7e3eb5968d65beee3243f7f51b5d",
      "parents": [
        "ebf46264a004818fe5b23f0ac18ac7336897d807"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Wed Jun 30 19:18:50 2010 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Aug 02 14:28:35 2010 -0500"
      },
      "message": "fs/9p: Prevent parallel rename when doing fid_lookup\n\nDuring fid lookup we need to make sure that the dentry-\u003ed_parent doesn\u0027t\nchange so that we can safely walk the parent dentries. To ensure that\nwe need to prevent cross directory rename during fid_lookup. Add a\nper superblock rename_sem rw_semaphore to prevent parallel fid lookup and\nrename.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "ebf46264a004818fe5b23f0ac18ac7336897d807",
      "tree": "0b8ea6810a8e665e3b7bb97f1e85ebde7d0d9ee0",
      "parents": [
        "eda25e46161527845572131b37706a458d9270ef"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon May 31 13:22:56 2010 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Aug 02 14:28:35 2010 -0500"
      },
      "message": "fs/9p: Add support user. xattr\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "ef56547efa3c88609069e2a91f46e25c31dd536e",
      "tree": "802bb98048ae36e59fc0bcaa21bd54e5ebf9de99",
      "parents": [
        "5643135a28464e7c19d8d23a9e0804697a62c84b"
      ],
      "author": {
        "name": "M. Mohan Kumar",
        "email": "mohan@in.ibm.com",
        "time": "Tue Jun 22 19:47:50 2010 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Aug 02 14:28:32 2010 -0500"
      },
      "message": "9p: Implement LOPEN\n\nImplement 9p2000.L version of open(LOPEN) interface in 9p client.\n\nFor LOPEN, no need to convert the flags to and from 9p mode to VFS mode.\n\nSynopsis:\n\n    size[4] Tlopen tag[2] fid[4] mode[4]\n\n    size[4] Rlopen tag[2] qid[13] iounit[4]\n\n[Fix mode bit format - jvrao@linux.vnet.ibm.com]\n\nSigned-off-by: M. Mohan Kumar \u003cmohan@in.ibm.com\u003e\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbegren \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "5643135a28464e7c19d8d23a9e0804697a62c84b",
      "tree": "d7141110fab0f3d71a95fe18b0b77cbaca645c80",
      "parents": [
        "01a622bd7409bb7af38e784cff814e5e723f7951"
      ],
      "author": {
        "name": "Venkateswararao Jujjuri (JV)",
        "email": "jvrao@linux.vnet.ibm.com",
        "time": "Thu Jun 17 18:27:46 2010 -0700"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Aug 02 14:28:32 2010 -0500"
      },
      "message": "fs/9p: This patch implements TLCREATE for 9p2000.L protocol.\n\nSYNOPSIS\n\n    size[4] Tlcreate tag[2] fid[4] name[s] flags[4] mode[4] gid[4]\n\n    size[4] Rlcreate tag[2] qid[13] iounit[4]\n\nDESCRIPTION\n\nThe Tlreate request asks the file server to create a new regular file with the\nname supplied, in the directory (dir) represented by fid.\nThe mode argument specifies the permissions to use. New file is created with\nthe uid if the fid and with supplied gid.\n\nThe flags argument represent Linux access mode flags with which the caller\nis requesting to open the file with. Protocol allows all the Linux access\nmodes but it is upto the server to allow/disallow any of these acess modes.\nIf the server doesn\u0027t support any of the access mode, it is expected to\nreturn error.\n\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "01a622bd7409bb7af38e784cff814e5e723f7951",
      "tree": "1b6e0d9806e560d7f89e0efa8981cfba4c213361",
      "parents": [
        "4b43516ab19b748b48322937fd9307af17541c4d"
      ],
      "author": {
        "name": "M. Mohan Kumar",
        "email": "mohan@in.ibm.com",
        "time": "Wed Jun 16 14:27:22 2010 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Aug 02 14:28:31 2010 -0500"
      },
      "message": "9p: Implement TMKDIR\n\nImplement TMKDIR as part of 2000.L Work\n\nSynopsis\n\n    size[4] Tmkdir tag[2] fid[4] name[s] mode[4] gid[4]\n\n    size[4] Rmkdir tag[2] qid[13]\n\nDescription\n\n    mkdir asks the file server to create a directory with given name,\n    mode and gid. The qid for the new directory is returned with\n    the mkdir reply message.\n\nNote: 72 is selected as the opcode for TMKDIR from the reserved list.\n\nSigned-off-by: M. Mohan Kumar \u003cmohan@in.ibm.com\u003e\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "4b43516ab19b748b48322937fd9307af17541c4d",
      "tree": "0ab84e8d69abce9d63e1937b1a807d2243444a01",
      "parents": [
        "50cc42ff3d7bc48a436c5a0413459ca7841b505f"
      ],
      "author": {
        "name": "M. Mohan Kumar",
        "email": "mohan@in.ibm.com",
        "time": "Wed Jun 16 14:27:01 2010 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Aug 02 14:28:30 2010 -0500"
      },
      "message": "9p: Implement TMKNOD\n\nSynopsis\n\n    size[4] Tmknod tag[2] fid[4] name[s] mode[4] major[4] minor[4] gid[4]\n\n    size[4] Rmknod tag[2] qid[13]\n\nDescription\n\n    mknod asks the file server to create a device node with given major and\n    minor number, mode and gid. The qid for the new device node is returned\n    with the mknod reply message.\n\n[sripathik@in.ibm.com: Fix error handling code]\n\nSigned-off-by: M. Mohan Kumar \u003cmohan@in.ibm.com\u003e\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "50cc42ff3d7bc48a436c5a0413459ca7841b505f",
      "tree": "7209ab2807e3a284c1fbd36dd885e34b81809b0d",
      "parents": [
        "652df9a7fd03cb47a3f663f0c08a2bd086505e9b"
      ],
      "author": {
        "name": "Venkateswararao Jujjuri (JV)",
        "email": "jvrao@linux.vnet.ibm.com",
        "time": "Wed Jun 09 15:59:31 2010 -0700"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Aug 02 14:28:29 2010 -0500"
      },
      "message": "9p: Define and implement TSYMLINK for 9P2000.L\n\nCreate a symbolic link\n\nSYNOPSIS\n\nsize[4] Tsymlink tag[2] fid[4] name[s] symtgt[s] gid[4]\n\nsize[4] Rsymlink tag[2] qid[13]\n\nDESCRIPTION\n\nCreate a symbolic link named \u0027name\u0027 pointing to \u0027symtgt\u0027.\ngid represents the effective group id of the caller.\nThe  permissions of a symbolic link are irrelevant hence it is omitted\nfrom the protocol.\n\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nReviewed-by: Sripathi Kodi \u003csripathik@in.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "09d34ee5f93b2e53b64ffba27bc18731e31154e1",
      "tree": "6a1abd891731247c270d42ba8d7c3b4e8b9fd4b3",
      "parents": [
        "87d7845aa0b157a62448dd3e339856f28befe1f4"
      ],
      "author": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Aug 02 14:28:09 2010 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Aug 02 14:28:09 2010 -0500"
      },
      "message": "9p: Define and implement TLINK for 9P2000.L\n\nThis patch adds a helper function to get the dentry from inode and\nuses it in creating a Hardlink\n\nSYNOPSIS\n\nsize[4] Tlink tag[2] dfid[4] oldfid[4] newpath[s]\n\nsize[4] Rlink tag[2]\n\nDESCRIPTION\n\nCreate a link \u0027newpath\u0027 in directory pointed by dfid linking to oldfid path.\n\n[sripathik@in.ibm.com : p9_client_link should not free req structure\nif p9_client_rpc has returned an error.]\n\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "87d7845aa0b157a62448dd3e339856f28befe1f4",
      "tree": "bae5a5449f4bdb5ccfd1edcb99b285708c123e9f",
      "parents": [
        "f085312204f384a0277a66c3c48ba8f9edcd58f2"
      ],
      "author": {
        "name": "Sripathi Kodi",
        "email": "sripathik@in.ibm.com",
        "time": "Fri Jun 18 11:50:10 2010 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Aug 02 14:25:10 2010 -0500"
      },
      "message": "9p: Implement client side of setattr for 9P2000.L protocol.\n\n    SYNOPSIS\n\n      size[4] Tsetattr tag[2] attr[n]\n\n      size[4] Rsetattr tag[2]\n\n    DESCRIPTION\n\n      The setattr command changes some of the file status information.\n      attr resembles the iattr structure used in Linux kernel. It\n      specifies which status parameter is to be changed and to what\n      value. It is laid out as follows:\n\n         valid[4]\n            specifies which status information is to be changed. Possible\n            values are:\n            ATTR_MODE       (1 \u003c\u003c 0)\n            ATTR_UID        (1 \u003c\u003c 1)\n            ATTR_GID        (1 \u003c\u003c 2)\n            ATTR_SIZE       (1 \u003c\u003c 3)\n            ATTR_ATIME      (1 \u003c\u003c 4)\n            ATTR_MTIME      (1 \u003c\u003c 5)\n            ATTR_ATIME_SET  (1 \u003c\u003c 7)\n            ATTR_MTIME_SET  (1 \u003c\u003c 8)\n\n            The last two bits represent whether the time information\n            is being sent by the client\u0027s user space. In the absense\n            of these bits the server always uses server\u0027s time.\n\n         mode[4]\n            File permission bits\n\n         uid[4]\n            Owner id of file\n\n         gid[4]\n            Group id of the file\n\n         size[8]\n            File size\n\n         atime_sec[8]\n            Time of last file access, seconds\n\n         atime_nsec[8]\n            Time of last file access, nanoseconds\n\n         mtime_sec[8]\n            Time of last file modification, seconds\n\n         mtime_nsec[8]\n            Time of last file modification, nanoseconds\n\nExplanation of the patches:\n--------------------------\n\n*) The kernel just copies relevent contents of iattr structure to\n   p9_iattr_dotl structure and passes it down to the client. The\n   only check it has is calling inode_change_ok()\n*) The p9_iattr_dotl structure does not have ctime and ia_file\n   parameters because I don\u0027t think these are needed in our case.\n   The client user space can request updating just ctime by calling\n   chown(fd, -1, -1). This is handled on server side without a need\n   for putting ctime on the wire.\n*) The server currently supports changing mode, time, ownership and\n   size of the file.\n*) 9P RFC says \"Either all the changes in wstat request happen, or\n   none of them does: if the request succeeds, all changes were made;\n   if it fails, none were.\"\n   I have not done anything to implement this specifically because I\n   don\u0027t see a reason.\n\nSigned-off-by: Sripathi Kodi \u003csripathik@in.ibm.com\u003e\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "f085312204f384a0277a66c3c48ba8f9edcd58f2",
      "tree": "33006860cc1cd4338de56ba1a9915ed95082814e",
      "parents": [
        "9ffaf63e34821ea60b2e1c8593f968d73728f82b"
      ],
      "author": {
        "name": "Sripathi Kodi",
        "email": "sripathik@in.ibm.com",
        "time": "Mon Jul 12 20:07:23 2010 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Aug 02 14:25:09 2010 -0500"
      },
      "message": "9p: getattr client implementation for 9P2000.L protocol.\n\n        SYNOPSIS\n\n              size[4] Tgetattr tag[2] fid[4] request_mask[8]\n\n              size[4] Rgetattr tag[2] lstat[n]\n\n           DESCRIPTION\n\n              The getattr transaction inquires about the file identified by fid.\n              request_mask is a bit mask that specifies which fields of the\n              stat structure is the client interested in.\n\n              The reply will contain a machine-independent directory entry,\n              laid out as follows:\n\n                 st_result_mask[8]\n                    Bit mask that indicates which fields in the stat structure\n                    have been populated by the server\n\n                 qid.type[1]\n                    the type of the file (directory, etc.), represented as a bit\n                    vector corresponding to the high 8 bits of the file\u0027s mode\n                    word.\n\n                 qid.vers[4]\n                    version number for given path\n\n                 qid.path[8]\n                    the file server\u0027s unique identification for the file\n\n                 st_mode[4]\n                    Permission and flags\n\n                 st_uid[4]\n                    User id of owner\n\n                 st_gid[4]\n                    Group ID of owner\n\n                 st_nlink[8]\n                    Number of hard links\n\n                 st_rdev[8]\n                    Device ID (if special file)\n\n                 st_size[8]\n                    Size, in bytes\n\n                 st_blksize[8]\n                    Block size for file system IO\n\n                 st_blocks[8]\n                    Number of file system blocks allocated\n\n                 st_atime_sec[8]\n                    Time of last access, seconds\n\n                 st_atime_nsec[8]\n                    Time of last access, nanoseconds\n\n                 st_mtime_sec[8]\n                    Time of last modification, seconds\n\n                 st_mtime_nsec[8]\n                    Time of last modification, nanoseconds\n\n                 st_ctime_sec[8]\n                    Time of last status change, seconds\n\n                 st_ctime_nsec[8]\n                    Time of last status change, nanoseconds\n\n                 st_btime_sec[8]\n                    Time of creation (birth) of file, seconds\n\n                 st_btime_nsec[8]\n                    Time of creation (birth) of file, nanoseconds\n\n                 st_gen[8]\n                    Inode generation\n\n                 st_data_version[8]\n                    Data version number\n\n              request_mask and result_mask bit masks contain the following bits\n                 #define P9_STATS_MODE          0x00000001ULL\n                 #define P9_STATS_NLINK         0x00000002ULL\n                 #define P9_STATS_UID           0x00000004ULL\n                 #define P9_STATS_GID           0x00000008ULL\n                 #define P9_STATS_RDEV          0x00000010ULL\n                 #define P9_STATS_ATIME         0x00000020ULL\n                 #define P9_STATS_MTIME         0x00000040ULL\n                 #define P9_STATS_CTIME         0x00000080ULL\n                 #define P9_STATS_INO           0x00000100ULL\n                 #define P9_STATS_SIZE          0x00000200ULL\n                 #define P9_STATS_BLOCKS        0x00000400ULL\n\n                 #define P9_STATS_BTIME         0x00000800ULL\n                 #define P9_STATS_GEN           0x00001000ULL\n                 #define P9_STATS_DATA_VERSION  0x00002000ULL\n\n                 #define P9_STATS_BASIC         0x000007ffULL\n                 #define P9_STATS_ALL           0x00003fffULL\n\n        This patch implements the client side of getattr implementation for\n        9P2000.L. It introduces a new structure p9_stat_dotl for getting\n        Linux stat information along with QID. The data layout is similar to\n        stat structure in Linux user space with the following major\n        differences:\n\n        inode (st_ino) is not part of data. Instead qid is.\n\n        device (st_dev) is not part of data because this doesn\u0027t make sense\n        on the client.\n\n        All time variables are 64 bit wide on the wire. The kernel seems to use\n        32 bit variables for these variables. However, some of the architectures\n        have used 64 bit variables and glibc exposes 64 bit variables to user\n        space on some architectures. Hence to be on the safer side we have made\n        these 64 bit in the protocol. Refer to the comments in\n        include/asm-generic/stat.h\n\n        There are some additional fields: st_btime_sec, st_btime_nsec, st_gen,\n        st_data_version apart from the bitmask, st_result_mask. The bit mask\n        is filled by the server to indicate which stat fields have been\n        populated by the server. Currently there is no clean way for the\n        server to obtain these additional fields, so it sends back just the\n        basic fields.\n\nSigned-off-by: Sripathi Kodi \u003csripathik@in.ibm.com\u003e\nSigned-off-by: Eric Van Hensbegren \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "9ffaf63e34821ea60b2e1c8593f968d73728f82b",
      "tree": "a2fa40eeb0cc9ae7bb1ac5dfbbd23231746290f8",
      "parents": [
        "69d4b4436b54c1a850d475697fda5ca117b09a5e"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Jun 01 09:26:18 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Aug 02 14:25:08 2010 -0500"
      },
      "message": "fs/9p: Pass the correct user credentials during attach\n\nWe need to make sure we pass the right uid value\nduring attach. dotl is similar to dotu in this regard.\nWithout this mapped security model on dotl doesn\u0027t work\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": "7751bdb3a095ad32dd4fcff3443cf8dd4cb1e748",
      "tree": "6c7a93a546e34d86e433a1be05e3ebfcc4f77754",
      "parents": [
        "97e8442b0971ea6be9a495b3d03402985cfe5d6a"
      ],
      "author": {
        "name": "Sripathi Kodi",
        "email": "sripathik@in.ibm.com",
        "time": "Fri Jun 04 13:41:26 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Aug 02 14:25:07 2010 -0500"
      },
      "message": "9p: readdir implementation for 9p2000.L\n\nThis patch implements the kernel part of readdir() implementation for 9p2000.L\n\n    Change from V3: Instead of inode, server now sends qids for each dirent\n\n    SYNOPSIS\n\n    size[4] Treaddir tag[2] fid[4] offset[8] count[4]\n    size[4] Rreaddir tag[2] count[4] data[count]\n\n    DESCRIPTION\n\n    The readdir request asks the server to read the directory specified by \u0027fid\u0027\n    at an offset specified by \u0027offset\u0027 and return as many dirent structures as\n    possible that fit into count bytes. Each dirent structure is laid out as\n    follows.\n\n            qid.type[1]\n              the type of the file (directory, etc.), represented as a bit\n              vector corresponding to the high 8 bits of the file\u0027s mode\n              word.\n\n            qid.vers[4]\n              version number for given path\n\n            qid.path[8]\n              the file server\u0027s unique identification for the file\n\n            offset[8]\n              offset into the next dirent.\n\n            type[1]\n              type of this directory entry.\n\n            name[256]\n              name of this directory entry.\n\n    This patch adds v9fs_dir_readdir_dotl() as the readdir() call for 9p2000.L.\n    This function sends P9_TREADDIR command to the server. In response the server\n    sends a buffer filled with dirent structures. This is different from the\n    existing v9fs_dir_readdir() call which receives stat structures from the server.\n    This results in significant speedup of readdir() on large directories.\n    For example, doing \u0027ls \u003e/dev/null\u0027 on a directory with 10000 files on my\n    laptop takes 1.088 seconds with the existing code, but only takes 0.339 seconds\n    with the new readdir.\n\nSigned-off-by: Sripathi Kodi \u003csripathik@in.ibm.com\u003e\nReviewed-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "97e8442b0971ea6be9a495b3d03402985cfe5d6a",
      "tree": "2afd94c5c1afc34c65a28f45baa08a811479f1f0",
      "parents": [
        "cff6b8a9b81b404e8ce0257b26007c3afe625212"
      ],
      "author": {
        "name": "M. Mohan Kumar",
        "email": "mohan@in.ibm.com",
        "time": "Fri Jun 04 11:59:07 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Aug 02 14:25:06 2010 -0500"
      },
      "message": "9p: Make use of iounit for read/write\n\nChange the v9fs_file_readn function to limit the maximum transfer size\nbased on the iounit or msize.\n\nAlso remove the redundant check for limiting the transfer size in\nv9fs_file_write. This check is done by p9_client_write.\n\nSigned-off-by: M. Mohan Kumar \u003cmohan@in.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "da7ddd3296505b4cb46685e1bbf7d0075b3cd4f1",
      "tree": "45fcc62918193eba6e2aef40e1df0d2ef2e1df32",
      "parents": [
        "d15aa2cc641bd193596382357de917b32f1b40cb"
      ],
      "author": {
        "name": "Latchesar Ionkov",
        "email": "lucho@ionkov.net",
        "time": "Mon Jul 19 15:40:03 2010 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Tue Jul 27 14:52:04 2010 -0500"
      },
      "message": "9p: Pass the correct end of buffer to p9stat_read\n\nPass the correct end of the buffer to p9stat_read.\n\nSigned-off-by: Latchesar Ionkov \u003clucho@ionkov.net\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "7ea8085910ef3dd4f3cad6845aaa2b580d39b115",
      "tree": "d9c1edb5906f943f7d70bfb4b65106e29772d379",
      "parents": [
        "cc967be54710d97c05229b2e5ba2d00df84ddd64"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed May 26 17:53:25 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 27 22:05:02 2010 -0400"
      },
      "message": "drop unused dentry argument to -\u003efsync\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "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"
    }
  ],
  "next": "887b3ece65be7b643dfdae0d433c91a26a3f437d"
}
