)]}'
{
  "log": [
    {
      "commit": "e36cd4a2873c398ba188f16e4087cce7f00a1506",
      "tree": "60dcaba46a18d9f60e6a0514542a35a81f059cee",
      "parents": [
        "c272cca625ab507e7cc23708ee5c64d2f384708f"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Apr 24 16:59:30 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 25 13:00:11 2008 -0400"
      },
      "message": "nfsd: don\u0027t allow setting ctime over v4\n\nPresumably this is left over from earlier drafts of v4, which listed\nTIME_METADATA as writeable.  It\u0027s read-only in rfc 3530, and shouldn\u0027t\nbe modifiable anyway.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "c0ce6ec87c59d7a29438717b1f72f83fb408f416",
      "tree": "197fe7b8f89250b54b3f08d559d49f331c00d759",
      "parents": [
        "67eb6ff610d50da231a37beb634d6dea4b5025ab"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Feb 11 15:48:47 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:38 2008 -0400"
      },
      "message": "nfsd: clarify readdir/mountpoint-crossing code\n\nThe code here is difficult to understand; attempt to clarify somewhat by\npulling out one of the more mystifying conditionals into a separate\nfunction.\n\nWhile we\u0027re here, also add lease_time to the list of attributes that we\ndon\u0027t really need to cross a mountpoint to fetch.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: Peter Staubach \u003cstaubach@redhat.com\u003e\n"
    },
    {
      "commit": "5477549161480432d053565d2720f08626baf9e3",
      "tree": "0993666627a6f53f5c7cc9277a329760ccc1002d",
      "parents": [
        "448678a0f3cdd0157f00e98bd337e32030273637"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Thu Feb 14 19:38:39 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 14 21:17:08 2008 -0800"
      },
      "message": "Use struct path in struct svc_export\n\nI\u0027m embedding struct path into struct svc_export.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[ezk@cs.sunysb.edu: NFSD: fix wrong mnt_writer count in rename]\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nAcked-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nAcked-by: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Erez Zadok \u003cezk@cs.sunysb.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "406a7ea97d9dc1a9348ba92c4cd0e7c678185c4c",
      "tree": "bf3d7e7fe94343aad6a57a60917ebecfa64376e7",
      "parents": [
        "39325bd03fc16d903f1e0f51104436d939899c8c"
      ],
      "author": {
        "name": "Frank Filz",
        "email": "ffilzlnx@us.ibm.com",
        "time": "Tue Nov 27 11:34:05 2007 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:06 2008 -0500"
      },
      "message": "nfsd: Allow AIX client to read dir containing mountpoints\n\nThis patch addresses a compatibility issue with a Linux NFS server and\nAIX NFS client.\n\nI have exported /export as fsid\u003d0 with sec\u003dkrb5:krb5i\nI have mount --bind /home onto /export/home\nI have exported /export/home with sec\u003dkrb5i\n\nThe AIX client mounts / -o sec\u003dkrb5:krb5i onto /mnt\n\nIf I do an ls /mnt, the AIX client gets a permission error. Looking at\nthe network traceIwe see a READDIR looking for attributes\nFATTR4_RDATTR_ERROR and FATTR4_MOUNTED_ON_FILEID. The response gives a\nNFS4ERR_WRONGSEC which the AIX client is not expecting.\n\nSince the AIX client is only asking for an attribute that is an\nattribute of the parent file system (pseudo root in my example), it\nseems reasonable that there should not be an error.\n\nIn discussing this issue with Bruce Fields, I initially proposed\nignoring the error in nfsd4_encode_dirent_fattr() if all that was being\nasked for was FATTR4_RDATTR_ERROR and FATTR4_MOUNTED_ON_FILEID, however,\nBruce suggested that we avoid calling cross_mnt() if only these\nattributes are requested.\n\nThe following patch implements bypassing cross_mnt() if only\nFATTR4_RDATTR_ERROR and FATTR4_MOUNTED_ON_FILEID are called. Since there\nis some complexity in the code in nfsd4_encode_fattr(), I didn\u0027t want to\nduplicate code (and introduce a maintenance nightmare), so I added a\nparameter to nfsd4_encode_fattr() that indicates whether it should\nignore cross mounts and simply fill in the attribute using the passed in\ndentry as opposed to it\u0027s parent.\n\nSigned-off-by: Frank Filz \u003cffilzlnx@us.ibm.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "ca2a05aa7c72309ee65164c78fa2be7a5038215e",
      "tree": "f362d7c14652dfea0d93508007f8fc87d10d6980",
      "parents": [
        "a490c681cbcf65d548138c377bb691c85824d323"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun Nov 11 15:43:12 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:03 2008 -0500"
      },
      "message": "nfsd: Fix handling of negative lengths in read_buf()\n\nThe length \"nbytes\" passed into read_buf should never be negative, but\nwe check only for too-large values of \"nbytes\", not for too-small\nvalues.  Make nbytes unsigned, so it\u0027s clear that the former tests are\nsufficient.  (Despite this read_buf() currently correctly returns an xdr\nerror in the case of a negative length, thanks to an unsigned\ncomparison with size_of() and bounds-checking in kmalloc().  This seems\nvery fragile, though.)\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "f4921aff5b174349bc36551f142a5dbac782ea3f",
      "tree": "bdff8ca1531977ad1d04ac8d70e10f8dfbb26c38",
      "parents": [
        "419217cb1d0266f62cbea6cdc6b1d1324350bc34",
        "05c88babab957dfd63bd351b25042d80bd854dd0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Oct 15 10:46:05 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Oct 15 10:47:35 2007 -0700"
      },
      "message": "Merge git://git.linux-nfs.org/pub/linux/nfs-2.6\n\n* git://git.linux-nfs.org/pub/linux/nfs-2.6: (131 commits)\n  NFSv4: Fix a typo in nfs_inode_reclaim_delegation\n  NFS: Add a boot parameter to disable 64 bit inode numbers\n  NFS: nfs_refresh_inode should clear cache_validity flags on success\n  NFS: Fix a connectathon regression in NFSv3 and NFSv4\n  NFS: Use nfs_refresh_inode() in ops that aren\u0027t expected to change the inode\n  SUNRPC: Don\u0027t call xprt_release in call refresh\n  SUNRPC: Don\u0027t call xprt_release() if call_allocate fails\n  SUNRPC: Fix buggy UDP transmission\n  [23/37] Clean up duplicate includes in\n  [2.6 patch] net/sunrpc/rpcb_clnt.c: make struct rpcb_program static\n  SUNRPC: Use correct type in buffer length calculations\n  SUNRPC: Fix default hostname created in rpc_create()\n  nfs: add server port to rpc_pipe info file\n  NFS: Get rid of some obsolete macros\n  NFS: Simplify filehandle revalidation\n  NFS: Ensure that nfs_link() returns a hashed dentry\n  NFS: Be strict about dentry revalidation when doing exclusive create\n  NFS: Don\u0027t zap the readdir caches upon error\n  NFS: Remove the redundant nfs_reval_fsid()\n  NFSv3: Always use directory post-op attributes in nfs3_proc_lookup\n  ...\n\nFix up trivial conflict due to sock_owned_by_user() cleanup manually in\nnet/sunrpc/xprtsock.c\n"
    },
    {
      "commit": "a16e92edcd0a2846455a30823e1bac964e743baa",
      "tree": "50893238dcccb1bcfc6c1160c3db4887d2f08eea",
      "parents": [
        "cfdcad4da1903720b9b8c1f176e46a0ebf546be3"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Sep 28 16:45:51 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Oct 09 18:31:57 2007 -0400"
      },
      "message": "knfsd: query filesystem for NFSv4 getattr of FATTR4_MAXNAME\n\nWithout this we always return 2^32-1 as the the maximum namelength.\n\nThanks to Andreas Gruenbacher for bug report and testing.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: Andreas Gruenbacher \u003cagruen@suse.de\u003e\n"
    },
    {
      "commit": "40ee5dc6af351c1b3de245abed4bd8e6a4a5646a",
      "tree": "5558d5f2b3df23e745b152c439e731a7aeff7ab6",
      "parents": [
        "21fcd02be34f73bbc94db267b4db6ccd7332923d"
      ],
      "author": {
        "name": "Peter Staubach",
        "email": "staubach@redhat.com",
        "time": "Thu Aug 16 12:10:07 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Oct 09 18:31:57 2007 -0400"
      },
      "message": "knfsd: 64 bit ino support for NFS server\n\nModify the NFS server code to support 64 bit ino\u0027s, as\nappropriate for the system and the NFS protocol version.\n\nThe gist of the changes is to query the underlying file system\nfor attributes and not just to use the cached attributes in the\ninode.  For this specific purpose, the inode only contains an\nino field which unsigned long, which is large enough on 64 bit\nplatforms, but is not large enough on 32 bit platforms.\n\nI haven\u0027t been able to find any reason why -\u003egetattr can\u0027t be called\nwhile i_mutex.  The specification indicates that i_mutex is not\nrequired to be held in order to invoke -\u003egetattr, but it doesn\u0027t say\nthat i_mutex can\u0027t be held while invoking -\u003egetattr.\n\nI also haven\u0027t come to any conclusions regarding the value of\nlease_get_mtime() and whether it should or should not be invoked\nby fill_post_wcc() too.  I chose not to change this because I\nthought that it was safer to leave well enough alone.  If we\ndecide to make a change, it can be done separately.\n\nSigned-off-by: Peter Staubach \u003cstaubach@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "817cb9d43d4c330f9fc023d96e5beaa1abe8c4b7",
      "tree": "bf1337ed1d37a9408aa07c3b7ebfa3c376d79070",
      "parents": [
        "e159a08b6ab14e255536fddae75d448395295c6f"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Sep 11 18:01:20 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 09 17:17:14 2007 -0400"
      },
      "message": "NFSD: Convert printk\u0027s to dprintk\u0027s in NFSD\u0027s nfs4xdr\n\nDue to recent edict to remove or replace printk\u0027s that can flood the system\nlog.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ca5c8cde93d65db3139604ca6b91bf8ff3f775e2",
      "tree": "d9ce882caf6b2b1d578829481e0895d6cd5b02aa",
      "parents": [
        "582ee43dad8e411513a74f2d801255dcffc6d29e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Thu Jul 26 17:33:49 2007 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 26 11:11:56 2007 -0700"
      },
      "message": "lockd and nfsd endianness annotation fixes\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4796f45740bc6f2e3e6cc14e7ed481b38bd0bd39",
      "tree": "1f24645e86f87511350e149525245f2b215ba55a",
      "parents": [
        "dcb488a3b7ac3987e21148f44f641c9b2e734232"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jul 17 04:04:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:08 2007 -0700"
      },
      "message": "knfsd: nfsd4: secinfo handling without secinfo\u003d option\n\nWe could return some sort of error in the case where someone asks for secinfo\non an export without the secinfo\u003d option set--that\u0027d be no worse than what\nwe\u0027ve been doing.  But it\u0027s not really correct.  So, hack up an approximate\nsecinfo response in that case--it may not be complete, but it\u0027ll tell the\nclient at least one acceptable security flavor.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dcb488a3b7ac3987e21148f44f641c9b2e734232",
      "tree": "edc9fe889094768068d8ea8c214076e40313a297",
      "parents": [
        "ae4c40b1d81f5299c04330306736b2f0f0539f4b"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@citi.umich.edu",
        "time": "Tue Jul 17 04:04:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:08 2007 -0700"
      },
      "message": "knfsd: nfsd4: implement secinfo\n\nImplement the secinfo operation.\n\n(Thanks to Usha Ketineni wrote an earlier version of this support.)\n\nCc: Usha Ketineni \u003cuketinen@us.ibm.com\u003e\nSigned-off-by: Andy Adamson \u003candros@citi.umich.edu\u003e\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "df547efb03e3e8f9ea726e1d07fbbd6fd0706cd7",
      "tree": "ff0b523096d135562dd979af4864ad6846a359c7",
      "parents": [
        "e677bfe4d451f8271986a229270c6eecd1f62b3f"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jul 17 04:04:43 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:07 2007 -0700"
      },
      "message": "knfsd: nfsd4: simplify exp_pseudoroot arguments\n\nWe\u0027re passing three arguments to exp_pseudoroot, two of which are just fields\nof the svc_rqst.  Soon we\u0027ll want to pass in a third field as well.  So let\u0027s\njust give up and pass in the whole struct svc_rqst.\n\nAlso sneak in some minor style cleanups while we\u0027re at it.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e63340ae6b6205fef26b40a75673d1c9c0c8bb90",
      "tree": "8d3212705515edec73c3936bb9e23c71d34a7b41",
      "parents": [
        "04c9167f91e309c9c4ea982992aa08e83b2eb42e"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue May 08 00:28:08 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:07 2007 -0700"
      },
      "message": "header cleaning: don\u0027t include smp_lock.h when not used\n\nRemove includes of \u003clinux/smp_lock.h\u003e where it is not used/needed.\nSuggested by Al Viro.\n\nBuilds cleanly on x86_64, i386, alpha, ia64, powerpc, sparc,\nsparc64, and arm (all 59 defconfigs).\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f34f924274ad8f84c6d86ea9e52b0682347f5701",
      "tree": "415bebb9cc9ca17f30bacc126d8e62fb0dc0d984",
      "parents": [
        "a4db5fe5dfb3a5b5b550f1acd95ef3de01a3f063"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 16 01:28:34 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:14:01 2007 -0800"
      },
      "message": "[PATCH] knfsd: nfsd4: fix error return on unsupported acl\n\nWe should be returning ATTRNOTSUPP, not NOTSUPP, when acls are unsupported.\n\nAlso fix a comment.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a4db5fe5dfb3a5b5b550f1acd95ef3de01a3f063",
      "tree": "38d4ebad2877789d481185c973dbba449cbaee61",
      "parents": [
        "28e05dd8457c7a7fa1c3faac169a95e0ce4b4a12"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@snoopy.citi.umich.edu",
        "time": "Fri Feb 16 01:28:30 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:14:01 2007 -0800"
      },
      "message": "[PATCH] knfsd: nfsd4: fix memory leak on kmalloc failure in savemem\n\nThe wrong pointer is being kfree\u0027d in savemem() when defer_free returns with\nan error.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "28e05dd8457c7a7fa1c3faac169a95e0ce4b4a12",
      "tree": "850b9db205c45d82706ec283fd13de74c1516630",
      "parents": [
        "575a6290f035b16e3301014d9b176422ec9062bb"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 16 01:28:30 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:14:01 2007 -0800"
      },
      "message": "[PATCH] knfsd: nfsd4: represent nfsv4 acl with array instead of linked list\n\nSimplify the memory management and code a bit by representing acls with an\narray instead of a linked list.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "af6a4e280e3ff453653f39190b57b345ff0bec16",
      "tree": "4895c90613737db7354f43431ed10a55dc0c98f0",
      "parents": [
        "982aedfd091e6d9831216f8519f12242091be4fd"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Feb 14 00:33:12 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 14 08:09:53 2007 -0800"
      },
      "message": "[PATCH] knfsd: add some new fsid types\n\nAdd support for using a filesystem UUID to identify and export point in the\nfilehandle.\n\nFor NFSv2, this UUID is xor-ed down to 4 or 8 bytes so that it doesn\u0027t take up\ntoo much room.  For NFSv3+, we use the full 16 bytes, and possibly also a\n64bit inode number for exports beneath the root of a filesystem.\n\nWhen generating an fsid to return in \u0027stat\u0027 information, use the UUID (hashed\ndown to size) if it is available and a small \u0027fsid\u0027 was not specifically\nprovided.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a0ad13ef643a5829d63c456ab6143bbda60b44a9",
      "tree": "5c8b493fe6db72313eec7e3bf7581134d5f9b826",
      "parents": [
        "45f8bde0d0d6deb168b45998c72b4fbeb2f57efb"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 26 00:57:10 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jan 26 13:51:00 2007 -0800"
      },
      "message": "[PATCH] knfsd: Fix type mismatch with filldir_t used by nfsd\n\nnfsd defines a type \u0027encode_dent_fn\u0027 which is much like \u0027filldir_t\u0027 except\nthat the first pointer is \u0027struct readdir_cd *\u0027 rather than \u0027void *\u0027.  It\nthen casts encode_dent_fn points to \u0027filldir_t\u0027 as needed.  This hides any\nother type mismatches between the two such as the fact that the \u0027ino\u0027 arg\nrecently changed from ino_t to u64.\n\nSo: get rid of \u0027encode_dent_fn\u0027, get rid of the cast of the function type,\nchange the first arg of various functions from \u0027struct readdir_cd *\u0027 to\n\u0027void *\u0027, and live with the fact that we have a little less type checking\non the calling of these functions now.  Less internal (to nfsd) checking\noffset by more external checking, which is more important.\n\nThanks to Gabriel Paubert \u003cpaubert@iram.es\u003e for discovering this and\nproviding an initial patch.\n\nSigned-off-by: Gabriel Paubert \u003cpaubert@iram.es\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "021d3a72459191a76e8e482ee4937ba6bc9fd712",
      "tree": "91ce9262bac94a50f069016dae9ef8b4d88c8816",
      "parents": [
        "6899320c2cefe5ae6b606f820ba8b762ba21f34a"
      ],
      "author": {
        "name": "J.Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Wed Dec 13 00:35:24 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 13 09:05:54 2006 -0800"
      },
      "message": "[PATCH] knfsd: nfsd4: handling more nfsd_cross_mnt errors in nfsd4 readdir\n\nThis patch on its own causes no change in behavior, since nfsd_cross_mnt()\nonly returns -EAGAIN; but in the future I\u0027d like it to also be able to return\n-ETIMEDOUT, so we may as well handle any possible error here.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b8dd7b9ab194d9ab322881f49fde42954757efae",
      "tree": "2709bca272730c061faee95bbbcac12343968de3",
      "parents": [
        "c4d987ba841dff4b2fc768e52d1d95af83f9f157"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Thu Oct 19 23:29:01 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 20 10:26:43 2006 -0700"
      },
      "message": "[PATCH] nfsd: NFSv4 errno endianness annotations\n\ndon\u0027t use the same variable to store NFS and host error values\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b37ad28bcaa7c486a4ff0fb6c3bdaaacd67b86ce",
      "tree": "17bb3677f3e63dc469b64a123a74cee0266768df",
      "parents": [
        "6264d69d7df654ca64f625e9409189a0e50734e9"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Thu Oct 19 23:28:59 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 20 10:26:42 2006 -0700"
      },
      "message": "[PATCH] nfsd: nfs4 code returns error values in net-endian\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2ebbc012a9433a252be7ab4ce54e94bf7b21e506",
      "tree": "daedb0484892bf3d8f7df42836de7b62391c1c3f",
      "parents": [
        "91f07168cef8e99dd16f608fbc703e7a5af0237f"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Thu Oct 19 23:28:58 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 20 10:26:41 2006 -0700"
      },
      "message": "[PATCH] xdr annotations: NFSv4 server\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cc45f0175088e000ac7493e5e3f05579b6f7d240",
      "tree": "cc53e59824097b45a39ca332b3451aedc43d4fe2",
      "parents": [
        "b7766da7f7395b74dec9e52005b7dac0d09391a4"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Thu Oct 19 23:28:44 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 20 10:26:39 2006 -0700"
      },
      "message": "[PATCH] bug: nfsd/nfs4xdr.c misuse of ERR_PTR()\n\n\ta) ERR_PTR(nfserr_something) is a bad idea;\nIS_ERR() will be false for it.\n\tb) mixing nfserr_.... with -EOPNOTSUPP is\neven worse idea.\n\nnfsd4_path() does both; caller expects to get NFS protocol error out it if\nanything goes wrong, but if it does we either do not notice (see (a)) or get\nhost-endian negative (see (b)).\n\nIOW, that\u0027s a case when we can\u0027t use ERR_PTR() to return error, even though we\nreturn a pointer in case of success.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "42ca09938157105c1f573c831a35e9c3e02eb354",
      "tree": "61533863e1adb46016015a347c70517ae9b10d3f",
      "parents": [
        "81c3f4130202a1dcb2b28ab56684eb5e9d43d8c1"
      ],
      "author": {
        "name": "J.Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Wed Oct 04 02:16:20 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:23 2006 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: actually use all the pieces to implement referrals\n\nUse all the pieces set up so far to implement referral support, allowing\nreturn of NFS4ERR_MOVED and fs_locations attribute.\n\nSigned-off-by: Manoj Naik \u003cmanoj@almaden.ibm.com\u003e\nSigned-off-by: Fred Isaman \u003ciisaman@citi.umich.edu\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "81c3f4130202a1dcb2b28ab56684eb5e9d43d8c1",
      "tree": "66f473d1a2bd63c60af47613c5ddb41339f18e07",
      "parents": [
        "933469190ed5915b0568bc564346bb8db718f460"
      ],
      "author": {
        "name": "J.Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Wed Oct 04 02:16:19 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:23 2006 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: xdr encoding for fs_locations\n\nEncode fs_locations attribute.\n\nSigned-off-by: Manoj Naik \u003cmanoj@almaden.ibm.com\u003e\nSigned-off-by: Fred Isaman \u003ciisaman@citi.umich.edu\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7adae489fe794e3e203ff168595f635d0b845e59",
      "tree": "f20544b72bdaea7cff0d340b5b4e5bfcaf2ce8fb",
      "parents": [
        "3cc03b164cf01c6f36e64720b58610d292fb26f7"
      ],
      "author": {
        "name": "Greg Banks",
        "email": "gnb@melbourne.sgi.com",
        "time": "Wed Oct 04 02:15:47 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:16 2006 -0700"
      },
      "message": "[PATCH] knfsd: Prepare knfsd for support of rsize/wsize of up to 1MB, over TCP\n\nThe limit over UDP remains at 32K.  Also, make some of the apparently\narbitrary sizing constants clearer.\n\nThe biggest change here involves replacing NFSSVC_MAXBLKSIZE by a function of\nthe rqstp.  This allows it to be different for different protocols (udp/tcp)\nand also allows it to depend on the servers declared sv_bufsiz.\n\nNote that we don\u0027t actually increase sv_bufsz for nfs yet.  That comes next.\n\nSigned-off-by: Greg Banks \u003cgnb@melbourne.sgi.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3cc03b164cf01c6f36e64720b58610d292fb26f7",
      "tree": "b558e11a087945ad5b9a1a25483aa2acc8d93fbb",
      "parents": [
        "4452435948424e5322c2a2fefbdc2cf3732cc45d"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Oct 04 02:15:47 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:15 2006 -0700"
      },
      "message": "[PATCH] knfsd: Avoid excess stack usage in svc_tcp_recvfrom\n\n..  by allocating the array of \u0027kvec\u0027 in \u0027struct svc_rqst\u0027.\n\nAs we plan to increase RPCSVC_MAXPAGES from 8 upto 256, we can no longer\nallocate an array of this size on the stack.  So we allocate it in \u0027struct\nsvc_rqst\u0027.\n\nHowever svc_rqst contains (indirectly) an array of the same type and size\n(actually several, but they are in a union).  So rather than waste space, we\nmove those arrays out of the separately allocated union and into svc_rqst to\nshare with the kvec moved out of svc_tcp_recvfrom (various arrays are used at\ndifferent times, so there is no conflict).\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4452435948424e5322c2a2fefbdc2cf3732cc45d",
      "tree": "d2082c68d33298e85298852cafde7999ccca3364",
      "parents": [
        "5680c44632053a6c9464bca43083f01776d318da"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Oct 04 02:15:46 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:15 2006 -0700"
      },
      "message": "[PATCH] knfsd: Replace two page lists in struct svc_rqst with one\n\nWe are planning to increase RPCSVC_MAXPAGES from about 8 to about 256.  This\nmeans we need to be a bit careful about arrays of size RPCSVC_MAXPAGES.\n\nstruct svc_rqst contains two such arrays.  However the there are never more\nthat RPCSVC_MAXPAGES pages in the two arrays together, so only one array is\nneeded.\n\nThe two arrays are for the pages holding the request, and the pages holding\nthe reply.  Instead of two arrays, we can simply keep an index into where the\nfirst reply page is.\n\nThis patch also removes a number of small inline functions that probably\nserver to obscure what is going on rather than clarify it, and opencode the\nneeded functionality.\n\nAlso remove the \u0027rq_restailpage\u0027 variable as it is *always* 0.  i.e.  if the\nresponse \u0027xdr\u0027 structure has a non-empty tail it is always in the same pages\nas the head.\n\n check counters are initilised and incr properly\n check for consistant usage of ++ etc\n maybe extra some inlines for common approach\n general review\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nCc: Magnus Maatta \u003cnovell@kiruna.se\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "73dff8be9ea89df26bfb6a0443ad912de6e7bd00",
      "tree": "d60d4fe0bf5026da8dccb7b9c077c501726c5f32",
      "parents": [
        "14a61442c2203d2a49f2f954bfa9259c0ddac1aa"
      ],
      "author": {
        "name": "Eric Sesterhenn",
        "email": "snakebyte@gmx.de",
        "time": "Tue Oct 03 23:37:14 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Oct 03 23:37:14 2006 +0200"
      },
      "message": "BUG_ON() conversion in fs/nfsd/\n\nThis patch converts an if () BUG(); construct to BUG_ON();\nwhich occupies less space, uses unlikely and is safer when\nBUG() is disabled.\n\nSigned-off-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "726c334223180e3c0197cc980a432681370d4baf",
      "tree": "8327b354bb3dc959a6606051ae6f8d4d035e38a2",
      "parents": [
        "454e2398be9b9fa30433fccc548db34d19aa9958"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jun 23 02:02:58 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:45 2006 -0700"
      },
      "message": "[PATCH] VFS: Permit filesystem to perform statfs with a known root dentry\n\nGive the statfs superblock operation a dentry pointer rather than a superblock\npointer.\n\nThis complements the get_sb() patch.  That reduced the significance of\nsb-\u003es_root, allowing NFS to place a fake root there.  However, NFS does\nrequire a dentry to use as a target for the statfs operation.  This permits\nthe root in the vfsmount to be used instead.\n\nlinux/mount.h has been added where necessary to make allyesconfig build\nsuccessfully.\n\nInterest has also been expressed for use with the FUSE and XFS filesystems.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Al Viro \u003cviro@zeniv.linux.org.uk\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": "bb6e8a9f4005237401a45f1ea43db060ea5f9725",
      "tree": "b1e0b144964691eb3b5ea241a4e686adcba2824c",
      "parents": [
        "6ed6decccf544970664757464cfb67e081775e6a"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Apr 10 22:55:33 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:52 2006 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: fix corruption on readdir encoding with 64k pages\n\nFix corruption on readdir encoding with 64k pages.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6ed6decccf544970664757464cfb67e081775e6a",
      "tree": "9aa6b62856426e5aba7f34b3bbc9b24c87a54b87",
      "parents": [
        "f0e2993e9e73e8f38b05a89c98b9db94fec2199d"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Apr 10 22:55:32 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:52 2006 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: fix corruption of returned data when using 64k pages\n\nIn v4 we grab an extra page just for the padding of returned data.  The\nformula that the rpc server uses to allocate pages for the response doesn\u0027t\ntake into account this extra page.\n\nInstead of adjusting those formulae, we adopt the same solution as v2 and v3,\nand put the \"tail\" data in the same page as the \"head\" data.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b905b7b0a054d2ab3e0c9304def998546c93f6b5",
      "tree": "688aaf8ee7840072a1ea7b4b299068d6e33a1840",
      "parents": [
        "249920527f9e6e5c305538bbf1ea882ee7dc1c06"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Apr 10 22:55:25 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:51 2006 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: better nfs4acl errors\n\nWe\u0027re returning -1 in a few places in the NFSv4\u003c-\u003ePOSIX acl translation code\nwhere we could return a reasonable error.\n\nAlso allows some minor simplification elsewhere.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\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": "34081efc12aaaa12f20e5b59f3cb98ba6e27fb34",
      "tree": "d3aaba6619f0fc3b5ad5d3bd1868bf196bb5d40c",
      "parents": [
        "6c26d08f02f829a833d393c3f1b196538a9ec2c4"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@citi.umich.edu",
        "time": "Wed Jan 18 17:43:40 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jan 18 19:20:27 2006 -0800"
      },
      "message": "[PATCH] nfsd4: Fix bug in rdattr_error return\n\nFix bug in rdattr_error return which causes correct error code to be\noverwritten by nfserr_toosmall.\n\nSigned-off-by: Fred Isaman \u003ciisaman@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3a65588adc4401622b204caa897123e16a4a0318",
      "tree": "a96a8d4a28608b49440062273c70565c1129165d",
      "parents": [
        "8a280510852959c0d51b1d625e90c0491c238368"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jan 18 17:43:19 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jan 18 19:20:24 2006 -0800"
      },
      "message": "[PATCH] nfsd4: rename lk_stateowner\n\nOne of the things that\u0027s confusing about nfsd4_lock is that the lk_stateowner\nfield could be set to either of two different lockowners: the open owner or\nthe lock owner.  Rename to lk_replay_owner and add a comment to make it clear\nthat it\u0027s used for whichever stateowner has its sequence id bumped for replay\ndetection.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f99d49adf527fa6f7a9c42257fa76bca6b8df1e3",
      "tree": "41dddbc336016f9dc9557cdb15300de5e599dac1",
      "parents": [
        "6044ec8882c726e325017bd948aa0cd94ad33abc"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Mon Nov 07 01:01:34 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 07:54:06 2005 -0800"
      },
      "message": "[PATCH] kfree cleanup: fs\n\nThis is the fs/ part of the big kfree cleanup patch.\n\nRemove pointless checks for NULL prior to calling kfree() in fs/.\n\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e34ac862ee6644378bfe6ea65c2e0dda4545513d",
      "tree": "a538b6b872e3f814c1bc6df461cb64d3b4794fc8",
      "parents": [
        "4c4cd222ee329025840bc2f8cebf71d36c62440c"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jul 07 17:59:30 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 07 18:24:11 2005 -0700"
      },
      "message": "[PATCH] nfsd4: fix fh_expire_type\n\nAfter discussion at the recent NFSv4 bake-a-thon, I realized that my\nassumption that NFS4_FH_PERSISTENT required filehandles to persist was a\nmisreading of the spec.  This also fixes an interoperability problem with the\nSolaris client.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7fb64cee34f5dc743f697041717cafda8a94b5ac",
      "tree": "5b4e7b67cff7d64a46024036d0033f0d3e05b857",
      "parents": [
        "bd9aac523b812d58e644fde5e59f5697fb9e3822"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jul 07 17:59:20 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 07 18:24:09 2005 -0700"
      },
      "message": "[PATCH] nfsd4: seqid comments\n\nAdd some comments on the use of so_seqid, in an attempt to avoid some of the\nconfusion outlined in the previous patch....\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bd9aac523b812d58e644fde5e59f5697fb9e3822",
      "tree": "a3adb8ac833a8e776cca8df91e96f85aa28e81c6",
      "parents": [
        "893f87701c9e5bd5610dfbb3f8bf1135f86d85cb"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jul 07 17:59:19 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 07 18:24:09 2005 -0700"
      },
      "message": "[PATCH] nfsd4: fix open_reclaim seqid\n\nThe sequence number we store in the sequence id is the last one we received\nfrom the client.  So on the next operation we\u0027ll check that the client gives\nus the next higher number.\n\nWe increment sequence id\u0027s at the last moment, in encode, so that we\u0027re sure\nof knowing the right error return.  (The decision to increment the sequence id\ndepends on the exact error returned.)\n\nHowever on the *first* use of a sequence number, if we set the sequence number\nto the one received from the client and then let the increment happen on\nencode, we\u0027ll be left with a sequence number one to high.\n\nFor that reason, ENCODE_SEQID_OP_TAIL only increments the sequence id on\n*confirmed* stateowners.\n\nThis creates a problem for open reclaims, which are confirmed on first use.\nTherefore the open reclaim code, as a special exception, *decrements* the\nsequence id, cancelling out the undesired increment on encode.  But this\nprevents the sequence id from ever being incremented in the case where\nmultiple reclaims are sent with the same openowner.  Yuch!\n\nWe could add another exception to the open reclaim code, decrementing the\nsequence id only if this is the first use of the open owner.\n\nBut it\u0027s simpler by far to modify the meaning of the op_seqid field: instead\nof representing the previous value sent by the client, we take op_seqid, after\nencoding, to represent the *next* sequence id that we expect from the client.\nThis eliminates the need for special-case handling of the first use of a\nstateowner.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fd39ca9a808c6026989bc2188868a0574eb37108",
      "tree": "9dbb4df308afd32e1a913e3df9c828863c6f98ee",
      "parents": [
        "a76b4319ca85b5e3a8098470c623a272d40271cd"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:04:03 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:33 2005 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: make needlessly global code static\n\nThis patch contains the following possible cleanups:\n\n- make needlessly global code static\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7b190fecfa33d72bcf74c9473134c2ad14ae9545",
      "tree": "94769b846f9d4e38a831f6e343db34bbfdb403bc",
      "parents": [
        "d99a05adf8490cc171b7709554936b8f3ac9e362"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:03:23 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:31 2005 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: delegation recovery\n\nAllow recovery of delegations after reboot.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "496400014f22c4dbdbc1e89249a2feba46939708",
      "tree": "1d05116cef2e6ecfeef9fab0a733a9f2cf2a18e3",
      "parents": [
        "0dd3c19212961453817f219cd6200981c38564bc"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:02:58 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:28 2005 -0700"
      },
      "message": "[PATCH] nfsd4: fix fh_expire_type\n\nWe\u0027re returning NFS4_FH_NOEXPIRE_WITH_OPEN | NFS4_FH_VOL_RENAME for the\nfh_expire_type attribute.  This is incorrect:\n\t1. The spec actually only allows NOEXPIRE_WITH_OPEN when\n\t   VOLATILE_ANY is also set.\n\t2. Filehandles for open files can expire, if the file is removed\n\t   and there is a reboot.\n\t3. Filehandles are only volatile on rename in the nosubtree check\n\t   case.\n\nUnfortunately, there\u0027s no way to indicate that we only expire on remove.  So\nour only choice is FH4_VOLATILE_ANY.  Although it\u0027s redundant, we also set\nFH4_VOL_RENAME in the subtree check case, since subtreecheck does actually\ncause problems in practice and it seems possibly useful to give clients some\nway to distinguish that case.\n\nFix a mispelled #define while we\u0027re at it.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\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"
    }
  ]
}
