)]}'
{
  "log": [
    {
      "commit": "63e9b66e29357dd12e8b1d3ebf7036e7591f81e3",
      "tree": "5aa6a70a8f4bbf306e2825a1e2fa2660c2c1c187",
      "parents": [
        "687fcdf741e4a268c2c7bac8b3734de761bb9719",
        "ea339d46b93c7b16e067a29aad1812f7a389815a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 02 14:31:28 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 02 14:31:28 2008 +1100"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-linus\u0027 of git://linux-nfs.org/~bfields/linux: (100 commits)\n  SUNRPC: RPC program information is stored in unsigned integers\n  SUNRPC: Move exported symbol definitions after function declaration part 2\n  NLM: tear down RPC clients in nlm_shutdown_hosts\n  SUNRPC: spin svc_rqst initialization to its own function\n  nfsd: more careful input validation in nfsctl write methods\n  lockd: minor log message fix\n  knfsd: don\u0027t bother mapping putrootfh enoent to eperm\n  rdma: makefile\n  rdma: ONCRPC RDMA protocol marshalling\n  rdma: SVCRDMA sendto\n  rdma: SVCRDMA recvfrom\n  rdma: SVCRDMA Core Transport Services\n  rdma: SVCRDMA Transport Module\n  rdma: SVCRMDA Header File\n  svc: Add svc_xprt_names service to replace svc_sock_names\n  knfsd: Support adding transports by writing portlist file\n  svc: Add svc API that queries for a transport instance\n  svc: Add /proc/sys/sunrpc/transport files\n  svc: Add transport hdr size for defer/revisit\n  svc: Move the xprt independent code to the svc_xprt.c file\n  ...\n"
    },
    {
      "commit": "d801b861681116ea23a7fb87a70bf463d29c8b9c",
      "tree": "dcc35c5c93461c452942fe5954badd034d8a2939",
      "parents": [
        "0113ab34644649aceaac37ef4b7e5c7d5c183be3"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jan 29 10:30:55 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:15 2008 -0500"
      },
      "message": "NLM: tear down RPC clients in nlm_shutdown_hosts\n\nIt\u0027s possible for a RPC to outlive the lockd daemon that created it, so\nwe need to make sure that all RPC\u0027s are killed when lockd is coming\ndown. When nlm_shutdown_hosts is called, kill off all RPC tasks\nassociated with the host. Since we need to wait until they have all gone\naway, we might as well just shut down the RPC client altogether.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "87d26ea7771ad637035e6bd5a2700d81ee9162da",
      "tree": "c1da6cd6fe03bfadb3276bd30423c7d4b105ef41",
      "parents": [
        "50431d94e732ba71b66a83c5435890728e313095"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jan 22 17:40:42 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:15 2008 -0500"
      },
      "message": "nfsd: more careful input validation in nfsctl write methods\n\nNeil Brown points out that we\u0027re checking buf[size-1] in a couple places\nwithout first checking whether size is zero.\n\nActually, given the implementation of simple_transaction_get(), buf[-1]\nis zero, so in both of these cases the subsequent check of the value of\nbuf[size-1] will catch this case.\n\nBut it seems fragile to depend on that, so add explicit checks for this\ncase.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "50431d94e732ba71b66a83c5435890728e313095",
      "tree": "4bee956a3f089aac02eafafcbc4a03c138696e6d",
      "parents": [
        "f7b8066f9ff68016489ff6f9fb358aa59bd14e1b"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Aug 31 17:09:33 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:15 2008 -0500"
      },
      "message": "lockd: minor log message fix\n\nWendy Cheng noticed that function name doesn\u0027t agree here.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: Wendy Cheng \u003cwcheng@redhat.com\u003e\n"
    },
    {
      "commit": "f7b8066f9ff68016489ff6f9fb358aa59bd14e1b",
      "tree": "cf4e6e2d0cefcd9dcd44a65b11f5fcfb28c497c9",
      "parents": [
        "4b8449af75fa2e2d9736ec503a818be626a4e763"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Jan 21 12:20:45 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:15 2008 -0500"
      },
      "message": "knfsd: don\u0027t bother mapping putrootfh enoent to eperm\n\nNeither EPERM and ENOENT map to valid errors for PUTROOTFH according to\nrfc 3530, and, if anything, ENOENT is likely to be slightly more\ninformative; so don\u0027t bother mapping ENOENT to EPERM.  (Probably this\nwas originally done because one likely cause was that there is an fsid\u003d0\nexport but that it isn\u0027t permitted to this particular client.  Now that\nwe allow WRONGSEC returns, this is somewhat less likely.)\n\nIn the long term we should work to make this situation less likely,\nperhaps by turning off nfsv4 service entirely in the absence of the\npseudofs root, or constructing a pseudofilesystem root ourselves in the\nkernel as necessary.\n\nThanks to Benny Halevy \u003cbhalevy@panasas.com\u003e for pointing out this\nproblem.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "9571af18fa1e4a431dc6f6023ddbd87d1112fd5d",
      "tree": "d8eafdea71ea1c13fe9c733442d41857e17901ac",
      "parents": [
        "a217813f9067b785241cb7f31956e51d2071703a"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:08:37 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:14 2008 -0500"
      },
      "message": "svc: Add svc_xprt_names service to replace svc_sock_names\n\nCreate a transport independent version of the svc_sock_names function.\n\nThe toclose capability of the svc_sock_names service can be implemented\nusing the svc_xprt_find and svc_xprt_close services.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "a217813f9067b785241cb7f31956e51d2071703a",
      "tree": "5bda9ab6a461562975506d2100b16db19e3e628b",
      "parents": [
        "7fcb98d58cb4d18af6386f71025fc5192f25fbca"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:08:35 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:13 2008 -0500"
      },
      "message": "knfsd: Support adding transports by writing portlist file\n\nUpdate the write handler for the portlist file to allow creating new\nlistening endpoints on a transport. The general form of the string is:\n\n\u003ctransport_name\u003e\u003cspace\u003e\u003cport number\u003e\n\nFor example:\n\necho \"tcp 2049\" \u003e /proc/fs/nfsd/portlist\n\nThis is intended to support the creation of a listening endpoint for\nRDMA transports without adding #ifdef code to the nfssvc.c file.\n\nTransports can also be removed as follows:\n\n\u0027-\u0027\u003ctransport_name\u003e\u003cspace\u003e\u003cport number\u003e\n\nFor example:\n\necho \"-tcp 2049\" \u003e /proc/fs/nfsd/portlist\n\nAttempting to add a listener with an invalid transport string results\nin EPROTONOSUPPORT and a perror string of \"Protocol not supported\".\n\nAttempting to remove an non-existent listener (.e.g. bad proto or port)\nresults in ENOTCONN and a perror string of\n\"Transport endpoint is not connected\"\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "7fcb98d58cb4d18af6386f71025fc5192f25fbca",
      "tree": "7ccd884928c644cebd717306937565fbcdc9dd88",
      "parents": [
        "dc9a16e49dbba3dd042e6aec5d9a7929e099a89b"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:08:33 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:13 2008 -0500"
      },
      "message": "svc: Add svc API that queries for a transport instance\n\nAdd a new svc function that allows a service to query whether a\ntransport instance has already been created. This is used in lockd\nto determine whether or not a transport needs to be created when\na lockd instance is brought up.\n\nSpecifying 0 for the address family or port is effectively a wild-card,\nand will result in matching the first transport in the service\u0027s list\nthat has a matching class name.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "7a18208383ab3f3ce4a1f4e0536acc9372523d81",
      "tree": "851a1cc29d753297c2e7cf4cb4a95c4af7868427",
      "parents": [
        "bb5cf160b282644c4491afbf76fbc66f5dc35030"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:53 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:11 2008 -0500"
      },
      "message": "svc: Make close transport independent\n\nMove sk_list and sk_ready to svc_xprt. This involves close because these\nlists are walked by svcs when closing all their transports. So I combined\nthe moving of these lists to svc_xprt with making close transport independent.\n\nThe svc_force_sock_close has been changed to svc_close_all and takes a list\nas an argument. This removes some svc internals knowledge from the svcs.\n\nThis code races with module removal and transport addition.\n\nThanks to Simon Holm Thøgersen for a compile fix.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: Simon Holm Thøgersen \u003codie@cs.aau.dk\u003e\n"
    },
    {
      "commit": "d7c9f1ed972b4a468dd24a2457721704dfe9ca70",
      "tree": "40cd2b38db79df4d90753b58789c3e4bc274095f",
      "parents": [
        "b700cbb11fced2a0e953fdd19eac07ffaad86598"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:44 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:09 2008 -0500"
      },
      "message": "svc: Change services to use new svc_create_xprt service\n\nModify the various kernel RPC svcs to use the svc_create_xprt service.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "54ca95eb362d6988a577965ffb77c08702adb890",
      "tree": "a18ff136ce9d530eaa90a42831d9b85a91ab6321",
      "parents": [
        "8838dc43d6544570e8969a74ddc4a0d21abffde6"
      ],
      "author": {
        "name": "Oleg Drokin",
        "email": "Oleg.Drokin@Sun.COM",
        "time": "Fri Jan 11 21:57:35 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:07 2008 -0500"
      },
      "message": "Leak in nlmsvc_testlock for async GETFL case\n\nFix nlm_block leak for the case of supplied blocking lock info.\n\nSigned-off-by: Oleg Drokin \u003cgreen@linuxhacker.ru\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "8838dc43d6544570e8969a74ddc4a0d21abffde6",
      "tree": "f3082dd80293fe5279d8ff993d2e0c17a0a2f2b4",
      "parents": [
        "b39c18fce003bb2d5a51a4734d8fdd2c81fa1a78"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Jan 14 13:12:19 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:07 2008 -0500"
      },
      "message": "nfsd4: clean up access_valid, deny_valid checks.\n\nDocument these checks a little better and inline, as suggested by Neil\nBrown (note both functions have two callers).  Remove an obviously bogus\ncheck while we\u0027re there (checking whether unsigned value is negative).\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "5c002b3bb294a637312cab7ad92a0deafa05a758",
      "tree": "0183f792fe61fe1bb6a117baf385020feb5b085c",
      "parents": [
        "29dbf546159f5701e11de26fa2da5c4a962e0f83"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Nov 30 16:55:23 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:07 2008 -0500"
      },
      "message": "nfsd: allow root to set uid and gid on create\n\nThe server silently ignores attempts to set the uid and gid on create.\nBased on the comment, this appears to have been done to prevent some\noverly-clever IRIX client from causing itself problems.\n\nPerhaps we should remove that hack completely.  For now, at least, it\nmakes sense to allow root (when no_root_squash is set) to set uid and\ngid.\n\nWhile we\u0027re there, since nfsd_create and nfsd_create_v3 share the same\nlogic, pull that out into a separate function.  And spell out the\nindividual modifications of ia_valid instead of doing them both at once\ninside a conditional.\n\nThanks to Roger Willcocks \u003croger@filmlight.ltd.uk\u003e for the bug report\nand original patch on which this is based.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "29dbf546159f5701e11de26fa2da5c4a962e0f83",
      "tree": "1dcdd1785445cbbf30a159a15b7b1d77f42c51c2",
      "parents": [
        "406a7ea97d9dc1a9348ba92c4cd0e7c678185c4c"
      ],
      "author": {
        "name": "Oleg Drokin",
        "email": "Oleg.Drokin@Sun.COM",
        "time": "Thu Nov 29 14:02:21 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:06 2008 -0500"
      },
      "message": "lockd: fix a leak in nlmsvc_testlock asynchronous request handling\n\nWithout the patch, there is a leakage of nlmblock structure refcount\nthat holds a reference nlmfile structure, that holds a reference to\nstruct file, when async GETFL is used (-EINPROGRESS return from\nfile_ops-\u003elock()), and also in some error cases.\n\nFix up a style nit while we\u0027re here.\n\nSigned-off-by: Oleg Drokin \u003cgreen@linuxhacker.ru\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\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": "39325bd03fc16d903f1e0f51104436d939899c8c",
      "tree": "de63f3c58a3b82d26223e4dfdda1a98570c5a84a",
      "parents": [
        "b7e6b86948df8d08d420558212e09eb449be9bfa"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Nov 26 17:06:39 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:06 2008 -0500"
      },
      "message": "nfsd4: fix bad seqid on lock request incompatible with open mode\n\nThe failure to return a stateowner from nfs4_preprocess_seqid_op() means\nin the case where a lock request is of a type incompatible with an open\n(due to, e.g., an application attempting a write lock on a file open for\nread), means that fs/nfsd/nfs4xdr.c:ENCODE_SEQID_OP_TAIL() never bumps\nthe seqid as it should.  The client, attempting to close the file\nafterwards, then gets an (incorrect) bad sequence id error.  Worse, this\nprevents the open file from ever being closed, so we leak state.\n\nThanks to Benny Halevy and Trond Myklebust for analysis, and to Steven\nWilton for the report and extensive data-gathering.\n\nCc: Benny Halevy \u003cbhalevy@panasas.com\u003e\nCc: Steven Wilton \u003csteven.wilton@team.eftel.com.au\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "b7e6b86948df8d08d420558212e09eb449be9bfa",
      "tree": "b9bce0e95a93a6b9142b55c647fb0fbe163a2130",
      "parents": [
        "404ec117be5d36e1a4c4582d0c518594333e32df"
      ],
      "author": {
        "name": "Oleg Drokin",
        "email": "green@linuxhacker.ru",
        "time": "Mon Nov 26 13:35:11 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:06 2008 -0500"
      },
      "message": "lockd: fix reference count leaks in async locking case\n\nIn a number of places where we wish only to translate nlm_drop_reply to\nrpc_drop_reply errors we instead return early with rpc_drop_reply,\nskipping some important end-of-function cleanup.\n\nThis results in reference count leaks when lockd is doing posix locking\non GFS2.\n\nSigned-off-by: Oleg Drokin \u003cgreen@linuxhacker.ru\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "404ec117be5d36e1a4c4582d0c518594333e32df",
      "tree": "cdae7b67f896c93130a6a669ca65cffc94079b07",
      "parents": [
        "35bba9a37e68c68a820a1a772f016255c0838f79"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Nov 23 22:26:18 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:06 2008 -0500"
      },
      "message": "nfsd4: recognize callback channel failure earlier\n\nWhen the callback channel fails, we inform the client of that by\nreturning a cb_path_down error the next time it tries to renew its\nlease.\n\nIf we wait most of a lease period before deciding that a callback has\nfailed and that the callback channel is down, then we decrease the\nchances that the client will find out in time to do anything about it.\n\nSo, mark the channel down as soon as we recognize that an rpc has\nfailed.  However, continue trying to recall delegations anyway, in hopes\nit will come back up.  This will prevent more delegations from being\ngiven out, and ensure cb_path_down is returned to renew calls earlier,\nwhile still making the best effort to deliver recalls of existing\ndelegations.\n\nAlso fix a couple comments and remove a dprink that doesn\u0027t seem likely\nto be useful.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "35bba9a37e68c68a820a1a772f016255c0838f79",
      "tree": "d858441a8afb4197ef414b9826279b351c843803",
      "parents": [
        "5ec7b46c2f4a6f5e136188d598a3f9912ca922e9"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Nov 21 22:07:08 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:06 2008 -0500"
      },
      "message": "nfsd4: miscellaneous nfs4state.c style fixes\n\nFix various minor style violations.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "5ec7b46c2f4a6f5e136188d598a3f9912ca922e9",
      "tree": "4bfd4cb5faeba04203db8a011f8b358fb719118c",
      "parents": [
        "99d965eda736b839a63fe85438ee03a0f660053c"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Nov 21 21:58:56 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:06 2008 -0500"
      },
      "message": "nfsd4: make current_clientid local\n\nDeclare this variable in the one function where it\u0027s used, and clean up\nsome minor style problems.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "99d965eda736b839a63fe85438ee03a0f660053c",
      "tree": "914a6bdd17350fce73f3313fbdfd990500861c67",
      "parents": [
        "366e0c1d9116ed03320779ecf9c162204f4c712e"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Nov 21 14:10:07 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:06 2008 -0500"
      },
      "message": "nfsd: fix encode_entryplus_baggage() indentation\n\nFix bizarre indentation.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "366e0c1d9116ed03320779ecf9c162204f4c712e",
      "tree": "5610f88a5a98d1ba4544d7ed18a9d497f3c63228",
      "parents": [
        "f3aba4e5a1b963c8bd43394cb15fb9fb6a229cd2"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Nov 20 15:54:10 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:06 2008 -0500"
      },
      "message": "nfsd4: kill unneeded cl_confirm check\n\nWe generate a unique cl_confirm for every new client; so if we\u0027ve\nalready checked that this cl_confirm agrees with the cl_confirm of\nunconf, then we already know that it does not agree with the cl_confirm\nof conf.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "f3aba4e5a1b963c8bd43394cb15fb9fb6a229cd2",
      "tree": "9d4ad0e722f4266bac28450ca7a511eee9c22a5f",
      "parents": [
        "f394baad139f8a67a40b4246d53d3b818af2eb88"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Nov 20 16:52:07 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:05 2008 -0500"
      },
      "message": "nfsd4: remove unnecessary cl_verifier check from setclientid_confirm\n\nAgain, the only way conf and unconf can have the same clientid is if\nthey were created in the \"probable callback update\" case of setclientid,\nin which case we already know that the cl_verifier fields must agree.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "f394baad139f8a67a40b4246d53d3b818af2eb88",
      "tree": "2f0f37f2803549dcf8011a65b0944e373c1321e0",
      "parents": [
        "deda2faa8e71474c828d8eefc8bc0f19d02062ef"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Nov 20 15:39:07 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:05 2008 -0500"
      },
      "message": "nfsd4: kill unnecessary same_name() in setclientid_confirm\n\nIf conf and unconf are both found in the lookup by cl_clientid, then\nthey share the same cl_clientid.  We always create a unique new\ncl_clientid field when creating a new client--the only exception is the\n\"probable callback update\" case in setclientid, where we copy the old\ncl_clientid from another clientid with the same name.\n\nTherefore two clients with the same cl_client field also always share\nthe same cl_name field, and a couple of the checks here are redundant.\n\nThanks to Simon Holm Thøgersen for a compile fix.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: Simon Holm Thøgersen \u003codie@cs.aau.dk\u003e\n"
    },
    {
      "commit": "deda2faa8e71474c828d8eefc8bc0f19d02062ef",
      "tree": "72344206dd12a189e466cde3b479d6dc5ae09843",
      "parents": [
        "49ba87811f34a0219dc7a373cd24aa68450f2058"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Nov 19 20:31:04 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:05 2008 -0500"
      },
      "message": "nfsd: uniquify cl_confirm values\n\nUsing a counter instead of the nanoseconds value seems more likely to\nproduce a unique cl_confirm.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "49ba87811f34a0219dc7a373cd24aa68450f2058",
      "tree": "c0e50e1378d002c5346451f3bf0aa031f893ff20",
      "parents": [
        "a186e767473bd329122f0229b91573b9b6fa43c1"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Nov 19 19:09:50 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:05 2008 -0500"
      },
      "message": "nfsd: eliminate final bogus case from setclientid logic\n\nWe\u0027re supposed to generate a different cl_confirm verifier for each new\nclient, so these to cl_confirm values should never be the same.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "a186e767473bd329122f0229b91573b9b6fa43c1",
      "tree": "6da5778f93eb11c706b9ae202769cf883f17548c",
      "parents": [
        "1f69f172c73a2bf0bf55da9346da8dccea9035cf"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Nov 20 16:11:27 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:05 2008 -0500"
      },
      "message": "nfsd4: kill some unneeded setclientid comments\n\nMost of these comments just summarize the code.\n\nThe matching of code to the cases described in the RFC may still be\nuseful, though; add specific section references to make that easier to\nfollow.  Also update references to the outdated RFC 3010.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "1f69f172c73a2bf0bf55da9346da8dccea9035cf",
      "tree": "4e0f04634415052ef0978168b6b737565b3f36bd",
      "parents": [
        "2e8138a274d81d87591db0803b1e81f4284ff935"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Nov 15 17:06:58 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:05 2008 -0500"
      },
      "message": "nfsd: minor fs/nfsd/auth.h cleanup\n\nWhile we\u0027re here, let\u0027s remove the redundant (and now wrong) pathname in\nthe comment, and the #ifdef __KERNEL__\u0027s.\n\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "2e8138a274d81d87591db0803b1e81f4284ff935",
      "tree": "3243d448d11cdee1ec4ff2b190509ef70887b566",
      "parents": [
        "dbf847ecb6318d3a22c6758fe39696d00f39063a"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Nov 15 17:05:43 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:05 2008 -0500"
      },
      "message": "nfsd: move nfsd/auth.h into fs/nfsd\n\nThis header is used only in a few places in fs/nfsd, so there seems to\nbe little point to having it in include/.  (Thanks to Robert Day for\npointing this out.)\n\nCc: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "dbf847ecb6318d3a22c6758fe39696d00f39063a",
      "tree": "2b71e776ca98bc94258f3539bd7f0ea53d2733a8",
      "parents": [
        "ffe9386b6e08e7132cb7730025d0ea310e08a182"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Nov 08 17:20:34 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:05 2008 -0500"
      },
      "message": "knfsd: allow cache_register to return error on failure\n\nNewer server features such as nfsv4 and gss depend on proc to work, so a\nfailure to initialize the proc files they need should be treated as\nfatal.\n\nThanks to Andrew Morton for style fix and compile fix in case where\nCONFIG_NFSD_V4 is undefined.\n\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "e331f606a85a2a9e84e9c63c94d43c0517136139",
      "tree": "988f2d450ee49279f7abbce2fdd27801ca24904b",
      "parents": [
        "440bcc592052e42c7050a51489c65e18df4a0636"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Nov 12 17:32:21 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:04 2008 -0500"
      },
      "message": "nfsd: fail init on /proc/fs/nfs/exports creation failure\n\nI assume the reason failure of creation was ignored here was just to\ncontinue support embedded systems that want nfsd but not proc.\n\nHowever, in cases where proc is supported it would be clearer to fail\nentirely than to come up with some features disabled.\n\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "440bcc592052e42c7050a51489c65e18df4a0636",
      "tree": "347d1cfa5df7fde984f26d143eae593ba4b1ad9a",
      "parents": [
        "df95a9d4fb91d819d3fb55dd437056df59e7f15e"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Nov 12 17:09:49 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:04 2008 -0500"
      },
      "message": "nfsd: select CONFIG_PROC_FS in nfsv4 and gss server cases\n\nThe server depends on upcalls under /proc to support nfsv4 and gss.\n\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "df95a9d4fb91d819d3fb55dd437056df59e7f15e",
      "tree": "9c35b2617a202c029803791c19d55a0483d9d225",
      "parents": [
        "d5c3428b2cb26d605fddc4878f4fcc03c23df89f"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Nov 08 16:09:59 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:04 2008 -0500"
      },
      "message": "knfsd: cache unregistration needn\u0027t return error\n\nThere\u0027s really nothing much the caller can do if cache unregistration\nfails.  And indeed, all any caller does in this case is print an error\nand continue.  So just return void and move the printk\u0027s inside\ncache_unregister.\n\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "d5c3428b2cb26d605fddc4878f4fcc03c23df89f",
      "tree": "b476ca0b6709b65044f222912f2fdd2efbdcf297",
      "parents": [
        "26808d3f10b1213bbb6e27d441be40e20ab84611"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Nov 09 14:10:56 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:04 2008 -0500"
      },
      "message": "nfsd: fail module init on reply cache init failure\n\nIf the reply cache initialization fails due to a kmalloc failure,\ncurrently we try to soldier on with a reduced (or nonexistant) reply\ncache.\n\nBetter to just fail immediately: the failure is then much easier to\nunderstand and debug, and it could save us complexity in some later\ncode.  (But actually, it doesn\u0027t help currently because the cache is\nalso turned off in some odd failure cases; we should probably find a\nbetter way to handle those failure cases some day.)\n\nFix some minor style problems while we\u0027re at it, and rename\nnfsd_cache_init() to remove the need for a comment describing it.\n\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "26808d3f10b1213bbb6e27d441be40e20ab84611",
      "tree": "38b2769d479a8cd44f2e242ef1f16b395fdf4997",
      "parents": [
        "46b25895767c606c630a97b03a895934a7a36a70"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Nov 09 13:44:06 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:03 2008 -0500"
      },
      "message": "nfsd: cleanup nfsd module initialization cleanup\n\nHandle the failure case here with something closer to the standard\nkernel style.\n\nDoesn\u0027t really matter for now, but I\u0027d like to add a few more failure\ncases, and then this\u0027ll help.\n\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "46b25895767c606c630a97b03a895934a7a36a70",
      "tree": "94c8c9361fe1d82b3d803e3297eeeb9f4984e62c",
      "parents": [
        "ca2a05aa7c72309ee65164c78fa2be7a5038215e"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Nov 09 12:31:55 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:03 2008 -0500"
      },
      "message": "knfsd: cleanup nfsd4 properly on module init failure\n\nWe forgot to shut down the nfs4 state and idmapping code in this case.\n\nAcked-by: NeilBrown \u003cneilb@suse.de\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": "a628f6675861d979405f751418e924c4ec7d457d",
      "tree": "09281fd445da7841b890a626004abb012c06debd",
      "parents": [
        "9c7544d3a195cde33b3d1e46639b23c221f901db"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Nov 01 16:57:20 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:03 2008 -0500"
      },
      "message": "NFSD: Fix mixed sign comparison in nfs3svc_decode_symlinkargs\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "9c7544d3a195cde33b3d1e46639b23c221f901db",
      "tree": "e7e40b375facc363268be3794f03fea5d2c57c20",
      "parents": [
        "5a022fc8700cadbac373766cf1b5c746ffec7164"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Nov 01 16:57:14 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:03 2008 -0500"
      },
      "message": "NFSD: Use unsigned length argument for decode_pathname\n\nClean up: path name lengths are unsigned on the wire, negative lengths\nare not meaningful natively either.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "5a022fc8700cadbac373766cf1b5c746ffec7164",
      "tree": "9af2b088a6075df55adb5165f790f7de52d29449",
      "parents": [
        "29d5e5553826d05b8ecda51c21787ce85efdef06"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Nov 01 16:57:09 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:03 2008 -0500"
      },
      "message": "NFSD: Adjust filename length argument of nfsd_lookup\n\nClean up: adjust the sign of the length argument of nfsd_lookup and\nnfsd_lookup_dentry, for consistency with recent changes.  NFSD version\n4 callers already pass an unsigned file name length.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "ee1a95b3b3fccf3c825bd95f89a8e006901b03ed",
      "tree": "6b690c38cd2d2e9ef782dc1150d2cfccb205dd2f",
      "parents": [
        "48df020aa17ac95a012ff765b0086ede5996b320"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Nov 01 16:56:58 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:02 2008 -0500"
      },
      "message": "NFSD: Use unsigned length argument for decode_filename\n\nClean up: file name lengths are unsigned on the wire, negative lengths\nare not meaningful natively either.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "48df020aa17ac95a012ff765b0086ede5996b320",
      "tree": "52aa9d1ff1e320ead499bddfe98cb05b06df1311",
      "parents": [
        "e5cff482c78a35b9f149a06aa777a1bd693864fb"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Nov 01 16:56:53 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:02 2008 -0500"
      },
      "message": "NLM: Fix sign of length of NLM variable length strings\n\nAccording to The Open Group\u0027s NLM specification, NLM callers are variable\nlength strings.  XDR variable length strings use an unsigned 32 bit length.\nAnd internally, negative string lengths are not meaningful for the Linux\nNLM implementation.\n\nClean up: Make nlm_lock.len and nlm_reboot.len unsigned integers.  This\nmakes the sign of NLM string lengths consistent with the sign of xdr_netobj\nlengths.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "d4395e03fec0895d01451904b8a2276ceda663c9",
      "tree": "b4dd510ce3aa21a8f055d189e77b8047d162fa2d",
      "parents": [
        "aefa89d178e6dd83889b66d4e800d4d77363900b"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Oct 26 13:32:50 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:01 2008 -0500"
      },
      "message": "knfsd: fix broken length check in nfs4idmap.c\n\nObviously at some point we thought \"error\" represented the length when\npositive.  This appears to be a long-standing typo.\n\nThanks to Prasad Potluri \u003cpvp@us.ibm.com\u003e for finding the problem and\nproposing an earlier version of this patch.\n\nCc: Steve French \u003csmfltc@us.ibm.com\u003e\nCc: Prasad V Potluri \u003cpvp@us.ibm.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "aefa89d178e6dd83889b66d4e800d4d77363900b",
      "tree": "8b4c68d21af0d3342905f6fa58d3af231004a317",
      "parents": [
        "63c86716ea34ad94d52e5b0abbda152574dc42b5"
      ],
      "author": {
        "name": "Prasad P",
        "email": "pvp@us.ibm.com",
        "time": "Wed Oct 24 15:14:32 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:01 2008 -0500"
      },
      "message": "nfsd: Fix inconsistent assignment\n\nDereferenced pointer \"dentry\" without checking and assigned to inode\nin the declaration.\n\n(We could just delete the NULL checks that follow instead, as we never\nget to the encode function in this particular case.  But it takes a\nlittle detective work to verify that fact, so it\u0027s probably safer to\nleave the checks in place.)\n\nCc: Steve French \u003csmfltc@us.ibm.com\u003e\nSigned-off-by: Prasad V Potluri \u003cpvp@us.ibm.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "63c86716ea34ad94d52e5b0abbda152574dc42b5",
      "tree": "c92ceed9f40f43dc79e099a1f3d4da99d6f985b6",
      "parents": [
        "46f8a64bae11f5c9b15b4401f6e9863281999b66"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Oct 25 19:00:26 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:01 2008 -0500"
      },
      "message": "nfsd: move callback rpc_client creation into separate thread\n\nThe whole reason to move this callback-channel probe into a separate\nthread was because (for now) we don\u0027t have an easy way to create the\nrpc_client asynchronously.  But I forgot to move the rpc_create() to the\nspawned thread.  Doh!  Fix that.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "46f8a64bae11f5c9b15b4401f6e9863281999b66",
      "tree": "aea712834e9a12a43772de61c1f6af0dc2ea1b57",
      "parents": [
        "24e1c13c93cbdd05e4b7ea921c0050b036555adc"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Nov 22 13:54:18 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:01 2008 -0500"
      },
      "message": "nfsd4: probe callback channel only once\n\nOur callback code doesn\u0027t actually handle concurrent attempts to probe\nthe callback channel.  Some rethinking of the locking may be required.\nHowever, we can also just move the callback probing to this case.  Since\nthis is the only time a client is \"confirmed\" (and since that can only\nhappen once in the lifetime of a client), this ensures we only probe\nonce.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "0c11b9428f619ab377c92eff2f160a834a6585dd",
      "tree": "35b573715ad5730a77d067486838345132771a7a",
      "parents": [
        "24e1c13c93cbdd05e4b7ea921c0050b036555adc"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jan 10 04:20:52 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Feb 01 14:04:59 2008 -0500"
      },
      "message": "[PATCH] switch audit_get_loginuid() to task_struct *\n\nall callers pass something-\u003eaudit_context\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8084870854fe181996c4aa4f44cb2fabcebf164c",
      "tree": "6958333e62e8000f52ba6d6d9a559faa1248d3c5",
      "parents": [
        "13f09b95a82c46ed608d057b22e0dd18ebfff22a"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Jan 30 12:24:48 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Feb 01 09:26:32 2008 +0100"
      },
      "message": "splice: always updated atime in direct splice\n\nAndre Majorel \u003caym-xunil@teaser.fr\u003e points out that if we only updated\nthe atime when we transfer some data, we deviate from the standard\nof always updating the atime. So change splice to always call\nfile_accessed() even if splice_direct_to_actor() didn\u0027t transfer\nany data.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "75659ca0c10992dcb39258518368a0f6f56e935d",
      "tree": "5d014ceb2f10158061a23d0d976f9a613d85e659",
      "parents": [
        "fbdde7bd274d74729954190f99afcb1e3d9bbfba",
        "2dfe485a2c8afa54cb069fcf48476f6c90ea3fdf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 01 11:45:47 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 01 11:45:47 2008 +1100"
      },
      "message": "Merge branch \u0027task_killable\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc\n\n* \u0027task_killable\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc: (22 commits)\n  Remove commented-out code copied from NFS\n  NFS: Switch from intr mount option to TASK_KILLABLE\n  Add wait_for_completion_killable\n  Add wait_event_killable\n  Add schedule_timeout_killable\n  Use mutex_lock_killable in vfs_readdir\n  Add mutex_lock_killable\n  Use lock_page_killable\n  Add lock_page_killable\n  Add fatal_signal_pending\n  Add TASK_WAKEKILL\n  exit: Use task_is_*\n  signal: Use task_is_*\n  sched: Use task_contributes_to_load, TASK_ALL and TASK_NORMAL\n  ptrace: Use task_is_*\n  power: Use task_is_*\n  wait: Use TASK_NORMAL\n  proc/base.c: Use task_is_*\n  proc/array.c: Use TASK_REPORT\n  perfmon: Use task_is_*\n  ...\n\nFixed up conflicts in NFS/sunrpc manually..\n"
    },
    {
      "commit": "f389e9fcecdec4c4cb890ad28ea30a87a579ec3e",
      "tree": "a26a94886ca384da320bb972fed56fcaf7722512",
      "parents": [
        "2419505acc479d2f1feed94d195b0554a64269a4",
        "0fe410d3f3b1496190f37ef74cd089229cef97fa"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 31 09:29:31 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 31 09:29:31 2008 +1100"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm: (21 commits)\n  dlm: static initialization improvements\n  dlm: clean ups\n  dlm: Sanity check namelen before copying it\n  dlm: keep cached master rsbs during recovery\n  dlm: change error message to debug\n  dlm: fix possible use-after-free\n  dlm: limit dir lookup loop\n  dlm: reject normal unlock when lock is waiting for lookup\n  dlm: validate messages before processing\n  dlm: reject messages from non-members\n  dlm: another call to confirm_master in receive_request_reply\n  dlm: recover locks waiting for overlap replies\n  dlm: clear ast_type when removing from astqueue\n  dlm: use fixed errno values in messages\n  dlm: swap bytes for rcom lock reply\n  dlm: align midcomms message buffer\n  dlm: close othercons\n  dlm: use dlm prefix on alloc and free functions\n  dlm: don\u0027t print common non-errors\n  dlm: proper prototypes\n  ...\n"
    },
    {
      "commit": "0fe410d3f3b1496190f37ef74cd089229cef97fa",
      "tree": "b2f931b89348c45be3f8476f2b005464817e335a",
      "parents": [
        "dbcfc34733d1ae37e7a78c9e4e5325451223a5eb"
      ],
      "author": {
        "name": "Denis Cheng",
        "email": "crquan@gmail.com",
        "time": "Tue Jan 29 13:50:16 2008 +0800"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Jan 30 11:04:43 2008 -0600"
      },
      "message": "dlm: static initialization improvements\n\nalso change name_prefix from char pointer to char array.\n\nSigned-off-by: Denis Cheng \u003ccrquan@gmail.com\u003e\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "dbcfc34733d1ae37e7a78c9e4e5325451223a5eb",
      "tree": "e7087494c66d414f0af5068f8ad715f71ea1a3b8",
      "parents": [
        "2a79289e87f3b6487b5fd23c8569f32097057fb4"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Tue Jan 29 14:52:10 2008 -0600"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Jan 30 11:04:43 2008 -0600"
      },
      "message": "dlm: clean ups\n\nA couple small clean-ups.  Remove unnecessary wrapper-functions in\nrcom.c, and remove unnecessary casting and an unnecessary ASSERT in\nutil.c.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "2a79289e87f3b6487b5fd23c8569f32097057fb4",
      "tree": "3b099a7b7306ee99fcb272e260b7344d34fdc666",
      "parents": [
        "85f0379aa0f9366bb6918e2e898a915231176fbd"
      ],
      "author": {
        "name": "Patrick Caulfeld",
        "email": "pcaulfie@redhat.com",
        "time": "Thu Jan 17 10:25:28 2008 +0000"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Jan 30 11:04:43 2008 -0600"
      },
      "message": "dlm: Sanity check namelen before copying it\n\nThe 32/64 compatibility code in the DLM does not check the validity of\nthe lock name length passed into it, so it can easily overwrite memory\nif the value is rubbish (as early versions of libdlm can cause with\nunlock calls, it doesn\u0027t zero the field).\n\nThis patch restricts the length of the name to the amount of data\nactually passed into the call.\n\nSigned-off-by: Patrick Caulfield \u003cpcaulfie@redhat.com\u003e\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "85f0379aa0f9366bb6918e2e898a915231176fbd",
      "tree": "359544ba2ad34c1e49d4e6333b7c36cf8c7685f5",
      "parents": [
        "594199ebaae5d77f025974dfcfa6651cc81325a8"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Jan 16 13:02:31 2008 -0600"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Jan 30 11:04:43 2008 -0600"
      },
      "message": "dlm: keep cached master rsbs during recovery\n\nTo prevent the master of an rsb from changing rapidly, an unused rsb is kept\non the \"toss list\" for a period of time to be reused.  The toss list was\nbeing cleared completely for each recovery, which is unnecessary.  Much of\nthe benefit of the toss list can be maintained if nodes keep rsb\u0027s in their\ntoss list that they are the master of.  These rsb\u0027s need to be included\nwhen the resource directory is rebuilt during recovery.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "594199ebaae5d77f025974dfcfa6651cc81325a8",
      "tree": "35e4d61197ec8c1cbc63274a3f4e6ad37bc9a265",
      "parents": [
        "ce5246b972f7514af899a63c0faf831d05ed5ee1"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Jan 16 11:03:41 2008 -0600"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Jan 30 11:04:43 2008 -0600"
      },
      "message": "dlm: change error message to debug\n\nThe invalid lockspace messages are normal and can appear relatively\noften.  They should be suppressed without debugging enabled.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "ce5246b972f7514af899a63c0faf831d05ed5ee1",
      "tree": "fe7c58c280bde924f88adf5da2620ecf433293bd",
      "parents": [
        "755b5eb8bac90b35dc901465a06081aaad94e9ae"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Mon Jan 14 15:48:58 2008 -0600"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Jan 30 11:04:42 2008 -0600"
      },
      "message": "dlm: fix possible use-after-free\n\nThe dlm_put_lkb() can free the lkb and its associated ua structure,\nso we can\u0027t depend on using the ua struct after the put.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "755b5eb8bac90b35dc901465a06081aaad94e9ae",
      "tree": "95fcee45218437aa2fbc17642feece9310f25abe",
      "parents": [
        "42dc1601a9a31e8da767a4a9c37bad844b3698ab"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Jan 09 10:37:39 2008 -0600"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Jan 30 11:04:42 2008 -0600"
      },
      "message": "dlm: limit dir lookup loop\n\nIn a rare case we may need to repeat a local resource directory lookup\ndue to a race with removing the rsb and removing the resdir record.\nWe\u0027ll never need to do more than a single additional lookup, though,\nso the infinite loop around the lookup can be removed.  In addition\nto being unnecessary, the infinite loop is dangerous since some other\nunknown condition may appear causing the loop to never break.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "42dc1601a9a31e8da767a4a9c37bad844b3698ab",
      "tree": "9dad1fcde32f07438a3eec34d6b4d2497ba6082d",
      "parents": [
        "c54e04b00fe027da30ada5af76b6749772dd644a"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Jan 09 10:30:45 2008 -0600"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Jan 30 11:04:42 2008 -0600"
      },
      "message": "dlm: reject normal unlock when lock is waiting for lookup\n\nNon-forced unlocks should be rejected if the lock is waiting on the\nrsb_lookup list for another lock to establish the master node.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "c54e04b00fe027da30ada5af76b6749772dd644a",
      "tree": "753945bb24638e9798220b2880650b4ba3211e40",
      "parents": [
        "46b43eed7018bab3a4e8c259eed27697b9170cb8"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Jan 09 09:59:41 2008 -0600"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Jan 30 11:04:42 2008 -0600"
      },
      "message": "dlm: validate messages before processing\n\nThere was some hit and miss validation of messages that has now been\ncleaned up and unified.  Before processing a message, the new\nvalidate_message() function checks that the lkb is the appropriate type,\nprocess-copy or master-copy, and that the message is from the correct\nnodeid for the the given lkb.  Other checks and assertions on the\nlkb type and nodeid have been removed.  The assertions were particularly\nbad since they would panic the machine instead of just ignoring the bad\nmessage.\n\nAlthough other recent patches have made processing old message unlikely,\nit still may be possible for an old message to be processed and caught\nby these checks.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "46b43eed7018bab3a4e8c259eed27697b9170cb8",
      "tree": "d5a1c23ba3bb40ff2fcea4e635c72f2a33ff6ba7",
      "parents": [
        "aec64e1be2225c6fc64499594d23257c6adf6168"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Tue Jan 08 16:24:00 2008 -0600"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Jan 30 11:04:42 2008 -0600"
      },
      "message": "dlm: reject messages from non-members\n\nMessages from nodes that are no longer members of the lockspace should be\nignored.  When nodes are removed from the lockspace, recovery can\nsometimes complete quickly enough that messages arrive from a removed node\nafter recovery has completed.  When processed, these messages would often\ncause an error message, and could in some cases change some state, causing\nproblems.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "aec64e1be2225c6fc64499594d23257c6adf6168",
      "tree": "d4aa437666e7b8a04e926d27f5e6f29e0f037715",
      "parents": [
        "601342ce022b964f756b67f2eb99b605c1afa3ed"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Tue Jan 08 15:37:47 2008 -0600"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Jan 30 11:04:42 2008 -0600"
      },
      "message": "dlm: another call to confirm_master in receive_request_reply\n\nWhen a failed request (EBADR or ENOTBLK) is unlocked/canceled instead of\nretried, there may be other lkb\u0027s waiting on the rsb_lookup list for it\nto complete.  A call to confirm_master() is needed to move on to the next\nwaiting lkb since the current one won\u0027t be retried.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "601342ce022b964f756b67f2eb99b605c1afa3ed",
      "tree": "78b8c873dbc41bca33ed23dcf61fbea1572a007c",
      "parents": [
        "8a358ca8e738b6226b004efea462ac28c0a2bbb1"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Mon Jan 07 16:15:05 2008 -0600"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Jan 30 11:04:42 2008 -0600"
      },
      "message": "dlm: recover locks waiting for overlap replies\n\nWhen recovery looks at locks waiting for replies, it fails to consider\nlocks that have already received a reply for their first remote operation,\nbut not received a reply for secondary, overlapping unlock/cancel.  The\nappropriate stub reply needs to be called for these waiters.\n\nAppears when we start doing recovery in the presence of a many overlapping\nunlock/cancel ops.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "8a358ca8e738b6226b004efea462ac28c0a2bbb1",
      "tree": "b604770315d797d907f8aff4bd7c17f26ccf3ae4",
      "parents": [
        "861e2369e9e7e003677f99f22c4d1f05d3ed66d3"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Mon Jan 07 15:55:18 2008 -0600"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Jan 30 11:04:42 2008 -0600"
      },
      "message": "dlm: clear ast_type when removing from astqueue\n\nThe lkb_ast_type field indicates whether the lkb is on the astqueue list.\nWhen clearing locks for a process, lkb\u0027s were being removed from the astqueue\nlist without clearing the field.  If release_lockspace then happened\nimmediately afterward, it could try to remove the lkb from the list a second\ntime.\n\nAppears when process calls libdlm dlm_release_lockspace() which first\ncloses the ls dev triggering clear_proc_locks, and then removes the ls\n(a write to control dev) causing release_lockspace().\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "861e2369e9e7e003677f99f22c4d1f05d3ed66d3",
      "tree": "c0eab73d677c4cd09acf35825d01c9000cd615f5",
      "parents": [
        "550283e30ccec5ddab9749a77b0022ebcaf0f3af"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Tue Jan 15 15:43:24 2008 -0600"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Jan 30 11:04:42 2008 -0600"
      },
      "message": "dlm: use fixed errno values in messages\n\nSome errno values differ across platforms. So if we return things like\n-EINPROGRESS from one node it can get misinterpreted or rejected on\nanother one.\n\nThis patch fixes up the errno values passed on the wire so that they\nmatch the x86 ones (so as not to break the protocol), and re-instates\nthe platform-specific ones at the other end.\n\nMany thanks to Fabio for testing this patch.\nInitial patch from Patrick.\n\nSigned-off-by: Patrick Caulfield \u003cpcaulfie@redhat.com\u003e\nSigned-off-by: Fabio M. Di Nitto \u003cfabbione@ubuntu.com\u003e\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "550283e30ccec5ddab9749a77b0022ebcaf0f3af",
      "tree": "bf95681d9dd4bc866c8ad59d8556578ead753e7a",
      "parents": [
        "e7847d35ac39fe92c94540e88ac3d0e177f52d9e"
      ],
      "author": {
        "name": "Fabio M. Di Nitto",
        "email": "fabbione@ubuntu.com",
        "time": "Tue Jan 15 15:13:36 2008 -0600"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Jan 30 11:04:41 2008 -0600"
      },
      "message": "dlm: swap bytes for rcom lock reply\n\nDLM_RCOM_LOCK_REPLY messages need byte swapping.\n\nSigned-off-by: Fabio M. Di Nitto \u003cfabbione@ubuntu.com\u003e\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "e7847d35ac39fe92c94540e88ac3d0e177f52d9e",
      "tree": "bad098ef7b920e14ac253885510a21c05b6fe22b",
      "parents": [
        "39bd4177ddbeb4c86e854d3d5c4a6a26088e601e"
      ],
      "author": {
        "name": "Fabio M. Di Nitto",
        "email": "fabbione@ubuntu.com",
        "time": "Wed Jan 30 10:56:42 2008 -0600"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Jan 30 11:04:25 2008 -0600"
      },
      "message": "dlm: align midcomms message buffer\n\ngcc does not guarantee that an auto buffer is 64bit aligned.\nThis change allows sparc64 to work.\n\nSigned-off-by: Fabio M. Di Nitto \u003cfabbione@ubuntu.com\u003e\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "612a95b4e053b8a06319049191fd2dce9c970189",
      "tree": "0930c9c7b17b7387bc2b6d54bc687a43f3f89f3c",
      "parents": [
        "f8f76481bc2803aea03ff213c7e1405b53f7e488"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Wed Jan 30 13:33:32 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:33:32 2008 +0100"
      },
      "message": "x86: remove iBCS support\n\nibcs2 support has never been supported on 2.6 kernels as far as I know,\nand if it has it must have been an external patch.  Anyways, if anybody\napplies an external patch they could as well readd the ibcs checking\ncode to the ELF loader in the same patch.  But there is no reason to\nkeep this code running in all Linux kernels.  This will save at least\ntwo strcmps each ELF execution.\n\nNo deprecation period because it could not have been used anyway.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "b9d36d5d000294a128f7f174fe67623a10e29d61",
      "tree": "49550dd227d6d8fac3121ddea0741f302c140780",
      "parents": [
        "2f79e48ae2651fff08d08dab3acf1294467c1155"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Wed Jan 30 13:31:46 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:31:46 2008 +0100"
      },
      "message": "x86: compat_binfmt_elf Kconfig\n\nThis adds Kconfig and Makefile bits to build fs/compat_binfmt_elf.c,\njust added.  Each arch that wants to use this file needs to add a\n\"select COMPAT_BINFMT_ELF\" line in its Kconfig bits that enable COMPAT.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "2f79e48ae2651fff08d08dab3acf1294467c1155",
      "tree": "c93e588f44314e5c939e4fa34d8d88a4f4295236",
      "parents": [
        "bae3f7c39dee5951bcbedeaedb6744f882a00173"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Wed Jan 30 13:31:46 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:31:46 2008 +0100"
      },
      "message": "x86: compat_binfmt_elf\n\nThis adds fs/compat_binfmt_elf.c, a wrapper around fs/binfmt_elf.c for\n32-bit ELF support on 64-bit kernels.  It can replace all the hand-rolled\nversions of this that each 32/64 arch has, which are all about the same.\n\nTo use this, an arch\u0027s asm/elf.h has to define at least a few compat_*\nmacros that parallel the various macros that fs/binfmt_elf.c uses for\nnative support.\n\nThere is no attempt to deal with compat macros for the core dump format\nsupport.  To use this file, the arch has to define compat_gregset_t for\nlinux/elfcore-compat.h and #define CORE_DUMP_USE_REGSET.  The 32-bit\ncompatible formats should come automatically from task_user_regset_view\ncalled on a 32-bit task.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4206d3aa1978e44f58bfa4e1c9d8d35cbf19c187",
      "tree": "53de158bec7e6890ce9a5772f3d04f23e9a29803",
      "parents": [
        "3aba481fc94d83ff630d4b7cd2f7447010c4c6df"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Wed Jan 30 13:31:45 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:31:45 2008 +0100"
      },
      "message": "elf core dump: notes user_regset\n\nThis modifies the ELF core dump code under #ifdef CORE_DUMP_USE_REGSET.\nIt changes nothing when this macro is not defined.  When it\u0027s #define\u0027d\nby some arch header (e.g. asm/elf.h), the arch must support the\nuser_regset (linux/regset.h) interface for reading thread state.\n\nThis provides an alternate version of note segment writing that is based\npurely on the user_regset interfaces.  When CORE_DUMP_USE_REGSET is set,\nthe arch need not define macros such as ELF_CORE_COPY_REGS and ELF_ARCH.\nAll that information is taken from the user_regset data structures.\nThe core dumps come out exactly the same if arch\u0027s definitions for its\nuser_regset details are correct.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "3aba481fc94d83ff630d4b7cd2f7447010c4c6df",
      "tree": "f953d24b736fa9404ad1e8e6138c056f0717a297",
      "parents": [
        "bdf88217b70dbb18c4ee27a6c497286e040a6705"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Wed Jan 30 13:31:44 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:31:44 2008 +0100"
      },
      "message": "elf core dump: notes reorg\n\nThis pulls out the code for writing the notes segment of an ELF core dump\ninto separate functions.  This cleanly isolates into one cluster of\nfunctions everything that deals with the note formats and the hooks into\narch code to fill them.  The top-level elf_core_dump function itself now\ndeals purely with the generic ELF format and the memory segments.\n\nThis only moves code around into functions that can be inlined away.\nIt should not change any behavior at all.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "95c354fe9f7d6decc08a92aa26eb233ecc2155bf",
      "tree": "ec9267032ea875e84216cfb20acb2cfc7c62149f",
      "parents": [
        "a95d67f87e1a5f1b4429be3ba3bf7b4051657908"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Jan 30 13:31:20 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:31:20 2008 +0100"
      },
      "message": "spinlock: lockbreak cleanup\n\nThe break_lock data structure and code for spinlocks is quite nasty.\nNot only does it double the size of a spinlock but it changes locking to\na potentially less optimal trylock.\n\nPut all of that under CONFIG_GENERIC_LOCKBREAK, and introduce a\n__raw_spin_is_contended that uses the lock data itself to determine whether\nthere are waiters on the lock, to be used if CONFIG_GENERIC_LOCKBREAK is\nnot set.\n\nRename need_lockbreak to spin_needbreak, make it use spin_is_contended to\ndecouple it from the spinlock implementation, and make it typesafe (rwlocks\ndo not have any need_lockbreak sites -- why do they even get bloated up\nwith that break_lock then?).\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "56c4da454de1264e381256f658f61b9ef690dd21",
      "tree": "51c57b07cda376f93db3032f24e9a28fba834573",
      "parents": [
        "6b7d190b14d478c759be22dcb7ee4695a711b562"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Jan 30 13:31:17 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:31:17 2008 +0100"
      },
      "message": "core: remove last users of empty FASTCALL macro\n\nFASTCALL is always empty after the x86 removal.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "bb1ad8205be4cb95e3286d7442596da6fd70409f",
      "tree": "b4804d567e4a01186a88d1c22c871197836f0a55",
      "parents": [
        "cc503c1b43e002e3f1fed70f46d947e2bf349bb6"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed Jan 30 13:31:07 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:31:07 2008 +0100"
      },
      "message": "x86: PIE executable randomization, checkpatch fixes\n\n#39: FILE: arch/ia64/ia32/binfmt_elf32.c:229:\n+elf32_map (struct file *filep, unsigned long addr, struct elf_phdr *eppnt, int prot, int type, unsigned long unused)\n\nWARNING: no space between function name and open parenthesis \u0027(\u0027\n#39: FILE: arch/ia64/ia32/binfmt_elf32.c:229:\n+elf32_map (struct file *filep, unsigned long addr, struct elf_phdr *eppnt, int prot, int type, unsigned long unused)\n\nWARNING: line over 80 characters\n#67: FILE: arch/x86/kernel/sys_x86_64.c:80:\n+\t\t\tnew_begin \u003d randomize_range(*begin, *begin + 0x02000000, 0);\n\nERROR: use tabs not spaces\n#110: FILE: arch/x86/kernel/sys_x86_64.c:185:\n+ ^I        mm-\u003ecached_hole_size \u003d 0;$\n\nERROR: use tabs not spaces\n#111: FILE: arch/x86/kernel/sys_x86_64.c:186:\n+ ^I^Imm-\u003efree_area_cache \u003d mm-\u003emmap_base;$\n\nERROR: use tabs not spaces\n#112: FILE: arch/x86/kernel/sys_x86_64.c:187:\n+ ^I}$\n\nERROR: use tabs not spaces\n#141: FILE: arch/x86/kernel/sys_x86_64.c:216:\n+ ^I^I/* remember the largest hole we saw so far */$\n\nERROR: use tabs not spaces\n#142: FILE: arch/x86/kernel/sys_x86_64.c:217:\n+ ^I^Iif (addr + mm-\u003ecached_hole_size \u003c vma-\u003evm_start)$\n\nERROR: use tabs not spaces\n#143: FILE: arch/x86/kernel/sys_x86_64.c:218:\n+ ^I^I        mm-\u003ecached_hole_size \u003d vma-\u003evm_start - addr;$\n\nERROR: use tabs not spaces\n#157: FILE: arch/x86/kernel/sys_x86_64.c:232:\n+  ^Imm-\u003efree_area_cache \u003d TASK_UNMAPPED_BASE;$\n\nERROR: need a space before the open parenthesis \u0027(\u0027\n#291: FILE: arch/x86/mm/mmap_64.c:101:\n+\t} else if(mmap_is_legacy()) {\n\nWARNING: braces {} are not necessary for single statement blocks\n#302: FILE: arch/x86/mm/mmap_64.c:112:\n+\tif (current-\u003eflags \u0026 PF_RANDOMIZE) {\n+\t\tmm-\u003emmap_base +\u003d ((long)rnd) \u003c\u003c PAGE_SHIFT;\n+\t}\n\nWARNING: line over 80 characters\n#314: FILE: fs/binfmt_elf.c:48:\n+static unsigned long elf_map (struct file *, unsigned long, struct elf_phdr *, int, int, unsigned long);\n\nWARNING: no space between function name and open parenthesis \u0027(\u0027\n#314: FILE: fs/binfmt_elf.c:48:\n+static unsigned long elf_map (struct file *, unsigned long, struct elf_phdr *, int, int, unsigned long);\n\nWARNING: line over 80 characters\n#429: FILE: fs/binfmt_elf.c:438:\n+\t\t\t\t\t   eppnt, elf_prot, elf_type, total_size);\n\nERROR: need space after that \u0027,\u0027 (ctx:VxV)\n#480: FILE: fs/binfmt_elf.c:939:\n+\t\t\t\telf_prot, elf_flags,0);\n \t\t\t\t                   ^\n\ntotal: 9 errors, 7 warnings, 461 lines checked\nYour patch has style problems, please review.  If any of these errors\nare false positives report them to the maintainer, see\nCHECKPATCH in MAINTAINERS.\n\nPlease run checkpatch prior to sending patches\n\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: Jakub Jelinek \u003cjakub@redhat.com\u003e\nCc: Jiri Kosina \u003cjkosina@suse.cz\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "cc503c1b43e002e3f1fed70f46d947e2bf349bb6",
      "tree": "df0d77b7bccf0148c7b7cdd0363354499b259f99",
      "parents": [
        "82f74e7159749cc511ebf5954a7b9ea6ad634949"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Jan 30 13:31:07 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:31:07 2008 +0100"
      },
      "message": "x86: PIE executable randomization\n\nmain executable of (specially compiled/linked -pie/-fpie) ET_DYN binaries\nonto a random address (in cases in which mmap() is allowed to perform a\nrandomization).\n\nThe code has been extraced from Ingo\u0027s exec-shield patch\nhttp://people.redhat.com/mingo/exec-shield/\n\n[akpm@linux-foundation.org: fix used-uninitialsied warning]\n[kamezawa.hiroyu@jp.fujitsu.com: fixed ia32 ELF on x86_64 handling]\n\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Jakub Jelinek \u003cjakub@redhat.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c1d171a002942ea2d93b4fbd0c9583c56fce0772",
      "tree": "49249c927dc1644e7c92150808269cb474bdd411",
      "parents": [
        "7b83dae7aa31db4f6d6e78c3c6d490a7ac58699c"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Jan 30 13:30:40 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:40 2008 +0100"
      },
      "message": "x86: randomize brk\n\nRandomize the location of the heap (brk) for i386 and x86_64.  The range is\nrandomized in the range starting at current brk location up to 0x02000000\noffset for both architectures.  This, together with\npie-executable-randomization.patch and\npie-executable-randomization-fix.patch, should make the address space\nrandomization on i386 and x86_64 complete.\n\nArjan says:\n\nThis is known to break older versions of some emacs variants, whose dumper\ncode assumed that the last variable declared in the program is equal to the\nstart of the dynamically allocated memory region.\n\n(The dumper is the code where emacs effectively dumps core at the end of it\u0027s\ncompilation stage; this coredump is then loaded as the main program during\nnormal use)\n\niirc this was 5 years or so; we found this way back when I was at RH and we\nfirst did the security stuff there (including this brk randomization).  It\nwasn\u0027t all variants of emacs, and it got fixed as a result (I vaguely remember\nthat emacs already had code to deal with it for other archs/oses, just\nifdeffed wrongly).\n\nIt\u0027s a rare and wrong assumption as a general thing, just on x86 it mostly\nhappened to be true (but to be honest, it\u0027ll break too if gcc does\nsomething fancy or if the linker does a non-standard order).  Still its\nsomething we should at least document.\n\nNote 2: afaik it only broke the emacs *build*.  I\u0027m not 100% sure about that\n(it IS 5 years ago) though.\n\n[ akpm@linux-foundation.org: deuglification ]\n\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Jakub Jelinek \u003cjakub@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "3fbd67ad61f6d5a09ea717b56c50bc5c3d8042a8",
      "tree": "ffac0a032211517e9d0bc9ff21a09f8c21fdf1c3",
      "parents": [
        "57bfa89171e50cddf51a4f62c90e47c6259857b4"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jan 26 01:06:40 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:06:12 2008 -0500"
      },
      "message": "NFSv4: Iterate through all nfs_clients when the server recalls a delegation\n\nThe same delegation may have been handed out to more than one nfs_client.\nEnsure that if a recall occurs, we return all instances.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "57bfa89171e50cddf51a4f62c90e47c6259857b4",
      "tree": "2c3f6d45a61b4f888544d492d78fedd797001bc8",
      "parents": [
        "6f23e3872cff238589f9bf39c71db2ea880c9a26"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 25 16:38:18 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:06:12 2008 -0500"
      },
      "message": "NFSv4: Deal more correctly with duplicate delegations\n\nIf a (broken?) server hands out two different delegations for the same\nfile, then we should return one of them.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6f23e3872cff238589f9bf39c71db2ea880c9a26",
      "tree": "7b118601dcd65ae2bee7eddbeae6bdd6d64f4423",
      "parents": [
        "e6f810759505bc86c009854b82cc495ffd8eb020"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 25 16:38:17 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:06:12 2008 -0500"
      },
      "message": "NFS: Fix a potential race between umount and nfs_access_cache_shrinker()\n\nThanks to Yawei Niu for spotting the race.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e6f810759505bc86c009854b82cc495ffd8eb020",
      "tree": "1590631fe3b222d49015dd53b421a5547e13e4dc",
      "parents": [
        "99fadcd76465842c014c88b8c9c19b457e9debc0"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jan 24 18:14:34 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:06:12 2008 -0500"
      },
      "message": "NFS: Add an asynchronous delegreturn operation for use in nfs_clear_inode\n\nOtherwise, there is a potential deadlock if the last dput() from an NFSv4\nclose() or other asynchronous operation leads to nfs_clear_inode calling\nthe synchronous delegreturn.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "99fadcd76465842c014c88b8c9c19b457e9debc0",
      "tree": "34b61c6444beacc58bc643285441a553af420dc4",
      "parents": [
        "3a10c30acc4821ca000b52ed0edafd0d3bf26a52"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jan 23 08:59:08 2008 +0200"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:06:11 2008 -0500"
      },
      "message": "nfs: convert NFS_*(inode) helpers to static inline\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3a10c30acc4821ca000b52ed0edafd0d3bf26a52",
      "tree": "535fe870e12f9a032112b16d4e31fe1d813ea2c3",
      "parents": [
        "fc6014771bde8a215a9a4ea24b45f76afeb3c922"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jan 23 08:58:59 2008 +0200"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:06:11 2008 -0500"
      },
      "message": "nfs: obliterate NFS_FLAGS macro\n\nuse NFS_I(inode)-\u003eflags instead\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fc6014771bde8a215a9a4ea24b45f76afeb3c922",
      "tree": "60d34b3f1fa44c42a7fd18867531dc915007dfa0",
      "parents": [
        "3d1c550874bcaf0d9b7fb66f601caed109074f4b"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Jan 16 16:38:10 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:06:11 2008 -0500"
      },
      "message": "NFS: Address memory leaks in the NFS client mount option parser\n\nDavid Howells noticed that repeating the same mount option twice during an\nNFS mount request can result in orphaned memory in certain cases.\n\nOnly the client_address and mount_server.hostname strings are initialized\nin the mount parsing loop, so those appear to be the only two pointers that\nmight be written over by repeating a mount option.  The strings in the\nnfs_server section of the nfs_parsed_mount_data structure are set only once\nafter the options are parsed, thus these are not susceptible to being\noverwritten.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3d1c550874bcaf0d9b7fb66f601caed109074f4b",
      "tree": "d3517a859cfd433ebe08f6d204d84d03581070ee",
      "parents": [
        "f3c391e89c92651105364c6645244118ec9b3952"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jan 15 16:43:19 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:06:10 2008 -0500"
      },
      "message": "nfs4: allow nfsv4 acls on non-regular-files\n\nThe rfc doesn\u0027t give any reason it shouldn\u0027t be possible to set an\nattribute on a non-regular file.  And if the server supports it, then it\nshouldn\u0027t be up to us to prevent it.\n\nThanks to Erez for the report and Trond for further analysis.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nTested-by: Erez Zadok \u003cezk@cs.sunysb.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f3c391e89c92651105364c6645244118ec9b3952",
      "tree": "248ea7f3f5244b4f00acc8b1f36c57324b61ff31",
      "parents": [
        "34f5b4662bf4b54f22b32ce76ce70eccd7ebc68a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 15 14:17:12 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:06:10 2008 -0500"
      },
      "message": "NFS: Optimise away the sigmask code in aio/dio reads and writes\n\nThere are no interruptible waits for asynchronous RPC tasks, so we don\u0027t\nneed to wrap calls to rpc_run_task() with an\nrpc_clnt_sigmask/rpc_clnt_unsigmask pair.\n\nInstead we can wrap the wait_for_completion_interruptible() in\nnfs_direct_wait(). This means that we completely optimise away sigmask\nsetting for the case of non-blocking aio/dio.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "65fdf7d264213a9a8de44f9a20e002a26c267a76",
      "tree": "c7279d26e01d0d229a8ca7dd4a5667cc8be7f9b3",
      "parents": [
        "883bb163f84e0a54b29846c61621f52db3f27393"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 11 17:41:29 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:06:08 2008 -0500"
      },
      "message": "NLM: Fix a bogus \u0027return\u0027 in nlmclnt_rpc_release\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "883bb163f84e0a54b29846c61621f52db3f27393",
      "tree": "ea11b2d1ba85cbb4422ae7ff615d6d186d709af1",
      "parents": [
        "1093a60ef34bb12010fe7ea4b780bee1c57cfbbe"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Jan 15 16:04:20 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:06:07 2008 -0500"
      },
      "message": "NLM: Introduce an arguments structure for nlmclnt_init()\n\nClean up: pass 5 arguments to nlmclnt_init() in a structure similar to the\nnew nfs_client_initdata structure.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\n"
    },
    {
      "commit": "1093a60ef34bb12010fe7ea4b780bee1c57cfbbe",
      "tree": "bc558d58ae38aab7e615883eceef1ec253c2d646",
      "parents": [
        "9289e7f91add1c09c3ec8571a2080f7507730b8d"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Jan 11 17:09:59 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:06:07 2008 -0500"
      },
      "message": "NLM/NFS: Use cached nlm_host when calling nlmclnt_proc()\n\nNow that each NFS mount point caches its own nlm_host structure, it can be\npassed to nlmclnt_proc() for each lock request.  By pinning an nlm_host for\neach mount point, we trade the overhead of looking up or creating a fresh\nnlm_host struct during every NLM procedure call for a little extra memory.\n\nWe also restrict the nlmclnt_proc symbol to limit the use of this call to\nin-tree modules.\n\nNote that nlm_lookup_host() (just removed from the client\u0027s per-request\nNLM processing) could also trigger an nlm_host garbage collection.  Now\nclient-side nlm_host garbage collection occurs only during NFS mount\nprocessing.  Since the NFS client now holds a reference on these nlm_host\nstructures, they wouldn\u0027t have been affected by garbage collection\nanyway.\n\nGiven that nlm_lookup_host() reorders the global nlm_host chain after\nevery successful lookup, and that a garbage collection could be triggered\nduring the call, we\u0027ve removed a significant amount of per-NLM-request\nCPU processing overhead.\n\nSidebar: there are only a few remaining references to the internals of\nNFS inodes in the client-side NLM code.  The only references I found are\nrelated to extracting or comparing the inode\u0027s file handle via NFS_FH().\nOne is in nlmclnt_grant(); the other is in nlmclnt_setlockargs().\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9289e7f91add1c09c3ec8571a2080f7507730b8d",
      "tree": "f8fd567e331b02efda2e09986fdfb37c1461dfc8",
      "parents": [
        "52c4044d00fe703eb3fb18e0d8dfd1c196eb28be"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Jan 11 17:09:52 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:06:07 2008 -0500"
      },
      "message": "NFS: Invoke nlmclnt_init during NFS mount processing\n\nCache an appropriate nlm_host structure in the NFS client\u0027s mount point\nmetadata for later use.\n\nNote that there is no need to set NFS_MOUNT_NONLM in the error case -- if\nnfs_start_lockd() returns a non-zero value, its callers ensure that the\nmount request fails outright.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "52c4044d00fe703eb3fb18e0d8dfd1c196eb28be",
      "tree": "e8ff891bc68ee10ebe3d067b13ba31e2deb645bb",
      "parents": [
        "86d61d8638ddf9cdf87df26c7fa69b2804425fbe"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Jan 11 17:09:44 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:06:06 2008 -0500"
      },
      "message": "NLM: Introduce external nlm_host set-up and tear-down functions\n\nWe would like to remove the per-lock-operation nlm_lookup_host() call from\nnlmclnt_proc().\n\nThe new architecture pins an nlm_host structure to each NFS client\nsuperblock that has the \"lock\" mount option set.  The NFS client passes\nin the pinned nlm_host structure during each call to nlmclnt_proc().  NFS\nclient unmount processing \"puts\" the nlm_host so it can be garbage-\ncollected later.\n\nThis patch introduces externally callable NLM functions that handle\nmount-time nlm_host set up and tear-down.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cab6fc1b77c3ec4471d7d54ff6db9ad2dd59c2f5",
      "tree": "7c863b953cf4862579ba057b3d5b4a68e8038e4d",
      "parents": [
        "3d509e5454a0a5ac88bf3191ab65d85952c1de31"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 20 14:55:11 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:06:02 2008 -0500"
      },
      "message": "lockd: Eliminate harmless mixed sign comparison in nlmdbg_cookie2a()\n\nThe cookie-\u003elen field is unsigned, so the loop index variable in\nnlmdbg_cookie2a() should also be unsigned.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3d509e5454a0a5ac88bf3191ab65d85952c1de31",
      "tree": "df690f78b818c9f8f9b062e3f9d10aa5dc4387d9",
      "parents": [
        "bf4285e75c3272ad9bfdeb886d247962bb2985f8"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 20 14:55:04 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:06:02 2008 -0500"
      },
      "message": "NFS: nfs_write_end clean up\n\nClean up: commit 4899f9c8 added nfs_write_end(), which introduces a\nconditional expression that returns an unsigned integer in one arm and\na signed integer in the other.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bf4285e75c3272ad9bfdeb886d247962bb2985f8",
      "tree": "a366fd1d3fb2591f1fce114f17aade410f1db3dc",
      "parents": [
        "d24aae41b4d4141d4f3cffdbf4c31d85637ba691"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 20 14:54:57 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:06:01 2008 -0500"
      },
      "message": "NFS: Fix minor mixed sign comparison in NFS client\u0027s write logic\n\nClean up: PAGE_CACHE_SIZE is unsigned, and nfs_pageio_init() takes a size_t.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d24aae41b4d4141d4f3cffdbf4c31d85637ba691",
      "tree": "837cf221908b34da1a6d5733c68578721f5b0610",
      "parents": [
        "a661b77fc12a172edea4b709e37f8cd58a6bd500"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 20 14:54:49 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:06:01 2008 -0500"
      },
      "message": "NFS: Use size_t for storing name lengths\n\nClean up: always use the same type when handling buffer lengths.  As a\nbonus, this prevents a mixed sign comparison in idmap_lookup_name.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a661b77fc12a172edea4b709e37f8cd58a6bd500",
      "tree": "ded0b18213329ec39682ad63530e849fafed22c0",
      "parents": [
        "369af0f1166f7a637751110395496cee156b4297"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 20 14:54:42 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:06:01 2008 -0500"
      },
      "message": "NFS: Fix use of copy_to_user() in idmap_pipe_upcall\n\nThe idmap_pipe_upcall() function expects the copy_to_user() function to\nreturn a negative error value if the call fails, but copy_to_user()\nreturns an unsigned long number of bytes that couldn\u0027t be copied.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "369af0f1166f7a637751110395496cee156b4297",
      "tree": "b42d4285a3e920a77c10ae0de954640efaeeebad",
      "parents": [
        "7df089952fca41cb336733e1167c0a25e5a025d8"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 20 14:54:35 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:06:00 2008 -0500"
      },
      "message": "NFS: Clean up fs/nfs/idmap.c\n\nClean up white space damage and use standard kernel coding conventions for\nreturn statements.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "59dca3b28cb915745019d4f4c27d97b6b6ab12c6",
      "tree": "6e3bde647bba09070ece738af13ce4bf569ba95e",
      "parents": [
        "331702337f2b2e7cef40366ee207a25604df4671"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jan 03 16:29:06 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:06:00 2008 -0500"
      },
      "message": "NFS: Fix the \u0027proto\u003d\u0027 mount option\n\nCurrently, if you have a server mounted using networking protocol, you\ncannot specify a different value using the \u0027proto\u003d\u0027 option on another\nmountpoint.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "331702337f2b2e7cef40366ee207a25604df4671",
      "tree": "72b2a1942cc7e7d0b08a119f10fb2a299f550550",
      "parents": [
        "7a3e3e18e40848b6f01d44407ce86b91b8535fbd"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 20 16:03:59 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:59 2008 -0500"
      },
      "message": "NFS: Support per-mountpoint timeout parameters.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7a3e3e18e40848b6f01d44407ce86b91b8535fbd",
      "tree": "3caa0944475ac1fcb66a939b84562867c1c60e5e",
      "parents": [
        "ba7392bb37cb12781890f45d7ddee1618e33a036"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 20 16:03:57 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:59 2008 -0500"
      },
      "message": "NFS: Ensure that we respect NFS_MAX_TCP_TIMEOUT\n\nIt isn\u0027t sufficient just to limit timeout-\u003eto_initval, we also need to\nlimit to_maxval.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "69dd716c5ffd89f5ba14ffb871d633ecea74d13a",
      "tree": "bbf720dc7f16f99adc09063f934033eb9e36b307",
      "parents": [
        "3c7c7e4812e40e50a9ce9d687432ab5515cb3f2f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Dec 14 14:56:07 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:58 2008 -0500"
      },
      "message": "NFSv4: Add socket proto argument to setclientid\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    }
  ],
  "next": "3c7c7e4812e40e50a9ce9d687432ab5515cb3f2f"
}
