)]}'
{
  "log": [
    {
      "commit": "33a43f2802d8d7be3a9b541785c4ca9ad79e4310",
      "tree": "dd55121ea9031401fce8b03554654a332a4c38df",
      "parents": [
        "6b97fd3da1eab2cc490cfe884c7d4956522eaf8b"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@citi.umich.edu",
        "time": "Fri Jun 09 09:34:30 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jun 09 09:34:30 2006 -0400"
      },
      "message": "NFSv4: A root pathname is sent as a zero component4\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "830b8e33fe1900b87c8eb7ec5c646117a9f298d6",
      "tree": "8e4aa4c7ecd0485a288254433edf76305852c846",
      "parents": [
        "361e624f6d8bfbeac53769603d995d47535cfd46"
      ],
      "author": {
        "name": "Manoj Naik",
        "email": "manoj@almaden.ibm.com",
        "time": "Fri Jun 09 09:34:25 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jun 09 09:34:25 2006 -0400"
      },
      "message": "NFSv4: Define an fs_locations bitmap\n\nThis is (similar to getattr bitmap) but includes fs_locations and\nmounted_on_fileid attributes. Use this bitmap for encoding in fs_locations\nrequests.\nNote: We can probably do better by requesting locations as part of fsinfo\nitself.\n\nSigned-off-by: Manoj Naik \u003cmanoj@almaden.ibm.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "99baf625d3b9b8944920acc7c2d06079a37458c5",
      "tree": "2878013e4a44562502fe18ce4ecff0cd0dcaf4ec",
      "parents": [
        "7aaa0b3bd4d215d9ce4d62b6c2043a63ba650f93"
      ],
      "author": {
        "name": "Manoj Naik",
        "email": "manoj@almaden.ibm.com",
        "time": "Fri Jun 09 09:34:24 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jun 09 09:34:24 2006 -0400"
      },
      "message": "NFSv4: Decode mounted_on_fileid attribute in getattr.\n\nIt is ignored if fileid is also requested. This will be used on referrals\n(fs_locations).\n\nSigned-off-by: Manoj Naik \u003cmanoj@almaden.ibm.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7aaa0b3bd4d215d9ce4d62b6c2043a63ba650f93",
      "tree": "122b502bc56a00dcb60d2de211e5ea6eeac9e028",
      "parents": [
        "683b57b435326eb512c7305892683b6205669448"
      ],
      "author": {
        "name": "Manoj Naik",
        "email": "manoj@almaden.ibm.com",
        "time": "Fri Jun 09 09:34:23 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jun 09 09:34:23 2006 -0400"
      },
      "message": "NFSv4: convert fs-locations-components to conform to RFC3530\n\nUse component4-style formats for decoding list of servers and pathnames in\nfs_locations.\n\nSigned-off-by: Manoj Naik \u003cmanoj@almaden.ibm.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "683b57b435326eb512c7305892683b6205669448",
      "tree": "ca1e526ab5b27993c0c143c37bb31e18889eeb61",
      "parents": [
        "8b23ea7bedb8b45a5bb56745fa3ff11018acf04e"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jun 09 09:34:22 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jun 09 09:34:22 2006 -0400"
      },
      "message": "NFSv4: Implement the fs_locations function call\n\nNFSv4 allows for the fact that filesystems may be replicated across\nseveral servers or that they may be migrated to a backup server in case of\nfailure of the primary server.\nfs_locations is an NFSv4 operation for retrieving information about the\nlocation of migrated and/or replicated filesystems.\n\nBased on an initial implementation by Jiaying Zhang \u003cjiayingz@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8b4bdcf8995dd92b23d2ec22b32aee8fbbb50e1c",
      "tree": "8ebe9ec2ed5cb58592097123cf6b34af997316c7",
      "parents": [
        "8b512d9a88875affe584bb3d2a7a235f84343b9e"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jun 09 09:34:19 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jun 09 09:34:19 2006 -0400"
      },
      "message": "NFS: Store the file system \"fsid\" value in the NFS super block.\n\nThis should enable us to detect if we are crossing a mountpoint in the\ncase where the server is exporting \"nohide\" mounts.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c04871e6345e4c6dfda564e302d7fd8c66420fd5",
      "tree": "4b2a2b0fb5f282ffd5c95f64691476c647acd29f",
      "parents": [
        "3873bc50e2271504da45799257f69222774d9550"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Tue May 30 16:28:58 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jun 09 09:34:13 2006 -0400"
      },
      "message": "NFSv4: remove obviously bogus comparison from decode_getacl\n\nWe just set *acl_len to zero, and attrlen is unsigned, so this comparison\nis clearly bogus.  I have no idea what I was thinking.\n\nFixes a bug that caused getacl to fail over krb5p.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "53846a21c1766326bb14ce8ab6e997a0c120675d",
      "tree": "37b04485e29844b4e734479181276a2f4d2447e4",
      "parents": [
        "2e9abdd9bad485970b37cd53a82f92702054984c",
        "1ebbe2b20091d306453a5cf480a87e6cd28ae76f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 09:18:27 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 09:18:27 2006 -0800"
      },
      "message": "Merge git://git.linux-nfs.org/pub/linux/nfs-2.6\n\n* git://git.linux-nfs.org/pub/linux/nfs-2.6: (103 commits)\n  SUNRPC,RPCSEC_GSS: spkm3--fix config dependencies\n  SUNRPC,RPCSEC_GSS: spkm3: import contexts using NID_cast5_cbc\n  LOCKD: Make nlmsvc_traverse_shares return void\n  LOCKD: nlmsvc_traverse_blocks return is unused\n  SUNRPC,RPCSEC_GSS: fix krb5 sequence numbers.\n  NFSv4: Dont list system.nfs4_acl for filesystems that don\u0027t support it.\n  SUNRPC,RPCSEC_GSS: remove unnecessary kmalloc of a checksum\n  SUNRPC: Ensure rpc_call_async() always calls tk_ops-\u003erpc_release()\n  SUNRPC: Fix memory barriers for req-\u003erq_received\n  NFS: Fix a race in nfs_sync_inode()\n  NFS: Clean up nfs_flush_list()\n  NFS: Fix a race with PG_private and nfs_release_page()\n  NFSv4: Ensure the callback daemon flushes signals\n  SUNRPC: Fix a \u0027Busy inodes\u0027 error in rpc_pipefs\n  NFS, NLM: Allow blocking locks to respect signals\n  NFS: Make nfs_fhget() return appropriate error values\n  NFSv4: Fix an oops in nfs4_fill_super\n  lockd: blocks should hold a reference to the nlm_file\n  NFSv4: SETCLIENTID_CONFIRM should handle NFS4ERR_DELAY/NFS4ERR_RESOURCE\n  NFSv4: Send the delegation stateid for SETATTR calls\n  ...\n"
    },
    {
      "commit": "e8c96f8c29d89af0c13dc2819a9a00575846ca18",
      "tree": "b90ed0da4803df56a91be5979580e335af2d697c",
      "parents": [
        "b5029622ac86bb441dc5e641226fb1152fca02d7"
      ],
      "author": {
        "name": "Tobias Klauser",
        "email": "tklauser@nuerscht.ch",
        "time": "Fri Mar 24 03:15:34 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:19 2006 -0800"
      },
      "message": "[PATCH] fs: Use ARRAY_SIZE macro\n\nUse ARRAY_SIZE macro instead of sizeof(x)/sizeof(x[0]) and remove a\nduplicate of ARRAY_SIZE.  Some trailing whitespaces are also deleted.\n\nSigned-off-by: Tobias Klauser \u003ctklauser@nuerscht.ch\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nAcked-by: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nCc: Chris Mason \u003cmason@suse.com\u003e\nCc: Jeff Mahoney \u003cjeffm@suse.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Nathan Scott \u003cnathans@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cc0175c1dc1de8f6af0eb0631dcc5b999a6fcc42",
      "tree": "b219a9c16f0ef3ff0982450c32aa0f09d503782a",
      "parents": [
        "4ece3a2d18fd7fe1d4972284a8c98c569020093f"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:22 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:22 2006 -0500"
      },
      "message": "SUNRPC: display human-readable procedure name in rpc_iostats output\n\nAdd fields to the rpc_procinfo struct that allow the display of a\nhuman-readable name for each procedure in the rpc_iostats output.\n\nAlso fix it so that the NFSv4 stats are broken up correctly by\nsub-procedure number.  NFSv4 uses only two real RPC procedures:\nNULL, and COMPOUND.\n\nTest plan:\nMount with NFSv2, NFSv3, and NFSv4, and do \"cat /proc/self/mountstats\".\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cf3fff54a46e1f8fa4cc1deb783172a392077eb0",
      "tree": "9dc139601f2227abfa4a8efdf996f765fbbdad60",
      "parents": [
        "f518e35aec984036903c1003e867f833747a9d79"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:53 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:57 2006 -0500"
      },
      "message": "NFS: Send valid mode bits to the server\n\n inode-\u003ei_mode contains a lot more than just the mode bits. Make sure that\n we mask away this extra stuff in SETATTR calls to the server.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fa178f29c0f8a0dce748181a5351f4a92fd4f455",
      "tree": "07de5ced8d16d832ebed98c58a2c0498affa12db",
      "parents": [
        "beb2a5ec386e5ce6891ebd1c06b913da04354b40"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:38 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:51 2006 -0500"
      },
      "message": "NFSv4: Ensure DELEGRETURN returns attributes\n\n Upon return of a write delegation, the server will almost always bump the\n change attribute. Ensure that we pick up that change so that we don\u0027t\n invalidate our data cache unnecessarily.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a5d16a4d090bd2af86e648ed9bb205903fcf1e86",
      "tree": "9fd615f3991e50d07583010d9703a3d1aced8419",
      "parents": [
        "911d1aaf26fc4d771174d98fcab710a44e2a5fa0"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:17 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:44 2006 -0500"
      },
      "message": "NFSv4: Convert LOCK rpc call into an asynchronous RPC call\n\n In order to allow users to interrupt/cancel it.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "911d1aaf26fc4d771174d98fcab710a44e2a5fa0",
      "tree": "e16df0f68093d2dc0abd5f55c2d46ff7705fffb8",
      "parents": [
        "864472e9b8fa76ffaad17dfcb84d79e16df6828c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:16 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:44 2006 -0500"
      },
      "message": "NFSv4: locking XDR cleanup\n\n Get rid of some unnecessary intermediate structures\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "864472e9b8fa76ffaad17dfcb84d79e16df6828c",
      "tree": "1cc5c4624c36be0b9aebdabae30d1a5385e04dee",
      "parents": [
        "e761692381f294ea079d2e869fcd7c0afc79e394"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:15 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:43 2006 -0500"
      },
      "message": "NFSv4: Make open recovery track O_RDWR, O_RDONLY and O_WRONLY correctly\n\n When recovering from a delegation recall or a network partition, we need\n to replay open(O_RDWR), open(O_RDONLY) and open(O_WRONLY) separately.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cdd4e68b5f0ed12c64b3e2be83655d2a47588a74",
      "tree": "c31565c36e0550655207d2edcabaa6ea1f3217f7",
      "parents": [
        "24ac23ab88df5b21b5b2df8cde748bf99b289099"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:12 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:42 2006 -0500"
      },
      "message": "NFSv4: Make open_confirm() asynchronous too\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "24ac23ab88df5b21b5b2df8cde748bf99b289099",
      "tree": "e5e599fc55fc1744284077b320f3541a3658b958",
      "parents": [
        "e60859ac0e50f660d23b72e42e05f58757dcfeff"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:11 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:42 2006 -0500"
      },
      "message": "NFSv4: Convert open() into an asynchronous RPC call\n\n OPEN is a stateful operation, so we must ensure that it always\n completes. In order to allow users to interrupt the operation,\n we need to make the RPC call asynchronous, and then wait on\n completion (or cancel).\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "16c32b71bc53d6f7143702ebb264b4ef20d8f1e5",
      "tree": "e927cb187666c87ccd7c15c1c1367d015a623ef6",
      "parents": [
        "4f9838c7ecd14f31f701f64fa65ded132fc0db8a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 22:12:45 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 22:12:45 2005 -0400"
      },
      "message": "NFSv4: Convert unnecessary XDR warning messages into dprintk()\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4f9838c7ecd14f31f701f64fa65ded132fc0db8a",
      "tree": "f3fee5b744efb072f44591208541554976bf41d7",
      "parents": [
        "16e429596dec4d28e16812b3a9be27f18412c567"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 22:12:44 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 22:12:44 2005 -0400"
      },
      "message": "NFSv4: Add post-op attributes to NFSv4 write and commit callbacks.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "16e429596dec4d28e16812b3a9be27f18412c567",
      "tree": "b11c0f3829ae1225794a3d1fca68a1878a87a46d",
      "parents": [
        "6caf2c8276d371679a798058e8fdf49f5ff831a3"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 22:12:44 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 22:12:44 2005 -0400"
      },
      "message": "NFSv4: Add post-op attributes to nfs4_proc_remove()\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6caf2c8276d371679a798058e8fdf49f5ff831a3",
      "tree": "ff53620d5879644df543dcce2ce86db863dad21c",
      "parents": [
        "91ba2eeec5e8e86e054937eb3bf5aec5b22b1830"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 22:12:43 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 22:12:43 2005 -0400"
      },
      "message": "NFSv4: Add post-op attributes to nfs4_proc_rename()\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "91ba2eeec5e8e86e054937eb3bf5aec5b22b1830",
      "tree": "9157b8bfe90fed0b472da3ec71dadfb0c587e566",
      "parents": [
        "cf809556149f076b7a020c10e066b2b96e79b6a1"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 22:12:42 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 22:12:42 2005 -0400"
      },
      "message": "NFSv4: Add post-op attributes to nfs4_proc_link()\n\n Optimise attribute revalidation when hardlinking. Add post-op attributes\n for the directory and the original inode.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "516a6af641bb50c608329a5bd751acd0d65cc4ab",
      "tree": "93b240cb19460073cac3363517fcc0e253fb48d9",
      "parents": [
        "3338c143b4fde2d256016b63043ec8e2c93eba19"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 22:12:41 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 22:12:41 2005 -0400"
      },
      "message": "NFS: Add optional post-op getattr instruction to the NFSv4 file close.\n\n \"Optional\" means that the close call will not fail if the getattr\n at the end of the compound fails.\n If it does succeed, try to refresh inode attributes.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "56ae19f38f10aad4f27f7e12138a29b295dff07a",
      "tree": "79ada0dacbcf6470b4469c537d3bae02bb81069d",
      "parents": [
        "0c70b50150cfb0b43ff500a8a394a52b4d5f1350"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 22:12:40 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 22:12:40 2005 -0400"
      },
      "message": "NFSv4: Add directory post-op attributes to the CREATE operations.\n\n Since the directory attributes change every time we CREATE a file,\n we might as well pick up the new directory attributes in the same\n compound.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "33801147a8fda6b04d7e9afe1d42f1c01d3d6837",
      "tree": "5311fb4714f0a24b7d7666b04250205025e18d15",
      "parents": [
        "913a70fc170530f7e1ff0693595155457cc6d0ca"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 22:12:39 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 22:12:39 2005 -0400"
      },
      "message": "NFS: Optimise inode attribute cache updates\n\n Allow nfs_refresh_inode() also to update attributes on the inode if the\n RPC call was sent after the last call to nfs_update_inode().\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8c233cf9c2ad6f49df753bdce84fddbf00bf6a75",
      "tree": "c2d0e2d58e0fe1c2ab332802caa77046fcaac348",
      "parents": [
        "747c5534c9a6da4aa87e7cdc2209ea98ea27f381"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Thu Oct 13 16:54:27 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 23:19:41 2005 -0700"
      },
      "message": "NFSv4: handle no acl attr\n\n Stop handing garbage to userspace in the case where a weird server clears the\n acl bit in the getattr return (despite the fact that they\u0027ve already claimed\n acl support.)\n\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "06735b3454824bd561decbde46111f144e905923",
      "tree": "2c9e9f18ba8d3700a181b44d2b1f0ce6a62612f8",
      "parents": [
        "faf5f49c2d9c0af2847837c232a432cc146e203b"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:15 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:15 2005 -0700"
      },
      "message": "NFSv4: Fix up handling of open_to_lock sequence ids\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "faf5f49c2d9c0af2847837c232a432cc146e203b",
      "tree": "f0c097ae68ca3ec3cd5ee0a904916493b00b9c1b",
      "parents": [
        "0a8838f972883112f0a7b259141b24db17583c2d"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:15 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:15 2005 -0700"
      },
      "message": "NFSv4: Make NFS clean up byte range locks asynchronously\n\n Currently we fail to do so if the process was signalled.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9512135df14f8293b9bc5e8fb22d4279dee5ff66",
      "tree": "83fb778ed53ba10c46734968f538aa0a57d376a1",
      "parents": [
        "cee54fc944422c44e476736c045a9e8053cb0644"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:12 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:12 2005 -0700"
      },
      "message": "NFSv4: Fix a potential CLOSE race\n\n Once the state_owner and lock_owner semaphores get removed, it will be\n possible for other OPEN requests to reopen the same file if they have\n lower sequence ids than our CLOSE call.\n This patch ensures that we recheck the file state once\n nfs_wait_on_sequence() has completed waiting.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cee54fc944422c44e476736c045a9e8053cb0644",
      "tree": "95f4728b3ffa8a2456727b10cd3a68f2a3065415",
      "parents": [
        "5e5ce5be6f0161d2a069a4f8a1154fe639c5c02f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:12 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:12 2005 -0700"
      },
      "message": "NFSv4: Add functions to order RPC calls\n\n NFSv4 file state-changing functions such as OPEN, CLOSE, LOCK,... are all\n labelled with \"sequence identifiers\" in order to prevent the server from\n reordering RPC requests, as this could cause its file state to\n become out of sync with the client.\n\n Currently the NFS client code enforces this ordering locally using\n semaphores to restrict access to structures until the RPC call is done.\n This, of course, only works with synchronous RPC calls, since the\n user process must first grab the semaphore.\n By dropping semaphores, and instead teaching the RPC engine to hold\n the RPC calls until they are ready to be sent, we can extend this\n process to work nicely with asynchronous RPC calls too.\n\n This patch adds a new list called \"rpc_sequence\" that defines the order\n of the RPC calls to be sent. We add one such list for each state_owner.\n When an RPC call is ready to be sent, it checks if it is top of the\n rpc_sequence list. If so, it proceeds. If not, it goes back to sleep,\n and loops until it hits top of the list.\n Once the RPC call has completed, it can then bump the sequence id counter,\n and remove itself from the rpc_sequence list, and then wake up the next\n sleeper.\n\n Note that the state_owner sequence ids and lock_owner sequence ids are\n all indexed to the same rpc_sequence list, so OPEN, LOCK,... requests\n are all ordered w.r.t. each other.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "eadf4598e7ec37a234e70e965bd335860e58bda4",
      "tree": "d82bd76e553a4165a972b1ad93d1e1d8ddb017bb",
      "parents": [
        "6ebf3656fd18430d90fbb3199b31d08178c37134"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 17:16:39 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:44 2005 -0400"
      },
      "message": "[PATCH] NFS: Add debugging code to NFSv4 readdir\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6ebf3656fd18430d90fbb3199b31d08178c37134",
      "tree": "3eddf4d1b67ffece40531d929b143a4fb30baaa3",
      "parents": [
        "97d312d037e63e7c8ac004ffe3072f82a6d45495"
      ],
      "author": {
        "name": "Manoj Naik",
        "email": "manoj@almaden.ibm.com",
        "time": "Wed Jun 22 17:16:39 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:44 2005 -0400"
      },
      "message": "[PATCH] NFSv4: Map a couple of NFSv4 errors to EINVAL.\n\n This shows up on running tar over NFSv4.\n\n Signed-off-by: Manoj Naik \u003cmanoj@almaden.ibm.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "97d312d037e63e7c8ac004ffe3072f82a6d45495",
      "tree": "c5fb167f0a523763113b778c45f3e56367456dbd",
      "parents": [
        "8d0a8a9d0ec790086c64d210af413ac351d89e35"
      ],
      "author": {
        "name": "Manoj Naik",
        "email": "manoj@almaden.ibm.com",
        "time": "Wed Jun 22 17:16:39 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:43 2005 -0400"
      },
      "message": "[PATCH] NFSv4: add support for rdattr_error in NFSv4 readdir requests.\n\n Request RDATTR_ERROR as an attribute in readdir to distinguish between a\n directory being within an absent filesystem or one (or more) of its entries.\n\n Signed-off-by: Manoj Naik \u003cmanoj@almaden.ibm.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "23ec6965c20db96bc8ea7af0ec178f074dd31c40",
      "tree": "0d94c6a7662afe088252050a0778cd52e096ba95",
      "parents": [
        "aa1870af92d8f6d6db0883696516a83ff2b695a6"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jun 22 17:16:22 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:13 2005 -0400"
      },
      "message": "[PATCH] NFSv4: Client-side xdr for writing NFSv4 acls\n\n Client-side support for NFSv4 acls: xdr encoding and decoding routines for\n writing acls\n\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "029d105e66e5a90850d5a09dad76815d0bcfcaa3",
      "tree": "936855da358d98a645e7984b7c957b8f73d4bd4f",
      "parents": [
        "96928206961be05f22c3839f0097b610cc485b5d"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jun 22 17:16:22 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:12 2005 -0400"
      },
      "message": "[PATCH] NFSv4: Client-side xdr for reading NFSv4 acls\n\n Client-side support for NFSv4 acls: xdr encoding and decoding routines for\n reading acls\n\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "96928206961be05f22c3839f0097b610cc485b5d",
      "tree": "08140ef501c7b675833ed7445c909cb60df59ecf",
      "parents": [
        "6b3b5496d7b261d6c9202008dc528e52dbd11e57"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jun 22 17:16:22 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:11 2005 -0400"
      },
      "message": "[PATCH] NFSv4: fix fattr size calculations\n\n Make nfs4 fattr size calculations more explicit, revising them downward a\n bit in the process.\n\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4ce79717ce32a9f88c1ddce4b9658556cb59d37a",
      "tree": "7f0c5e4bdbc2ee15b8e902b951d1be200b35411f",
      "parents": [
        "9085bbcb76421a90bea28f4d3d03fa9977319c49"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 17:16:21 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:06 2005 -0400"
      },
      "message": "[PATCH] NFS: Header file cleanup...\n\n - Move NFSv4 state definitions into a private header file.\n - Clean up gunk in nfs_fs.h\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
