)]}'
{
  "log": [
    {
      "commit": "04826f43d4f0a4d56423eb8abb9f2ec9987df5b5",
      "tree": "df7248108f29ef3c19e3153e2244ac381cf451be",
      "parents": [
        "f0ad670d7061efad138df19aefe569263c4ea37b"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Mon Apr 06 12:00:49 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Apr 06 09:48:20 2009 -0700"
      },
      "message": "nfsd41: define nfsd4_set_statp as noop for !CONFIG_NFSD_V4\n\nFixes following modpost error:\nERROR: \"nfsd4_set_statp\" [fs/nfsd/nfsd.ko] undefined!\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "f0ad670d7061efad138df19aefe569263c4ea37b",
      "tree": "d68d7a2deb01814aa5c8e1d32b867010a3284bd2",
      "parents": [
        "3ef1728898f0285c13aa6901f412b52835e23578"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Mon Apr 06 12:00:36 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Apr 06 09:17:53 2009 -0700"
      },
      "message": "nfsd41: define NFSD_DRC_SIZE_SHIFT in set_max_drc\n\nFixes the following compiler error:\nfs/nfsd/nfssvc.c: In function \u0027set_max_drc\u0027:\nfs/nfsd/nfssvc.c:240: error: \u0027NFSD_DRC_SIZE_SHIFT\u0027 undeclared\n\nCONFIG_NFSD_V4 is not set\n\nReported-by: Alexander Beregalov \u003ca.beregalov@gmail.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "79fb54abd285b442e1f30f851902f3ddf58e7704",
      "tree": "93c8278368e7f6328e1cfa695ce96d5c95f3e338",
      "parents": [
        "8c18f2052e756e7d5dea712fc6e7ed70c00e8a39"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Fri Apr 03 08:29:17 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 03 17:41:23 2009 -0700"
      },
      "message": "nfsd41: CREATE_EXCLUSIVE4_1\n\nImplement the CREATE_EXCLUSIVE4_1 open mode conforming to\nhttp://tools.ietf.org/html/draft-ietf-nfsv4-minorversion1-26\n\nThis mode allows the client to atomically create a file\nif it doesn\u0027t exist while setting some of its attributes.\n\nIt must be implemented if the server supports persistent\nreply cache and/or pnfs.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "8c18f2052e756e7d5dea712fc6e7ed70c00e8a39",
      "tree": "66762e98af4caa4774b8229fb6fd007fccaab74e",
      "parents": [
        "7e70570647827345352cf6c17461c9fa166f570a"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Fri Apr 03 08:29:14 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 03 17:41:23 2009 -0700"
      },
      "message": "nfsd41: SUPPATTR_EXCLCREAT attribute\n\nReturn bitmask for supported EXCLUSIVE4_1 create attributes.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "7e70570647827345352cf6c17461c9fa166f570a",
      "tree": "a200662bb68cd9a1396c365a47b50e46f0ea9f73",
      "parents": [
        "95ec28cda323104bbff64fc7ec8ee4c9042e51fa"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Apr 03 08:29:11 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 03 17:41:23 2009 -0700"
      },
      "message": "nfsd41: support for 3-word long attribute bitmask\n\nAlso, use client minorversion to generate supported attrs\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "f3ec22b5b0b4b220ee600bf1a8b6dc045b4e72bd",
      "tree": "8cd3459e082c3ae0422d5ba0ed12716f52df3054",
      "parents": [
        "8daf220a6a83c47b9648c28bb819c14c60bad7f9"
      ],
      "author": {
        "name": "Marc Eshel",
        "email": "eshel@almaden.ibm.com",
        "time": "Fri Apr 03 08:29:02 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 03 17:41:22 2009 -0700"
      },
      "message": "nfsd41: provide support for minor version 1 at rpc level\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "8daf220a6a83c47b9648c28bb819c14c60bad7f9",
      "tree": "e762cf2c8f0b31dac96989ac14c4cc8756e1af1d",
      "parents": [
        "84459a1162801fb84734e5f9e6dc5194f791d69b"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Fri Apr 03 08:28:59 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 03 17:41:21 2009 -0700"
      },
      "message": "nfsd41: control nfsv4.1 svc via /proc/fs/nfsd/versions\n\nSupport enabling and disabling nfsv4.1 via /proc/fs/nfsd/versions\nby writing the strings \"+4.1\" or \"-4.1\" correspondingly.\n\nUse user mode nfs-utils (rpc.nfsd option) to enable.\nThis will allow us to get rid of CONFIG_NFSD_V4_1\n\n[nfsd41: disable support for minorversion by default]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "d87a8ade95288f28c729e076cd74929f3f199b6c",
      "tree": "700a10f87def9db1c9657f2f7a61286bc06c8d03",
      "parents": [
        "60adfc50de3855628dea8f8896a65f471f51301c"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Apr 03 08:28:53 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 03 17:41:21 2009 -0700"
      },
      "message": "nfsd41: access_valid\n\nFor nfs41, the open share flags are used also for\ndelegation \"wants\" and \"signals\".  Check that they are valid.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "6668958fac1d05f55420de702f3678d46c1e93a5",
      "tree": "2ee7fe01bb6720ecb1147c5c7f7e3d0289fc71bb",
      "parents": [
        "dd453dfd70538cadc02cb47ff8d8cfd0cb8cf435"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Apr 03 08:28:45 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 03 17:41:19 2009 -0700"
      },
      "message": "nfsd41: stateid handling\n\nWhen sessions are used, stateful operation sequenceid and stateid handling\nare not used. When sessions are used,  on the first open set the seqid to 1,\nmark state confirmed and skip seqid processing.\n\nWhen sessionas are used the stateid generation number is ignored when it is zero\nwhereas without sessions bad_stateid or stale stateid is returned.\n\nAdd flags to propagate session use to all stateful ops and down to\ncheck_stateid_generation.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[nfsd4_has_session should return a boolean, not u32]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfsd41: pass nfsd4_compoundres * to nfsd4_process_open1]\n[nfsd41: calculate HAS_SESSION in nfs4_preprocess_stateid_op]\n[nfsd41: calculate HAS_SESSION in nfs4_preprocess_seqid_op]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "dd453dfd70538cadc02cb47ff8d8cfd0cb8cf435",
      "tree": "c55174fec4f6c7ddd803a598bcd755ec87e7ff0e",
      "parents": [
        "e10e0cfc2f27364c73b28adbd3c8688d97049e73"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Fri Apr 03 08:28:41 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 03 17:41:19 2009 -0700"
      },
      "message": "nfsd: pass nfsd4_compound_state* to nfs4_preprocess_{state,seq}id_op\n\nCurrently we only use cstate-\u003ecurrent_fh,\nwill also be used by nfsd41 code.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "e10e0cfc2f27364c73b28adbd3c8688d97049e73",
      "tree": "bc674e4140ea34b7893c14425ad43a930655743c",
      "parents": [
        "bf864a31d50e3e94d6e76537b97d664913906ff8"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Fri Apr 03 08:28:38 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 03 17:41:19 2009 -0700"
      },
      "message": "nfsd41: destroy_session operation\n\nImplement the destory_session operation confoming to\nhttp://tools.ietf.org/html/draft-ietf-nfsv4-minorversion1-26\n\n[use sessionid_lock spin lock]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "bf864a31d50e3e94d6e76537b97d664913906ff8",
      "tree": "8de829d0cdc0c88fe523fc4a288b8e16eedc6a2e",
      "parents": [
        "38eb76a54d803e6792816623651b1a9cb85f8d01"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Apr 03 08:28:35 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 03 17:41:19 2009 -0700"
      },
      "message": "nfsd41: non-page DRC for solo sequence responses\n\nA session inactivity time compound (lease renewal) or a compound where the\nsequence operation has sa_cachethis set to FALSE do not require any pages\nto be held in the v4.1 DRC. This is because struct nfsd4_slot is already\ncaching the session information.\n\nAdd logic to the nfs41 server to not cache response pages for solo sequence\nresponses.\n\nReturn nfserr_replay_uncached_rep on the operation following the sequence\noperation when sa_cachethis is FALSE.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfsd41: use cstate session in nfsd4_replay_cache_entry]\n[nfsd41: rename nfsd4_no_page_in_cache]\n[nfsd41 rename nfsd4_enc_no_page_replay]\n[nfsd41 nfsd4_is_solo_sequence]\n[nfsd41 change nfsd4_not_cached return]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[changed return type to bool]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfsd41 drop parens in nfsd4_is_solo_sequence call]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[changed \"\u003d\u003d 0\" to \"!\"]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "38eb76a54d803e6792816623651b1a9cb85f8d01",
      "tree": "090f34b2d92bd92637dabf0fc287cbf544c0cb38",
      "parents": [
        "ec6b5d7b5064fde27aee798b81107ea3a830de85"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Apr 03 08:28:32 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 03 17:41:18 2009 -0700"
      },
      "message": "nfsd41: Add a create session replay cache\n\nReplace the nfs4_client cl_seqid field with a single struct nfs41_slot used\nfor the create session replay cache.\n\nThe CREATE_SESSION slot sets the sl_session pointer to NULL. Otherwise, the\nslot and it\u0027s replay cache are used just like the session slots.\n\nFix unconfirmed create_session replay response by initializing the\ncreate_session slot sequence id to 0.\n\nA future patch will set the CREATE_SESSION cache when a SEQUENCE operation\npreceeds the CREATE_SESSION operation. This compound is currently only cached\nin the session slot table.\n\nSigned-off-by: Andy Adamson\u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfsd41: use bool inuse for slot state]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfsd41: revert portion of nfsd4_set_cache_entry]\nSigned-off-by: Andy Adamson \u003candros@netpp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "ec6b5d7b5064fde27aee798b81107ea3a830de85",
      "tree": "de1571b6773201268796fe5bf3db9bb0f8d23812",
      "parents": [
        "14778a133e3be332be77d981552a79260a61ee17"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Apr 03 08:28:28 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 03 17:41:18 2009 -0700"
      },
      "message": "nfsd41: create_session operation\n\nImplement the create_session operation confoming to\nhttp://tools.ietf.org/html/draft-ietf-nfsv4-minorversion1-26\n\nLook up the client id (generated by the server on exchange_id,\ngiven by the client on create_session).\nIf neither a confirmed or unconfirmed client is found\nthen the client id is stale\nIf a confirmed cilent is found (i.e. we already received\ncreate_session for it) then compare the sequence id\nto determine if it\u0027s a replay or possibly a mis-ordered rpc.\nIf the seqid is in order, update the confirmed client seqid\nand procedd with updating the session parameters.\n\nIf an unconfirmed client_id is found then verify the creds\nand seqid.  If both match move the client id to confirmed state\nand proceed with processing the create_session.\n\nCurrently, we do not support persistent sessions, and RDMA.\n\nalloc_init_session generates a new sessionid and creates\na session structure.\n\nNFSD_PAGES_PER_SLOT is used for the max response cached calculation, and for\nthe counting of DRC pages using the hard limits set in struct srv_serv.\n\nA note on NFSD_PAGES_PER_SLOT:\n\nOther patches in this series allow for NFSD_PAGES_PER_SLOT + 1 pages to be\ncached in a DRC slot when the response size is less than NFSD_PAGES_PER_SLOT *\nPAGE_SIZE but xdr_buf pages are used. e.g. a READDIR operation will encode a\nsmall amount of data in the xdr_buf head, and then the READDIR in the xdr_buf\npages.  So, the hard limit calculation use of pages by a session is\nunderestimated by the number of cached operations using the xdr_buf pages.\n\nYet another patch caches no pages for the solo sequence operation, or any\ncompound where cache_this is False.  So the hard limit calculation use of\npages by a session is overestimated by the number of these operations in the\ncache.\n\nTODO: improve resource pre-allocation and negotiate session\nparameters accordingly.  Respect and possibly adjust\nbackchannel attributes.\n\nSigned-off-by: Marc Eshel \u003ceshel@almaden.ibm.com\u003e\nSigned-off-by: Dean Hildebrand \u003cdhildeb@us.ibm.com\u003e\n[nfsd41: remove headerpadsz from channel attributes]\nOur client and server only support a headerpadsz of 0.\n[nfsd41: use DRC limits in fore channel init]\n[nfsd41: do not change CREATE_SESSION back channel attrs]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[use sessionid_lock spin lock]\n[nfsd41: use bool inuse for slot state]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfsd41 remove sl_session from alloc_init_session]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[simplify nfsd4_encode_create_session error handling]\n[nfsd41: fix comment style in init_forechannel_attrs]\n[nfsd41: allocate struct nfsd4_session and slot table in one piece]\n[nfsd41: no need to INIT_LIST_HEAD in alloc_init_session just prior to list_add]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "da3846a2866ddf239311766ff434a82e7b4ac701",
      "tree": "c40d6c1754999f1f572f12c4fa68f281a93b040c",
      "parents": [
        "c3d06f9ce8544fecfe13e377d1e2c2e47fe18dbc"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Apr 03 08:28:22 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 03 17:41:17 2009 -0700"
      },
      "message": "nfsd41: nfsd DRC logic\n\nReplay a request in nfsd4_sequence.\nAdd a minorversion to struct nfsd4_compound_state.\n\nPass the current slot to nfs4svc_encode_compound res via struct\nnfsd4_compoundres to set an NFSv4.1 DRC entry.\n\nSigned-off-by: Andy Adamson\u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfsd41: use bool inuse for slot state]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfsd41: use cstate session in nfs4svc_encode_compoundres]\n[nfsd41 replace nfsd4_set_cache_entry]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "c3d06f9ce8544fecfe13e377d1e2c2e47fe18dbc",
      "tree": "f34acde5f484a8374065295e205921e1860da65c",
      "parents": [
        "074fe897536f095309c5aaffcf912952882ab2cb"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Apr 03 08:28:18 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 03 17:41:17 2009 -0700"
      },
      "message": "nfsd41: hard page limit for DRC\n\nUse no more than 1/128th of the number of free pages at nfsd startup for the\nv4.1 DRC.\n\nThis is an arbitrary default which should probably end up under the control\nof an administrator.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[moved added fields in struct svc_serv under CONFIG_NFSD_V4_1]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[fix set_max_drc calculation of sv_drc_max_pages]\n[moved NFSD_DRC_SIZE_SHIFT\u0027s declaration up in header file]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "074fe897536f095309c5aaffcf912952882ab2cb",
      "tree": "d4bb2fff645a2df1dbdec4af6787359d888a3695",
      "parents": [
        "f9bb94c4c60f6e1d1717077bfddb614f03a607d1"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Apr 03 08:28:15 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 03 17:41:17 2009 -0700"
      },
      "message": "nfsd41: DRC save, restore, and clear functions\n\nCache all the result pages, including the rpc header in rq_respages[0],\nfor a request in the slot table cache entry.\n\nCache the statp pointer from nfsd_dispatch which points into rq_respages[0]\njust past the rpc header. When setting a cache entry, calculate and save the\nlength of the nfs data minus the rpc header for rq_respages[0].\n\nWhen replaying a cache entry, replace the cached rpc header with the\nreplayed request rpc result header, unless there is not enough room in the\ncached results first page. In that case, use the cached rpc header.\n\nThe sessions fore channel maxresponse size cached is set to NFSD_PAGES_PER_SLOT\n* PAGE_SIZE. For compounds we are cacheing with operations such as READDIR\nthat use the xdr_buf-\u003epages to hold data, we choose to cache the extra page of\ndata rather than copying data from xdr_buf-\u003epages into the xdr_buf-\u003ehead page.\n\n[nfsd41: limit cache to maxresponsesize_cached]\n[nfsd41: mv nfsd4_set_statp under CONFIG_NFSD_V4_1]\n[nfsd41: rename nfsd4_move_pages]\n[nfsd41: rename page_no variable]\n[nfsd41: rename nfsd4_set_cache_entry]\n[nfsd41: fix nfsd41_copy_replay_data comment]\n[nfsd41: add to nfsd4_set_cache_entry]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "b85d4c01b76f6969a085d07a767fa45225cb14be",
      "tree": "5441d0f6bcec52fab3b81ad4887239ff784c5ad9",
      "parents": [
        "a1bcecd29cdf1670df6908a620add4211c0abb7a"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Fri Apr 03 08:28:08 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 03 17:41:16 2009 -0700"
      },
      "message": "nfsd41: sequence operation\n\nImplement the sequence operation conforming to\nhttp://tools.ietf.org/html/draft-ietf-nfsv4-minorversion1-26\n\nCheck for stale clientid (as derived from the sessionid).\nEnforce slotid range and exactly-once semantics using\nthe slotid and seqid.\n\nIf everything went well renew the client lease and\nmark the slot INPROGRESS.\n\nAdd a struct nfsd4_slot pointer to struct nfsd4_compound_state.\nTo be used for sessions DRC replay.\n\n[nfsd41: rename sequence catchthis to cachethis]\nSigned-off-by: Andy Adamson\u003candros@netapp.com\u003e\n[pulled some code to set cstate-\u003eslot from \"nfsd DRC logic\"]\n[use sessionid_lock spin lock]\n[nfsd41: use bool inuse for slot state]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfsd: add a struct nfsd4_slot pointer to struct nfsd4_compound_state]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfsd41: add nfsd4_session pointer to nfsd4_compound_state]\n[nfsd41: set cstate session]\n[nfsd41: use cstate session in nfsd4_sequence]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[simplify nfsd4_encode_sequence error handling]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "a1bcecd29cdf1670df6908a620add4211c0abb7a",
      "tree": "a4323b21675db5a47a45f5d292fef468b9786007",
      "parents": [
        "0733d21338747483985a5964e852af160d88e429"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Apr 03 08:28:05 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 03 17:41:15 2009 -0700"
      },
      "message": "nfsd41: match clientid establishment method\n\nWe need to distinguish between client names provided by NFSv4.0 clients\nSETCLIENTID and those provided by NFSv4.1 via EXCHANGE_ID when looking\nup the clientid by string.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[nfsd41: use boolean values for use_exchange_id argument]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfsd41: simplify match_clientid_establishment logic]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "0733d21338747483985a5964e852af160d88e429",
      "tree": "fb8014cc66d3bfc33e1b7cc6a0da369bccc34cd3",
      "parents": [
        "069b6ad4bb20abf175ea7875e82e8002154773af"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Apr 03 08:28:01 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 03 17:41:15 2009 -0700"
      },
      "message": "nfsd41: exchange_id operation\n\nImplement the exchange_id operation confoming to\nhttp://tools.ietf.org/html/draft-ietf-nfsv4-minorversion1-28\n\nBased on the client provided name, hash a client id.\nIf a confirmed one is found, compare the op\u0027s creds and\nverifier.  If the creds match and the verifier is different\nthen expire the old client (client re-incarnated), otherwise,\nif both match, assume it\u0027s a replay and ignore it.\n\nIf an unconfirmed client is found, then copy the new creds\nand verifer if need update, otherwise assume replay.\n\nThe client is moved to a confirmed state on create_session.\n\nIn the nfs41 branch set the exchange_id flags to\nEXCHGID4_FLAG_USE_NON_PNFS | EXCHGID4_FLAG_SUPP_MOVED_REFER\n(pNFS is not supported, Referrals are supported,\nMigration is not.).\n\nAddress various scenarios from section 18.35 of the spec:\n\n1. Check for EXCHGID4_FLAG_UPD_CONFIRMED_REC_A and set\n   EXCHGID4_FLAG_CONFIRMED_R as appropriate.\n\n2. Return error codes per 18.35.4 scenarios.\n\n3. Update client records or generate new client ids depending on\n   scenario.\n\nNote: 18.35.4 case 3 probably still needs revisiting.  The handling\nseems not quite right.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Andy Adamosn \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfsd41: use utsname for major_id (and copy to server_scope)]\n[nfsd41: fix handling of various exchange id scenarios]\nSigned-off-by: Mike Sager \u003csager@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfsd41: reverse use of EXCHGID4_INVAL_FLAG_MASK_A]\n[simplify nfsd4_encode_exchange_id error handling]\n[nfsd41: embed an xdr_netobj in nfsd4_exchange_id]\n[nfsd41: return nfserr_serverfault for spa_how \u003d\u003d SP4_MACH_CRED]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "069b6ad4bb20abf175ea7875e82e8002154773af",
      "tree": "e3a933d4c7f0444d29f9266fc5aa77f6e87f5a69",
      "parents": [
        "2db134eb3b39faefc7fbfb200156d175edba2f68"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Apr 03 08:27:58 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 03 17:41:14 2009 -0700"
      },
      "message": "nfsd41: proc stubs\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "2db134eb3b39faefc7fbfb200156d175edba2f68",
      "tree": "dd07afee13667410cb64dba1de3a80c54d1bd989",
      "parents": [
        "5282fd724b667b7d65f2e41e405a825e58a78813"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Apr 03 08:27:55 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 03 17:41:14 2009 -0700"
      },
      "message": "nfsd41: xdr infrastructure\n\nDefine nfsd41_dec_ops vector and add it to nfsd4_minorversion for\nminorversion 1.\n\nNote: nfsd4_enc_ops vector is shared for v4.0 and v4.1\nsince we don\u0027t need to filter out obsolete ops as this is\ndone in the decoding phase.\n\nexchange_id, create_session, destroy_session, and sequence ops are\nimplemented as stubs returning nfserr_opnotsupp at this stage.\n\n[was nfsd41: xdr stubs]\n[get rid of CONFIG_NFSD_V4_1]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "5282fd724b667b7d65f2e41e405a825e58a78813",
      "tree": "6603d2895c789db0e2244e9966f3a2246a6addb9",
      "parents": [
        "c4bf7868064ce8b9c75d8049d077e593c20602b3"
      ],
      "author": {
        "name": "Marc Eshel",
        "email": "eshel@almaden.ibm.com",
        "time": "Fri Apr 03 08:27:52 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 03 17:41:14 2009 -0700"
      },
      "message": "nfsd41: sessionid hashing\n\nSimple sessionid hashing using its monotonically increasing sequence number.\n\nLocking considerations:\nsessionid_hashtbl access is controlled by the sessionid_lock spin lock.\nIt must be taken for insert, delete, and lookup.\nnfsd4_sequence looks up the session id and if the session is found,\nit calls nfsd4_get_session (still under the sessionid_lock).\nnfsd4_destroy_session calls nfsd4_put_session after unhashing\nit, so when the session\u0027s kref reaches zero it\u0027s going to get freed.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[we don\u0027t use a prime for sessionid hash table size]\n[use sessionid_lock spin lock]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "9fb870702d02c05f9410423bfff3f63e46e26180",
      "tree": "849fd556192da4b34cc872a36f8ad415e87775c6",
      "parents": [
        "7116ed6b9973021ff43edeb10f4cb834db94000f"
      ],
      "author": {
        "name": "Marc Eshel",
        "email": "eshel@almaden.ibm.com",
        "time": "Fri Apr 03 08:27:46 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 03 17:41:13 2009 -0700"
      },
      "message": "nfsd41: introduce nfs4_client cl_sessions list\n\n[get rid of CONFIG_NFSD_V4_1]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "7116ed6b9973021ff43edeb10f4cb834db94000f",
      "tree": "fb47a0d182cbf2afb87f482ac03d1a1763f8ee3b",
      "parents": [
        "10add806c38c022d18af48f3ec28c91b4eaf7bb3"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Apr 03 08:27:43 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 03 17:41:13 2009 -0700"
      },
      "message": "nfsd41: sessions basic data types\n\nThis patch provides basic data structures representing the nfs41\nsessions and slots, plus helpers for keeping a reference count\non the session and freeing it.\n\nNote that our server only support a headerpadsz of 0 and\nit ignores backchannel attributes at the moment.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfsd41: remove headerpadsz from channel attributes]\n[nfsd41: embed nfsd4_channel in nfsd4_session]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfsd41: use bool inuse for slot state]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfsd41 remove sl_session from nfsd4_slot]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "10add806c38c022d18af48f3ec28c91b4eaf7bb3",
      "tree": "d0d141a89d5eac49e337021e1d6d9c451cc4e896",
      "parents": [
        "18df1884a872a2cc405a578cfd0d3adc8d227277"
      ],
      "author": {
        "name": "Marc Eshel",
        "email": "eshel@almaden.ibm.com",
        "time": "Fri Apr 03 08:27:40 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 03 17:41:12 2009 -0700"
      },
      "message": "nfsd41: define nfs41 error codes\n\nDefine all error code present in\nhttp://tools.ietf.org/html/draft-ietf-nfsv4-minorversion1-29.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfsd41: clean up error code definitions]\n[nfsd41: change NFSERR_REPLAY_ME]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "e354d571bb481f1d71f2c3004b9ff570b32e83bd",
      "tree": "f55f172d7412c0853187f8cb3c2e1a9fdce4d411",
      "parents": [
        "42d671c78f6486c932b68a50f88768c7b4e57ebf"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Sat Mar 28 11:30:52 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun Mar 29 16:20:12 2009 -0400"
      },
      "message": "nfsd: embed nfsd4_current_state in nfsd4_compoundres\n\nRemove the allocation of struct nfsd4_compound_state.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "42d671c78f6486c932b68a50f88768c7b4e57ebf",
      "tree": "092d5bb768f86235be43fd5cbf4bfd114680ac2f",
      "parents": [
        "b5cbc369db39d9080f4932db8607aea1e1654d4d"
      ],
      "author": {
        "name": "Greg Banks",
        "email": "gnb@sgi.com",
        "time": "Fri Mar 27 02:32:47 2009 +1100"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Mar 27 19:48:36 2009 -0400"
      },
      "message": "Fix a build warning about leaking CONFIG_NFSD to userspace.\n\nFix a build warning about leaking CONFIG_NFSD to userspace.\n\nThe nfsd_stats data structure does not need to be available to\nuserspace; no kernel interface uses it.  So move it inside #ifdef\n__KERNEL__ and the warning goes away.\n\nSigned-off-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "31dec2538e45e9fff2007ea1f4c6bae9f78db724",
      "tree": "c2b42679c73c1c6f31312f38a1b1d049e918d635",
      "parents": [
        "1e685ec270cb97680be4eb8cf6b615f5f7f1403a"
      ],
      "author": {
        "name": "David Shaw",
        "email": "dshaw@jabberwocky.com",
        "time": "Thu Mar 05 20:16:14 2009 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 17:38:40 2009 -0400"
      },
      "message": "Short write in nfsd becomes a full write to the client\n\nIf a filesystem being written to via NFS returns a short write count\n(as opposed to an error) to nfsd, nfsd treats that as a success for\nthe entire write, rather than the short count that actually succeeded.\n\nFor example, given a 8192 byte write, if the underlying filesystem\nonly writes 4096 bytes, nfsd will ack back to the nfs client that all\n8192 bytes were written.  The nfs client does have retry logic for\nshort writes, but this is never called as the client is told the\ncomplete write succeeded.\n\nThere are probably other ways it could happen, but in my case it\nhappened with a fuse (filesystem in userspace) filesystem which can\nrather easily have a partial write.\n\nHere is a patch to properly return the short write count to the\nclient.\n\nSigned-off-by: David Shaw \u003cdshaw@jabberwocky.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "8b671b80707e4fc76adfe4387df07b3be1007c1e",
      "tree": "d9dafb3a1174dfeb84f72ba56a04625204aab415",
      "parents": [
        "d7fdcfe0aaaf6dffca6fa857bab374182fe7ca8b"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun Feb 22 14:51:34 2009 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 17:38:38 2009 -0400"
      },
      "message": "nfsd4: remove use of mutex for file_hashtable\n\nAs part of reducing the scope of the client_mutex, and in order to\nremove the need for mutexes from the callback code (so that callbacks\ncan be done as asynchronous rpc calls), move manipulations of the\nfile_hashtable under the recall_lock.\n\nUpdate the relevant comments while we\u0027re here.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: Alexandros Batsakis \u003cbatsakis@netapp.com\u003e\nReviewed-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "6150ef0dc7f734366d297e2eb5697ae458a1ea19",
      "tree": "0a11653b66953b808d2a1a98dc8da0f649c875f3",
      "parents": [
        "7e0f7cf582abd6c85232331dfe726a4e4b0fd98e"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sat Feb 21 13:36:16 2009 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 17:38:37 2009 -0400"
      },
      "message": "nfsd4: remove unused CHECK_FH flag\n\nAll users now pass this, so it\u0027s meaningless.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "203a8c8e66278a5936a230edaac29017e50c88fb",
      "tree": "93165a85d0ff93271f23f2a753c93d0df754d138",
      "parents": [
        "3e633079e377d2b527a8390f63ceb887b5cabfbf"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sat Feb 21 13:29:14 2009 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 17:38:18 2009 -0400"
      },
      "message": "nfsd4: separate delegreturn case from preprocess_stateid_op\n\nDelegreturn is enough a special case for preprocess_stateid_op to\nwarrant just open-coding it in delegreturn.\n\nThere should be no change in behavior here; we\u0027re just reshuffling code.\n\nThanks to Yang Hongyang for catching a critical typo.\n\nReviewed-by: Yang Hongyang \u003cyanghy@cn.fujitsu.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "77f18f5e4ebdea35ec3d92343b0ed7546dc87637",
      "tree": "dd9a97818130a8596b1833c82a625b3ed9cf9186",
      "parents": [
        "4ac35c2f794503d3acda20d98e89cf63f6e94332"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Feb 11 17:16:58 2009 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 17:30:51 2009 -0400"
      },
      "message": "nfs: replace uses of __constant_{endian}\n\nThe base versions handle constant folding now, none of these headers\nare exported to userspace, so the __ prefixed versions are not\nnecessary.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nReviewed-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "6c02eaa1d1e53b9b2cc27d0c6fff3e57da4b611f",
      "tree": "af558f47858043d7c326c5b3d889c9447e65aaac",
      "parents": [
        "a4773c08f2872626cb923433284488fbe8acb0ae"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Feb 02 17:30:51 2009 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 17:30:49 2009 -0400"
      },
      "message": "nfsd4: use helper for copying delegation filehandle\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "a4773c08f2872626cb923433284488fbe8acb0ae",
      "tree": "772342b775cef615b19060158900981e0985ff9f",
      "parents": [
        "13024b7b4097d33fe6bba34b1c83602e88753270"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Feb 02 17:23:10 2009 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 17:30:49 2009 -0400"
      },
      "message": "nfsd4: use helper for copying filehandles for replay\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "03cf1e0c3b4ee4ef51dc7eb197a4d098ad4873af",
      "tree": "9cd4dc8f105e9174e627552dfc84445d4692297a",
      "parents": [
        "9e87b1e53f3c72c1196dc22cb359b5d6188a3729"
      ],
      "author": {
        "name": "Jaswinder Singh Rajput",
        "email": "jaswinderrajput@gmail.com",
        "time": "Fri Jan 30 20:05:27 2009 +0530"
      },
      "committer": {
        "name": "Jaswinder Singh Rajput",
        "email": "jaswinderrajput@gmail.com",
        "time": "Fri Jan 30 23:30:42 2009 +0530"
      },
      "message": "headers_check fix: nfsd/syscall.h\n\nfix the following \u0027make headers_check\u0027 warnings:\n\n  usr/include/linux/nfsd/syscall.h:12: include of \u003clinux/types.h\u003e is preferred over \u003casm/types.h\u003e\n  usr/include/linux/nfsd/syscall.h:104: found __[us]{8,16,32,64} type without #include \u003clinux/types.h\u003e\n\nSigned-off-by: Jaswinder Singh Rajput \u003cjaswinderrajput@gmail.com\u003e\n"
    },
    {
      "commit": "9e87b1e53f3c72c1196dc22cb359b5d6188a3729",
      "tree": "52379cb02346b408c49a627369b9e939f05e5249",
      "parents": [
        "3187cedf158687432cdf152eeee205f7b149f4ef"
      ],
      "author": {
        "name": "Jaswinder Singh Rajput",
        "email": "jaswinderrajput@gmail.com",
        "time": "Fri Jan 30 20:04:03 2009 +0530"
      },
      "committer": {
        "name": "Jaswinder Singh Rajput",
        "email": "jaswinderrajput@gmail.com",
        "time": "Fri Jan 30 20:04:03 2009 +0530"
      },
      "message": "headers_check fix: nfsd/nfsfh.h\n\nfix the following \u0027make headers_check\u0027 warnings:\n\n  usr/include/linux/nfsd/nfsfh.h:17: include of \u003clinux/types.h\u003e is preferred over \u003casm/types.h\u003e\n  usr/include/linux/nfsd/nfsfh.h:28: found __[us]{8,16,32,64} type without #include \u003clinux/types.h\u003e\n\nSigned-off-by: Jaswinder Singh Rajput \u003cjaswinderrajput@gmail.com\u003e\n"
    },
    {
      "commit": "3187cedf158687432cdf152eeee205f7b149f4ef",
      "tree": "d575331a8a1a73ad767ed49fcb06f2c46c0b5a8c",
      "parents": [
        "9df27bab62e60d1f786abd0599af4a5e3192a784"
      ],
      "author": {
        "name": "Jaswinder Singh Rajput",
        "email": "jaswinderrajput@gmail.com",
        "time": "Fri Jan 30 20:03:06 2009 +0530"
      },
      "committer": {
        "name": "Jaswinder Singh Rajput",
        "email": "jaswinderrajput@gmail.com",
        "time": "Fri Jan 30 20:03:06 2009 +0530"
      },
      "message": "headers_check fix: nfsd/export.h\n\nfix the following \u0027make headers_check\u0027 warning:\n\n  usr/include/linux/nfsd/export.h:13: include of \u003clinux/types.h\u003e is preferred over \u003casm/types.h\u003e\n\nSigned-off-by: Jaswinder Singh Rajput \u003cjaswinderrajput@gmail.com\u003e\n"
    },
    {
      "commit": "db43910cb42285a99f45f7e0a0a32e32d0b61dcf",
      "tree": "81f3d99bd8b473d3302028a0839017bdc960a77d",
      "parents": [
        "87df4de8073f922a1f643b9fa6ba0412d5529ecf"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Mon Dec 15 19:42:24 2008 +0200"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jan 07 17:38:32 2009 -0500"
      },
      "message": "nfsd: get rid of NFSD_VERSION\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "548eaca46b3cf4419b6c2be839a106d8641ffb70",
      "tree": "81f41403c6196d45f9195722cc6d7e5c44410969",
      "parents": [
        "2bd9e7b62e6e1da3f881c40c73d93e9a212ce6de"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Oct 20 17:48:43 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jan 06 11:53:47 2009 -0500"
      },
      "message": "nfsd: document new filehandle fsid types\n\nDescriptions taken from mountd code (in nfs-utils/utils/mountd/cache.c).\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "61054b14d545e257b9415d5ca0cd5f43762b4d0c",
      "tree": "7f648cf35a3b79aa1555f21050f11d415b93f381",
      "parents": [
        "945b34a7725a5f0741de7775132aafc58bfecfbb"
      ],
      "author": {
        "name": "Olga Kornievskaia",
        "email": "aglo@citi.umich.edu",
        "time": "Tue Dec 23 16:19:00 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 23 16:19:00 2008 -0500"
      },
      "message": "nfsd: support callbacks with gss flavors\n\nThis patch adds server-side support for callbacks other than AUTH_SYS.\n\nSigned-off-by: Olga Kornievskaia \u003caglo@citi.umich.edu\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "68e76ad0baf8f5d5060377c2423ee6eed5c63057",
      "tree": "baab3e30cc3b50bc49a553ee884885189ce85a8e",
      "parents": [
        "34769fc488b463cb753fc632f8f5ba56c918b7cb"
      ],
      "author": {
        "name": "Olga Kornievskaia",
        "email": "aglo@citi.umich.edu",
        "time": "Tue Dec 23 16:17:15 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 23 16:17:15 2008 -0500"
      },
      "message": "nfsd: pass client principal name in rsc downcall\n\nTwo principals are involved in krb5 authentication: the target, who we\nauthenticate *to* (normally the name of the server, like\nnfs/server.citi.umich.edu@CITI.UMICH.EDU), and the source, we we\nauthenticate *as* (normally a user, like bfields@UMICH.EDU)\n\nIn the case of NFSv4 callbacks, the target of the callback should be the\nsource of the client\u0027s setclientid call, and the source should be the\nnfs server\u0027s own principal.\n\nTherefore we allow svcgssd to pass down the name of the principal that\njust authenticated, so that on setclientid we can store that principal\nname with the new client, to be used later on callbacks.\n\nSigned-off-by: Olga Kornievskaia \u003caglo@citi.umich.edu\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "04716e6621ff4abb422d64ba7b48718f52716a3e",
      "tree": "742e2e7b6d4c7cf3a39f504000a49e57fe0b538b",
      "parents": [
        "5dd248f6f1ffe1f691fd66749e2a3dc8f8eb7b5e"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Aug 07 13:00:20 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Sep 29 17:56:56 2008 -0400"
      },
      "message": "nfsd: permit unauthenticated stat of export root\n\nRFC 2623 section 2.3.2 permits the server to bypass gss authentication\nchecks for certain operations that a client may perform when mounting.\nIn the case of a client that doesn\u0027t have some form of credentials\navailable to it on boot, this allows it to perform the mount unattended.\n(Presumably real file access won\u0027t be needed until a user with\ncredentials logs in.)\n\nBeing slightly more lenient allows lots of old clients to access\nkrb5-only exports, with the only loss being a small amount of\ninformation leaked about the root directory of the export.\n\nThis affects only v2 and v3; v4 still requires authentication for all\naccess.\n\nThanks to Peter Staubach testing against a Solaris client, which\nsuggesting addition of v3 getattr, to the list, and to Trond for noting\nthat doing so exposes no additional information.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: Peter Staubach \u003cstaubach@redhat.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\n"
    },
    {
      "commit": "e8938a62a85d1f487e02c3b01955b47c9598f6d2",
      "tree": "39ef38f2ab6c69834cb5187fc2e3c6fcdbdef506",
      "parents": [
        "cf6ae8b50e0ee3f764392dadd1970e3f03c40773"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Fri Jul 25 01:46:46 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:34 2008 -0700"
      },
      "message": "remove unused #include \u003clinux/dirent.h\u003e\u0027s\n\nRemove some unused #include \u003clinux/dirent.h\u003e\u0027s.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8837abcab3d16608bd2c7fac051a839d48f2f30c",
      "tree": "d29865adb4292ff437a9a68b2c09aca9d56f2468",
      "parents": [
        "599eb3046a1380f31c65715f3940184c531c90cb"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Mon Jun 16 13:20:29 2008 +0200"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Jun 23 13:02:50 2008 -0400"
      },
      "message": "nfsd: rename MAY_ flags\n\nRename nfsd_permission() specific MAY_* flags to NFSD_MAY_* to make it\nclear, that these are not used outside nfsd, and to avoid name and\nnumber space conflicts with the VFS.\n\n[comment from hch: rename MAY_READ, MAY_WRITE and MAY_EXEC as well]\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "bedbdd8bada194a690d2901801bf8451965086b3",
      "tree": "dc7ea15dd52370429bd63cd6803d6402cebbd50b",
      "parents": [
        "0d169ca136357d51a65d686f3c84866a8ba20ae9"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@suse.de",
        "time": "Tue Jun 10 08:40:35 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Jun 23 13:02:49 2008 -0400"
      },
      "message": "knfsd: Replace lock_kernel with a mutex for nfsd thread startup/shutdown locking.\n\nThis removes the BKL from the RPC service creation codepath. The BKL\nreally isn\u0027t adequate for this job since some of this info needs\nprotection across sleeps.\n\nAlso, add some comments to try and clarify how the locking should work\nand to make it clear that the BKL isn\u0027t necessary as long as there is\nadequate locking between tasks when touching the svc_serv fields.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "0d169ca136357d51a65d686f3c84866a8ba20ae9",
      "tree": "5144938c22c32a82c517c2922b5772e98c145e95",
      "parents": [
        "a5e561fee651eb03086ca21e9aa78e1fffa4581a"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Tue Jun 10 13:39:43 2008 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Jun 23 13:02:48 2008 -0400"
      },
      "message": "nfsd: eliminate unused nfs4_callback.cb_stat\n\nThe cb_stat member of struct nfs4_callback is unused\nsince commit ff7d9756 nfsd: use static memory for callback program and stats\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "a5e561fee651eb03086ca21e9aa78e1fffa4581a",
      "tree": "f7d0c3be1cc223490b35a6357e9f6ea4675a8a74",
      "parents": [
        "7c11337d9d81cde0a08a0da63cbfb20653890fa1"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Tue Jun 10 12:59:07 2008 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Jun 23 13:02:48 2008 -0400"
      },
      "message": "nfsd: eliminate unused nfs4_callback.cb_program\n\nThe cb_program member of struct nfs4_callback unused\nsince commit ff7d9756 nfsd: use static memory for callback program and stats\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "e36cd4a2873c398ba188f16e4087cce7f00a1506",
      "tree": "60dcaba46a18d9f60e6a0514542a35a81f059cee",
      "parents": [
        "c272cca625ab507e7cc23708ee5c64d2f384708f"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Apr 24 16:59:30 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 25 13:00:11 2008 -0400"
      },
      "message": "nfsd: don\u0027t allow setting ctime over v4\n\nPresumably this is left over from earlier drafts of v4, which listed\nTIME_METADATA as writeable.  It\u0027s read-only in rfc 3530, and shouldn\u0027t\nbe modifiable anyway.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "a5ae03989254ec25cd3a934ca02c008d67e259f7",
      "tree": "c3fec078c9f6f8e50d4591330159823f0d603993",
      "parents": [
        "4ab4b0bedda7d41c63cef98cd5d6cabada460936"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Tue Apr 01 21:48:37 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:41 2008 -0400"
      },
      "message": "NFSD: Strip __KERNEL__ testing from unexported header files.\n\nAlso, sort the Kbuild file.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "a254b246ee238ab90e7b3fae1f76875b608b2213",
      "tree": "1e4c35e1225b91693694d0384ef6f1e0e8500e4d",
      "parents": [
        "d8421202121ce74daf4625ca9d1d825bbd7ce66a"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Feb 20 12:49:00 2008 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:39 2008 -0400"
      },
      "message": "nfsd: fix sparse warnings\n\nAdd extern to nfsd/nfsd.h\nfs/nfsd/nfssvc.c:146:5: warning: symbol \u0027nfsd_nrthreads\u0027 was not declared. Should it be static?\nfs/nfsd/nfssvc.c:261:5: warning: symbol \u0027nfsd_nrpools\u0027 was not declared. Should it be static?\nfs/nfsd/nfssvc.c:269:5: warning: symbol \u0027nfsd_get_nrthreads\u0027 was not declared. Should it be static?\nfs/nfsd/nfssvc.c:281:5: warning: symbol \u0027nfsd_set_nrthreads\u0027 was not declared. Should it be static?\nfs/nfsd/export.c:1534:23: warning: symbol \u0027nfs_exports_op\u0027 was not declared. Should it be static?\n\nAdd include of auth.h\nfs/nfsd/auth.c:27:5: warning: symbol \u0027nfsd_setuser\u0027 was not declared. Should it be static?\n\nMake static, move forward declaration closer to where it\u0027s needed.\nfs/nfsd/nfs4state.c:1877:1: warning: symbol \u0027laundromat_main\u0027 was not declared. Should it be static?\n\nMake static, forward declaration was already marked static.\nfs/nfsd/nfs4idmap.c:206:1: warning: symbol \u0027idtoname_parse\u0027 was not declared. Should it be static?\nfs/nfsd/vfs.c:1156:1: warning: symbol \u0027nfsd_create_setattr\u0027 was not declared. Should it be static?\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "e83aece3afad4d56cc01abe069d3519e851cd2de",
      "tree": "360f38ea9f656205941bc98aab93121b67f0a81f",
      "parents": [
        "5477549161480432d053565d2720f08626baf9e3"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Thu Feb 14 19:38:41 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 14 21:17:08 2008 -0800"
      },
      "message": "Use struct path in struct svc_expkey\n\nI\u0027m embedding struct path into struct svc_expkey.\n\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5477549161480432d053565d2720f08626baf9e3",
      "tree": "0993666627a6f53f5c7cc9277a329760ccc1002d",
      "parents": [
        "448678a0f3cdd0157f00e98bd337e32030273637"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Thu Feb 14 19:38:39 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 14 21:17:08 2008 -0800"
      },
      "message": "Use struct path in struct svc_export\n\nI\u0027m embedding struct path into struct svc_export.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[ezk@cs.sunysb.edu: NFSD: fix wrong mnt_writer count in rename]\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nAcked-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nAcked-by: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Erez Zadok \u003cezk@cs.sunysb.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "406a7ea97d9dc1a9348ba92c4cd0e7c678185c4c",
      "tree": "bf3d7e7fe94343aad6a57a60917ebecfa64376e7",
      "parents": [
        "39325bd03fc16d903f1e0f51104436d939899c8c"
      ],
      "author": {
        "name": "Frank Filz",
        "email": "ffilzlnx@us.ibm.com",
        "time": "Tue Nov 27 11:34:05 2007 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:06 2008 -0500"
      },
      "message": "nfsd: Allow AIX client to read dir containing mountpoints\n\nThis patch addresses a compatibility issue with a Linux NFS server and\nAIX NFS client.\n\nI have exported /export as fsid\u003d0 with sec\u003dkrb5:krb5i\nI have mount --bind /home onto /export/home\nI have exported /export/home with sec\u003dkrb5i\n\nThe AIX client mounts / -o sec\u003dkrb5:krb5i onto /mnt\n\nIf I do an ls /mnt, the AIX client gets a permission error. Looking at\nthe network traceIwe see a READDIR looking for attributes\nFATTR4_RDATTR_ERROR and FATTR4_MOUNTED_ON_FILEID. The response gives a\nNFS4ERR_WRONGSEC which the AIX client is not expecting.\n\nSince the AIX client is only asking for an attribute that is an\nattribute of the parent file system (pseudo root in my example), it\nseems reasonable that there should not be an error.\n\nIn discussing this issue with Bruce Fields, I initially proposed\nignoring the error in nfsd4_encode_dirent_fattr() if all that was being\nasked for was FATTR4_RDATTR_ERROR and FATTR4_MOUNTED_ON_FILEID, however,\nBruce suggested that we avoid calling cross_mnt() if only these\nattributes are requested.\n\nThe following patch implements bypassing cross_mnt() if only\nFATTR4_RDATTR_ERROR and FATTR4_MOUNTED_ON_FILEID are called. Since there\nis some complexity in the code in nfsd4_encode_fattr(), I didn\u0027t want to\nduplicate code (and introduce a maintenance nightmare), so I added a\nparameter to nfsd4_encode_fattr() that indicates whether it should\nignore cross mounts and simply fill in the attribute using the passed in\ndentry as opposed to it\u0027s parent.\n\nSigned-off-by: Frank Filz \u003cffilzlnx@us.ibm.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "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": "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": "48b4ba3fdd7af319e90ade395162430934ee7b87",
      "tree": "50381d64a613ef9b1c774fa8e6413540c9fc152a",
      "parents": [
        "a628f6675861d979405f751418e924c4ec7d457d"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Nov 01 16:57:25 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:03 2008 -0500"
      },
      "message": "NFSD: Path name length signage in nfsd request argument structures\n\nClean up: For consistency, store the length of path name strings in nfsd\nargument structures as unsigned integers.\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": "29d5e5553826d05b8ecda51c21787ce85efdef06",
      "tree": "0e1b665bf61f6a604d660ab4c1eb4f0791a8cce7",
      "parents": [
        "ee1a95b3b3fccf3c825bd95f89a8e006901b03ed"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Nov 01 16:57:04 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:02 2008 -0500"
      },
      "message": "NFSD: File name length signage in nfsd request argument structures\n\nClean up: For consistency, store the length of file name strings in nfsd\nargument structures as unsigned integers.  This matches the XDR routines\nand client argument structures for the same operation types.\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": "cce76f9b9696a59974be9ed43478c000c57e597a",
      "tree": "b7b6f64c1c175a569411c39f57d86f41e6b3e652",
      "parents": [
        "e8a285b7b10029c3da7e9bbaa1659e7e08178912"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Oct 16 01:27:52 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:10 2007 -0700"
      },
      "message": "fs/nfsd/export.c: make 3 functions static\n\nThis patch makes the following needlessly global functions static:\n- exp_get_by_name()\n- exp_parent()\n- exp_find()\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "40ee5dc6af351c1b3de245abed4bd8e6a4a5646a",
      "tree": "5558d5f2b3df23e745b152c439e731a7aeff7ab6",
      "parents": [
        "21fcd02be34f73bbc94db267b4db6ccd7332923d"
      ],
      "author": {
        "name": "Peter Staubach",
        "email": "staubach@redhat.com",
        "time": "Thu Aug 16 12:10:07 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Oct 09 18:31:57 2007 -0400"
      },
      "message": "knfsd: 64 bit ino support for NFS server\n\nModify the NFS server code to support 64 bit ino\u0027s, as\nappropriate for the system and the NFS protocol version.\n\nThe gist of the changes is to query the underlying file system\nfor attributes and not just to use the cached attributes in the\ninode.  For this specific purpose, the inode only contains an\nino field which unsigned long, which is large enough on 64 bit\nplatforms, but is not large enough on 32 bit platforms.\n\nI haven\u0027t been able to find any reason why -\u003egetattr can\u0027t be called\nwhile i_mutex.  The specification indicates that i_mutex is not\nrequired to be held in order to invoke -\u003egetattr, but it doesn\u0027t say\nthat i_mutex can\u0027t be held while invoking -\u003egetattr.\n\nI also haven\u0027t come to any conclusions regarding the value of\nlease_get_mtime() and whether it should or should not be invoked\nby fill_post_wcc() too.  I chose not to change this because I\nthought that it was safer to leave well enough alone.  If we\ndecide to make a change, it can be done separately.\n\nSigned-off-by: Peter Staubach \u003cstaubach@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "e8ff2a8453cedf38d6d7a0528cb9c308066a3e3e",
      "tree": "6987fee75558983f92cbba7385e39acc44f7555e",
      "parents": [
        "2b47eece1fa519a81c8b802af77a8b8aa44baa10"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Aug 01 15:30:59 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Oct 09 18:31:56 2007 -0400"
      },
      "message": "knfsd: move nfsv4 slab creation/destruction to module init/exit\n\nWe have some slabs that the nfs4 server uses to store state objects.\nWe\u0027re currently creating and destroying those slabs whenever the server\nis brought up or down.  That seems excessive; may as well just do that\nin module initialization and exit.\n\nAlso add some minor header cleanup.  (Thanks to Andrew Morton for that\nand a compile fix.)\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nAcked-by:  Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "c7d51402d2a64c5b96531f9900bb368020ebbbbb",
      "tree": "b870f7352ceb21799df933a31662b748edcad1e6",
      "parents": [
        "e22841c637dc8b308b40f59d64a5b6683d458ab7"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Jul 19 01:49:20 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:52 2007 -0700"
      },
      "message": "knfsd: clean up EX_RDONLY\n\nShare a little common code, reverse the arguments for consistency, drop the\nunnecessary \"inline\", and lowercase the name.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e22841c637dc8b308b40f59d64a5b6683d458ab7",
      "tree": "4a5d32f430c8123a71a1731eb6b94f807bb435f4",
      "parents": [
        "5d3dbbeaf56d0365ac6b5c0a0da0bd31cc4781e1"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Jul 19 01:49:20 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:52 2007 -0700"
      },
      "message": "knfsd: move EX_RDONLY out of header\n\nEX_RDONLY is only called in one place; just put it there.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1269bc69b6649282091bb7007372acf4ab8357fd",
      "tree": "58cd434f7381332dd8b7331da36f98b40cb69639",
      "parents": [
        "9091224f3cff4721f295df29e8a99705a63bc4c7"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jul 17 04:04:52 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:08 2007 -0700"
      },
      "message": "knfsd: nfsd: enforce per-flavor id squashing\n\nAllow root squashing to vary per-pseudoflavor, so that you can (for example)\nallow root access only when sufficiently strong security is in use.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dcb488a3b7ac3987e21148f44f641c9b2e734232",
      "tree": "edc9fe889094768068d8ea8c214076e40313a297",
      "parents": [
        "ae4c40b1d81f5299c04330306736b2f0f0539f4b"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@citi.umich.edu",
        "time": "Tue Jul 17 04:04:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:08 2007 -0700"
      },
      "message": "knfsd: nfsd4: implement secinfo\n\nImplement the secinfo operation.\n\n(Thanks to Usha Ketineni wrote an earlier version of this support.)\n\nCc: Usha Ketineni \u003cuketinen@us.ibm.com\u003e\nSigned-off-by: Andy Adamson \u003candros@citi.umich.edu\u003e\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0ec757df9743025f14190d6034d8bd2bf37c2dd1",
      "tree": "77436cbdc8c241aceab2daed243606e17e126771",
      "parents": [
        "32c1eb0cd7ee00b5eb7b6f7059c635fbc1052966"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jul 17 04:04:48 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:08 2007 -0700"
      },
      "message": "knfsd: nfsd4: make readonly access depend on pseudoflavor\n\nAllow readonly access to vary depending on the pseudoflavor, using the flag\npassed with each pseudoflavor in the export downcall.  The rest of the flags\nare ignored for now, though some day we might also allow id squashing to vary\nbased on the flavor.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "32c1eb0cd7ee00b5eb7b6f7059c635fbc1052966",
      "tree": "c1a15e47d2dd93417b38d374346332809d461bda",
      "parents": [
        "6c0a654dceaa4342270306de77eadb0173dfb58a"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@citi.umich.edu",
        "time": "Tue Jul 17 04:04:48 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:08 2007 -0700"
      },
      "message": "knfsd: nfsd4: return nfserr_wrongsec\n\nMake the first actual use of the secinfo information by using it to return\nnfserr_wrongsec when an export is found that doesn\u0027t allow the flavor used on\nthis request.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Andy Adamson \u003candros@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0989a7889695831e49e2c53c1884f52645516a90",
      "tree": "f2548a7ebdedbe89121c40c0157f5554093fb0d7",
      "parents": [
        "87548c37c8bdbf98aea002c9c04e4dc8aa27fe1b"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jul 17 04:04:44 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:07 2007 -0700"
      },
      "message": "knfsd: nfsd: provide export lookup wrappers which take a svc_rqst\n\nSplit the callers of exp_get_by_name(), exp_find(), and exp_parent() into\nthose that are processing requests and those that are doing other stuff (like\nlooking up filehandles for mountd).\n\nNo change in behavior, just a (fairly pointless, on its own) cleanup.\n\n(Note this has the effect of making nfsd_cross_mnt() pass rqstp-\u003erq_client\ninstead of exp-\u003eex_client into exp_find_by_name().  However, the two should\nhave the same value at this point.)\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "df547efb03e3e8f9ea726e1d07fbbd6fd0706cd7",
      "tree": "ff0b523096d135562dd979af4864ad6846a359c7",
      "parents": [
        "e677bfe4d451f8271986a229270c6eecd1f62b3f"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jul 17 04:04:43 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:07 2007 -0700"
      },
      "message": "knfsd: nfsd4: simplify exp_pseudoroot arguments\n\nWe\u0027re passing three arguments to exp_pseudoroot, two of which are just fields\nof the svc_rqst.  Soon we\u0027ll want to pass in a third field as well.  So let\u0027s\njust give up and pass in the whole struct svc_rqst.\n\nAlso sneak in some minor style cleanups while we\u0027re at it.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e677bfe4d451f8271986a229270c6eecd1f62b3f",
      "tree": "75cbbe0a5d853c006d0f9aeab7dcee77148d470c",
      "parents": [
        "c4170583f655dca5da32bd14173d6a93805fc48b"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@citi.umich.edu",
        "time": "Tue Jul 17 04:04:42 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:07 2007 -0700"
      },
      "message": "knfsd: nfsd4: parse secinfo information in exports downcall\n\nWe add a list of pseudoflavors to each export downcall, which will be used\nboth as a list of security flavors allowed on that export, and (in the order\ngiven) as the list of pseudoflavors to return on secinfo calls.\n\nThis patch parses the new downcall information and adds it to the export\nstructure, but doesn\u0027t use it for anything yet.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Andy Adamson \u003candros@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "47f9940c55c0bdc65188749cae4e841601f513bb",
      "tree": "ff24a78f815591d8309e368e504347371d96ef60",
      "parents": [
        "c2f1a551dea8b37c2e0cb886885c250fb703e9d8"
      ],
      "author": {
        "name": "Meelap Shah",
        "email": "meelap@umich.edu",
        "time": "Tue Jul 17 04:04:40 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:07 2007 -0700"
      },
      "message": "knfsd: nfsd4: don\u0027t delegate files that have had conflicts\n\nOne more incremental delegation policy improvement: don\u0027t give out a\ndelegation on a file if conflicting access has previously required that a\ndelegation be revoked on that file.  (In practice we\u0027ll forget about the\nconflict when the struct nfs4_file is removed on close, so this is of limited\nuse for now, though it should at least solve a temporary problem with\nself-conflicts on write opens from the same client.)\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c2f1a551dea8b37c2e0cb886885c250fb703e9d8",
      "tree": "11a5f256703d856017ceb2268bd02b7b510dee30",
      "parents": [
        "1e5140279f31e47d58ed6036ee61ba7a65710e63"
      ],
      "author": {
        "name": "Meelap Shah",
        "email": "meelap@umich.edu",
        "time": "Tue Jul 17 04:04:39 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:07 2007 -0700"
      },
      "message": "knfsd: nfsd4: vary maximum delegation limit based on RAM size\n\nOur original NFSv4 delegation policy was to give out a read delegation on any\nopen when it was possible to.\n\nSince the lifetime of a delegation isn\u0027t limited to that of an open, a client\nmay quite reasonably hang on to a delegation as long as it has the inode\ncached.  This becomes an obvious problem the first time a client\u0027s inode cache\napproaches the size of the server\u0027s total memory.\n\nOur first quick solution was to add a hard-coded limit.  This patch makes a\nmild incremental improvement by varying that limit according to the server\u0027s\ntotal memory size, allowing at most 4 delegations per megabyte of RAM.\n\nMy quick back-of-the-envelope calculation finds that in the worst case (where\nevery delegation is for a different inode), a delegation could take about\n1.5K, which would make the worst case usage about 6% of memory.  The new limit\nworks out to be about the same as the old on a 1-gig server.\n\n[akpm@linux-foundation.org: Don\u0027t needlessly bloat vmlinux]\n[akpm@linux-foundation.org: Make it right for highmem machines]\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1e5140279f31e47d58ed6036ee61ba7a65710e63",
      "tree": "ce2aa52d5f304907d0ed2e6675d576116d605897",
      "parents": [
        "4b2ca38ad6c44ed0442092a829e6e954bf3580af"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Tue Jul 17 04:04:38 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:07 2007 -0700"
      },
      "message": "knfsd: nfsd: remove unused header interface.h\n\nIt looks like Al Viro gutted this header file five years ago and it hasn\u0027t\nbeen touched since.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "33a1060ae7dc671a0208b341bd454009625bb5a6",
      "tree": "67d36de661a951acd19735b86a5e5a6abf5169a2",
      "parents": [
        "9a8db97e7756119689c93c431e8b8324080f5625"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Tue Jul 17 04:04:35 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:07 2007 -0700"
      },
      "message": "knfsd: nfsd4: fix NFSv4 filehandle size units confusion\n\nNFS4_FHSIZE is measured in bytes, not 4-byte words, so much more space than\nnecessary is being allocated for struct nfs4_cb_recall.\n\nI should have wondered why this structure was so much larger than it needed to\nbe!\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "af6a4e280e3ff453653f39190b57b345ff0bec16",
      "tree": "4895c90613737db7354f43431ed10a55dc0c98f0",
      "parents": [
        "982aedfd091e6d9831216f8519f12242091be4fd"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Feb 14 00:33:12 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 14 08:09:53 2007 -0800"
      },
      "message": "[PATCH] knfsd: add some new fsid types\n\nAdd support for using a filesystem UUID to identify and export point in the\nfilehandle.\n\nFor NFSv2, this UUID is xor-ed down to 4 or 8 bytes so that it doesn\u0027t take up\ntoo much room.  For NFSv3+, we use the full 16 bytes, and possibly also a\n64bit inode number for exports beneath the root of a filesystem.\n\nWhen generating an fsid to return in \u0027stat\u0027 information, use the UUID (hashed\ndown to size) if it is available and a small \u0027fsid\u0027 was not specifically\nprovided.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b5d5dfbd59577aed72263f22e28d3eaf98e1c6e5",
      "tree": "9ef320c6ff4f61bffb25c0452570d5f76ab7769c",
      "parents": [
        "77f1f67a1a56defa210c3d8857f3e5eee3990a99"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Mon Feb 12 00:53:40 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:36 2007 -0800"
      },
      "message": "[PATCH] include/linux/nfsd/const.h: remove NFS_SUPER_MAGIC\n\nNFS_SUPER_MAGIC is already defined in include/linux/magic.h\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a0ad13ef643a5829d63c456ab6143bbda60b44a9",
      "tree": "5c8b493fe6db72313eec7e3bf7581134d5f9b826",
      "parents": [
        "45f8bde0d0d6deb168b45998c72b4fbeb2f57efb"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 26 00:57:10 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jan 26 13:51:00 2007 -0800"
      },
      "message": "[PATCH] knfsd: Fix type mismatch with filldir_t used by nfsd\n\nnfsd defines a type \u0027encode_dent_fn\u0027 which is much like \u0027filldir_t\u0027 except\nthat the first pointer is \u0027struct readdir_cd *\u0027 rather than \u0027void *\u0027.  It\nthen casts encode_dent_fn points to \u0027filldir_t\u0027 as needed.  This hides any\nother type mismatches between the two such as the fact that the \u0027ino\u0027 arg\nrecently changed from ino_t to u64.\n\nSo: get rid of \u0027encode_dent_fn\u0027, get rid of the cast of the function type,\nchange the first arg of various functions from \u0027struct readdir_cd *\u0027 to\n\u0027void *\u0027, and live with the fact that we have a little less type checking\non the calling of these functions now.  Less internal (to nfsd) checking\noffset by more external checking, which is more important.\n\nThanks to Gabriel Paubert \u003cpaubert@iram.es\u003e for discovering this and\nproviding an initial patch.\n\nSigned-off-by: Gabriel Paubert \u003cpaubert@iram.es\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e2df0c8644db3d01e3c6fc5f7670fdd7b4c2b234",
      "tree": "832718f7a8e8b06dbf5cdaac4aa4d9e7c3b57cd8",
      "parents": [
        "250f3915183d377d36e012bac9caa7345ce465b8"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 26 00:56:59 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jan 26 13:50:59 2007 -0800"
      },
      "message": "[PATCH] knfsd: replace some warning ins nfsfh.h with BUG_ON or WARN_ON\n\nA couple of the warnings will be followed by an Oops if they ever fire, so may\nas well be BUG_ON.  Another isn\u0027t obviously fatal but has never been known to\nfire, so make it a WARN_ON.\n\nCc: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b591480bbe1a7f0e90533bce8ea86efecc84648e",
      "tree": "43d75e2978ecf85bab894ec6afce8cc06c5480c1",
      "parents": [
        "c954e2a5d1c9662991a41282297ddebcadee0578"
      ],
      "author": {
        "name": "J.Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Wed Dec 13 00:35:38 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 13 09:05:54 2006 -0800"
      },
      "message": "[PATCH] knfsd: nfsd4: reorganize compound ops\n\nDefine an op descriptor struct, use it to simplify nfsd4_proc_compound().\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a4f1706a9bd94d0e33e853a7e9f40b2650d54fbf",
      "tree": "66c2bb36ac0b9da3edb13bcee77a46ab576a5e89",
      "parents": [
        "d9e626f1e23358487595c2d3901126d00f9de7e0"
      ],
      "author": {
        "name": "J.Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Wed Dec 13 00:35:28 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 13 09:05:54 2006 -0800"
      },
      "message": "[PATCH] knfsd: nfsd4: move replay_owner to cstate\n\nTuck away the replay_owner in the cstate while we\u0027re at it.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ca3643171bc6e08b7c4d1f9a2ce659541a01a7fe",
      "tree": "2128accc9584e7dd69f6b62c62ef6631f5da231f",
      "parents": [
        "01f3bd1f03599470e4695392b6ae055ed8506978"
      ],
      "author": {
        "name": "J.Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Wed Dec 13 00:35:27 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 13 09:05:54 2006 -0800"
      },
      "message": "[PATCH] knfsd: nfsd4: pass saved and current fh together into nfsd4 operations\n\nPass the saved and current filehandles together into all the nfsd4 compound\noperations.\n\nI want a unified interface to these operations so we can just call them by\npointer and throw out the huge switch statement.\n\nAlso I\u0027ll eventually want a structure like this--that holds the state used\nduring compound processing--for deferral.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e57101991156aaba97c630f38e880f0d4012edcd",
      "tree": "5d0a405f254e8e17663746abdc9e5a75428ecc1f",
      "parents": [
        "b797b5beac966df5c5d96c0d39fe366f57135343"
      ],
      "author": {
        "name": "J.Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Wed Dec 13 00:35:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 13 09:05:53 2006 -0800"
      },
      "message": "[PATCH] knfsd: nfsd4: clarify units of COMPOUND_SLACK_SPACE\n\nA comment here incorrectly states that \"slack_space\" is measured in words, not\nbytes.  Remove the comment, and adjust a variable name and a few comments to\nclarify the situation.\n\nThis is pure cleanup; there should be no change in functionality.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "81ac95c5569d7a60ab5db6c1ccec56c12b3ebcb5",
      "tree": "c28ac039697a462527e2aedc4f0c7575d76fbbb1",
      "parents": [
        "af85852de0b32d92b14295aa6f5ba3a9ad044cf6"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Wed Nov 08 17:44:40 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Nov 08 18:29:23 2006 -0800"
      },
      "message": "[PATCH] nfsd4: fix open-create permissions\n\nIn the case where an open creates the file, we shouldn\u0027t be rechecking\npermissions to open the file; the open succeeds regardless of what the new\nfile\u0027s mode bits say.\n\nThis patch fixes the problem, but only by introducing yet another parameter\nto nfsd_create_v3.  This is ugly.  This will be fixed by later patches.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a90b061c0bf712961cea40d9c916b300073d12e5",
      "tree": "74514dbfc0e7814b983ad98bef55086539248d0a",
      "parents": [
        "c7afef1f963bec198b186cc34b9e8c9b9ce2e266"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Thu Oct 19 23:29:03 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 20 10:26:43 2006 -0700"
      },
      "message": "[PATCH] nfsd: nfs_replay_me\n\nWe are using NFS_REPLAY_ME as a special error value that is never leaked to\nclients.  That works fine; the only problem is mixing host- and network-\nendian values in the same objects.  Network-endian equivalent would work just\nas fine; switch to it.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c7afef1f963bec198b186cc34b9e8c9b9ce2e266",
      "tree": "d3686ebea2e848e225e9927b8f6f164547d82719",
      "parents": [
        "f00f328fda1eeec575cd0f360da81b66bf4133a1"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Thu Oct 19 23:29:02 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 20 10:26:43 2006 -0700"
      },
      "message": "[PATCH] nfsd: misc endianness annotations\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b37ad28bcaa7c486a4ff0fb6c3bdaaacd67b86ce",
      "tree": "17bb3677f3e63dc469b64a123a74cee0266768df",
      "parents": [
        "6264d69d7df654ca64f625e9409189a0e50734e9"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Thu Oct 19 23:28:59 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 20 10:26:42 2006 -0700"
      },
      "message": "[PATCH] nfsd: nfs4 code returns error values in net-endian\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6264d69d7df654ca64f625e9409189a0e50734e9",
      "tree": "0a8357de00cf561e3341ebd97af65ff59da2897b",
      "parents": [
        "2ebbc012a9433a252be7ab4ce54e94bf7b21e506"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Thu Oct 19 23:28:58 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 20 10:26:41 2006 -0700"
      },
      "message": "[PATCH] nfsd: vfs.c endianness annotations\n\ndon\u0027t use the same variable to store NFS and host error values\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2ebbc012a9433a252be7ab4ce54e94bf7b21e506",
      "tree": "daedb0484892bf3d8f7df42836de7b62391c1c3f",
      "parents": [
        "91f07168cef8e99dd16f608fbc703e7a5af0237f"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Thu Oct 19 23:28:58 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 20 10:26:41 2006 -0700"
      },
      "message": "[PATCH] xdr annotations: NFSv4 server\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "91f07168cef8e99dd16f608fbc703e7a5af0237f",
      "tree": "18ba76b4d8728637059741de9eb9caad40dbb483",
      "parents": [
        "131a21c2177c267ab259fcd06947c6f593a7de8e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Thu Oct 19 23:28:57 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 20 10:26:41 2006 -0700"
      },
      "message": "[PATCH] xdr annotations: NFSv3 server\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "131a21c2177c267ab259fcd06947c6f593a7de8e",
      "tree": "7841d3c58e3dfc103fefb895e43bac0f5afbd751",
      "parents": [
        "ad451d389f46f699832da3e9ad95f610cb8c0fd2"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Thu Oct 19 23:28:56 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 20 10:26:41 2006 -0700"
      },
      "message": "[PATCH] xdr annotations: NFSv2 server\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "83b11340d683a67a77e35a5ffb5ad4afbf0be4e5",
      "tree": "3290de0b43b4e2190ad91be70ebf9472f7ae6c36",
      "parents": [
        "63f103111fdfc3cba00e4c94921d32362f375d93"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Thu Oct 19 23:28:55 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 20 10:26:41 2006 -0700"
      },
      "message": "[PATCH] nfsfh simple endianness annotations\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "63f103111fdfc3cba00e4c94921d32362f375d93",
      "tree": "b0c2e195d64ba2f70c982b069c46ba6eec2c4018",
      "parents": [
        "83bbe2ef63ec4f6a22aaaa0c03bd918b38300127"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Thu Oct 19 23:28:54 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 20 10:26:41 2006 -0700"
      },
      "message": "[PATCH] nfsd: nfserrno() endianness annotations\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f7aa2638f288f4c67acdb55947472740bd27d27a",
      "tree": "3710565111a49ac65a190268dd7c0eaab301b478",
      "parents": [
        "42ca09938157105c1f573c831a35e9c3e02eb354"
      ],
      "author": {
        "name": "Cedric Le Goater",
        "email": "clg@fr.ibm.com",
        "time": "Wed Oct 04 02:16:21 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:24 2006 -0700"
      },
      "message": "[PATCH] Fix linux/nfsd/const.h for make headers_check\n\nmake headers_check fails on linux/nfsd/const.h.\n\nSince linux/sunrpc/msg_prot.h does not seem to export anything interesting\nfor userspace, this patch moves it in the __KERNEL__ protected section.\n\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "42ca09938157105c1f573c831a35e9c3e02eb354",
      "tree": "61533863e1adb46016015a347c70517ae9b10d3f",
      "parents": [
        "81c3f4130202a1dcb2b28ab56684eb5e9d43d8c1"
      ],
      "author": {
        "name": "J.Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Wed Oct 04 02:16:20 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:23 2006 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: actually use all the pieces to implement referrals\n\nUse all the pieces set up so far to implement referral support, allowing\nreturn of NFS4ERR_MOVED and fs_locations attribute.\n\nSigned-off-by: Manoj Naik \u003cmanoj@almaden.ibm.com\u003e\nSigned-off-by: Fred Isaman \u003ciisaman@citi.umich.edu\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "81c3f4130202a1dcb2b28ab56684eb5e9d43d8c1",
      "tree": "66f473d1a2bd63c60af47613c5ddb41339f18e07",
      "parents": [
        "933469190ed5915b0568bc564346bb8db718f460"
      ],
      "author": {
        "name": "J.Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Wed Oct 04 02:16:19 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:23 2006 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: xdr encoding for fs_locations\n\nEncode fs_locations attribute.\n\nSigned-off-by: Manoj Naik \u003cmanoj@almaden.ibm.com\u003e\nSigned-off-by: Fred Isaman \u003ciisaman@citi.umich.edu\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "933469190ed5915b0568bc564346bb8db718f460",
      "tree": "fdb811ebfb962b0dc5e9b567ef13df234d49918a",
      "parents": [
        "b009a873de05c6e0d7613df3584b6dcb2e4280ee"
      ],
      "author": {
        "name": "Manoj Naik",
        "email": "manoj@almaden.ibm.com",
        "time": "Wed Oct 04 02:16:18 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:22 2006 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: fslocations data structures\n\nDefine FS locations structures, some functions to manipulate them, and add\ncode to parse FS locations in downcall and add to the exports structure.\n\n[bfields@fieldses.org: bunch of fixes and cleanups]\nSigned-off-by: Manoj Naik \u003cmanoj@almaden.ibm.com\u003e\nSigned-off-by: Fred Isaman \u003ciisaman@citi.umich.edu\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b009a873de05c6e0d7613df3584b6dcb2e4280ee",
      "tree": "a79bc4a82ca4bf8f3564fd024ffd0eedcdddab34",
      "parents": [
        "21c0d8fdd95024ffa708a938099148b8f1078d46"
      ],
      "author": {
        "name": "J.Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Wed Oct 04 02:16:17 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:22 2006 -0700"
      },
      "message": "[PATCH] knfsd: nfsd: store export path in export\n\nStore the export path in the svc_export structure instead of storing only the\ndentry.  This will prevent the need for additional d_path calls to provide\nNFSv4 fs_locations support.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "596bbe53eb3abfe7326b2f5e8afd614265c319c8",
      "tree": "31e1f008f8acb46d1a3a937538446a1447ed9c8f",
      "parents": [
        "7adae489fe794e3e203ff168595f635d0b845e59"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Oct 04 02:15:48 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:16 2006 -0700"
      },
      "message": "[PATCH] knfsd: Allow max size of NFSd payload to be configured\n\nThe max possible is the maximum RPC payload.  The default depends on amount of\ntotal memory.\n\nThe value can be set within reason as long as no nfsd threads are currently\nrunning.  The value can also be ready, allowing the default to be determined\nafter nfsd has started.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ],
  "next": "7adae489fe794e3e203ff168595f635d0b845e59"
}
