)]}'
{
  "log": [
    {
      "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": "14778a133e3be332be77d981552a79260a61ee17",
      "tree": "f0b67f5e40481f43c74091809892aeddb4b8c043",
      "parents": [
        "da3846a2866ddf239311766ff434a82e7b4ac701"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Apr 03 08:28:25 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 03 17:41:18 2009 -0700"
      },
      "message": "nfsd41: clear DRC cache on free_session\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": "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": "f9bb94c4c60f6e1d1717077bfddb614f03a607d1",
      "tree": "7f194a6ceca40f3b66e1e0a40b5f39af426269e1",
      "parents": [
        "b85d4c01b76f6969a085d07a767fa45225cb14be"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Apr 03 08:28:12 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 03 17:41:16 2009 -0700"
      },
      "message": "nfsd41: enforce NFS4ERR_SEQUENCE_POS operation order rules for minorversion !\u003d 0 only.\n\nSigned-off-by: Andy Adamson\u003candros@netapp.com\u003e\n[nfsd41: do not verify nfserr_sequence_pos for minorversion 0]\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": "c4bf7868064ce8b9c75d8049d077e593c20602b3",
      "tree": "0e2cdb25e7733adb01350133de50740821f6bbef",
      "parents": [
        "9fb870702d02c05f9410423bfff3f63e46e26180"
      ],
      "author": {
        "name": "Marc Eshel",
        "email": "eshel@almaden.ibm.com",
        "time": "Fri Apr 03 08:27:49 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 03 17:41:13 2009 -0700"
      },
      "message": "nfsd41: release_session when client is expired\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[add CONFIG_NFSD_V4_1 to fix v4.0 regression bug]\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": "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": "18df1884a872a2cc405a578cfd0d3adc8d227277",
      "tree": "fe6406c9797757d034f63208f3231fa7b7f331cb",
      "parents": [
        "2f425878b6a71571341dcd3f9e9d1a6f6355da9c"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Fri Apr 03 08:27:36 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 03 17:41:12 2009 -0700"
      },
      "message": "nfs41: common protocol definitions\n\nDefine all NFSv4.1 common operation and error code constants.\n\nNote that some of the definitions are used by both the nfs41 client\nand the server code. This patch is duplicated in the nfs41 and nfsd41\nsessions patchset.\n\nSigned-off-by: Andy Adamson\u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: add exchange id flags]\nSigned-off-by: Mike Sager \u003csager@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[removed server-only hunk changing NFSERR_REPLAY_ME]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: add SEQ4_XX to nfs41-common-protocol]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: generic error code update]\n[nfs41: reverse EXCHGID4_INVAL_FLAG_MASK_{A,R}]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "2f425878b6a71571341dcd3f9e9d1a6f6355da9c",
      "tree": "52735958c1614458bd6b459040f977dfc3c3e9a9",
      "parents": [
        "20766016329eb4985c2c8b2a1b2333e0f865fdf9"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Apr 03 08:27:32 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 03 17:41:12 2009 -0700"
      },
      "message": "nfsd: don\u0027t use the deferral service, return NFS4ERR_DELAY\n\nOn an NFSv4.1 server cache miss that causes an upcall, NFS4ERR_DELAY will be\nreturned. It is up to the NFSv4.1 client to resend only the operations that\nhave not been processed.\n\nInitialize rq_usedeferral to 1 in svc_process(). It sill be turned off in\nnfsd4_proc_compound() only when NFSv4.1 Sessions are used.\n\nNote: this isn\u0027t an adequate solution on its own. It\u0027s acceptable as a way\nto get some minimal 4.1 up and working, but we\u0027re going to have to find a\nway to avoid returning DELAY in all common cases before 4.1 can really be\nconsidered ready.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfsd41: reverse rq_nodeferral negative logic]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[sunrpc: initialize rq_usedeferral]\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": "20766016329eb4985c2c8b2a1b2333e0f865fdf9",
      "tree": "14c9feb06899a2c5db58d3e7914cc2450c5e0e1f",
      "parents": [
        "e354d571bb481f1d71f2c3004b9ff570b32e83bd"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Sat Mar 28 11:32:05 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Mar 30 17:03:11 2009 -0400"
      },
      "message": "nfsd: remove nfsd4_ops array size\n\nThere\u0027s no need for it.\n\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": "b5cbc369db39d9080f4932db8607aea1e1654d4d",
      "tree": "439327c3fa2fc0ee6e4171e0025f7378f51fd289",
      "parents": [
        "abd91ee979f785b7377216532620d98ab4e3e5af"
      ],
      "author": {
        "name": "Greg Banks",
        "email": "gnb@sgi.com",
        "time": "Thu Mar 26 17:45:27 2009 +1100"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Mar 27 19:24:27 2009 -0400"
      },
      "message": "Document /proc/fs/nfsd/pool_stats\n\nDocument the format and semantics of the /proc/fs/nfsd/pool_stats file.\n\nSigned-off-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "abd91ee979f785b7377216532620d98ab4e3e5af",
      "tree": "8e230a9966c6b792ee95a190a30572c543e96909",
      "parents": [
        "2795e53b4ed5d1f49d2283f416c922f55ec7d461"
      ],
      "author": {
        "name": "ideawu",
        "email": "ideawu@163.com",
        "time": "Thu Mar 26 12:55:29 2009 +0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Mar 27 19:15:21 2009 -0400"
      },
      "message": "sunrpc/svc.c: Remove unused line \u0027rqstp-\u003erq_server \u003d serv;\u0027 in svc_process\n\nThere is no need to set rqstp-\u003erq_server to serv, while serv is initialized as rqstp-\u003erq_server at previous line. And between these two lines, there is no change to rqstp-\u003erq_server.\n\nSigned-off-by: ideawu \u003cideawu@163.com\u003e\nReviewed-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "2795e53b4ed5d1f49d2283f416c922f55ec7d461",
      "tree": "cba9e5c2bcbbf7da75b4c73c7398b20a770262d2",
      "parents": [
        "0953e620de0538cbd081f1b45126f6098112a598"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Mar 12 12:07:14 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 18:13:28 2009 -0400"
      },
      "message": "SUNRPC: Clean up static inline functions in svc_xprt.h\n\nClean up:  Enable the use of const arguments in higher level svc_ APIs\nby adding const to the arguments of the helper functions in svc_xprt.h\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "0953e620de0538cbd081f1b45126f6098112a598",
      "tree": "be82dcc6df0b6d0c1d99a2e6a2392262869d0def",
      "parents": [
        "47a14ef1af48c696b214ac168f056ddc79793d0e"
      ],
      "author": {
        "name": "Sachin S. Prabhu",
        "email": "sprabhu@redhat.com",
        "time": "Mon Feb 23 16:22:03 2009 +0000"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 17:59:37 2009 -0400"
      },
      "message": "Inconsistent setattr behaviour\n\nThere is an inconsistency seen in the behaviour of nfs compared to other local\nfilesystems on linux when changing owner or group of a directory. If the\ndirectory has SUID/SGID flags set, on changing owner or group on the directory,\nthe flags are stripped off on nfs. These flags are maintained on other\nfilesystems such as ext3.\n\nTo reproduce on a nfs share or local filesystem, run the following commands\nmkdir test; chmod +s+g test; chown user1 test; ls -ld test\n\nOn the nfs share, the flags are stripped and the output seen is\ndrwxr-xr-x 2 user1 root 4096 Feb 23  2009 test\n\nOn other local filesystems(ex: ext3), the flags are not stripped and the output\nseen is\ndrwsr-sr-x 2 user1 root 4096 Feb 23 13:57 test\n\nchown_common() called from sys_chown() will only strip the flags if the inode is\nnot a directory.\nstatic int chown_common(struct dentry * dentry, uid_t user, gid_t group)\n{\n..\n        if (!S_ISDIR(inode-\u003ei_mode))\n                newattrs.ia_valid |\u003d\n                        ATTR_KILL_SUID | ATTR_KILL_SGID | ATTR_KILL_PRIV;\n..\n}\n\nSee: http://www.opengroup.org/onlinepubs/7990989775/xsh/chown.html\n\n\"If the path argument refers to a regular file, the set-user-ID (S_ISUID) and\nset-group-ID (S_ISGID) bits of the file mode are cleared upon successful return\nfrom chown(), unless the call is made by a process with appropriate privileges,\nin which case it is implementation-dependent whether these bits are altered. If\nchown() is successfully invoked on a file that is not a regular file, these\nbits may be cleared. These bits are defined in \u003csys/stat.h\u003e.\"\n\nThe behaviour as it stands does not appear to violate POSIX.  However the\nactions performed are inconsistent when comparing ext3 and nfs.\n\nSigned-off-by: Sachin Prabhu \u003csprabhu@redhat.com\u003e\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "47a14ef1af48c696b214ac168f056ddc79793d0e",
      "tree": "f2f8fc4ae9b8cc142e3d4c7b1978d3128cce8bdd",
      "parents": [
        "026722c25e6eb018eab8b9a3c198c258f5b7a2e7"
      ],
      "author": {
        "name": "Olga Kornievskaia",
        "email": "aglo@citi.umich.edu",
        "time": "Tue Oct 21 14:13:47 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 17:46:59 2009 -0400"
      },
      "message": "svcrpc: take advantage of tcp autotuning\n\nAllow the NFSv4 server to make use of TCP autotuning behaviour, which\nwas previously disabled by setting the sk_userlocks variable.\n\nSet the receive buffers to be big enough to receive the whole RPC\nrequest, and set this for the listening socket, not the accept socket.\n\nRemove the code that readjusts the receive/send buffer sizes for the\naccepted socket. Previously this code was used to influence the TCP\nwindow management behaviour, which is no longer needed when autotuning\nis enabled.\n\nThis can improve IO bandwidth on networks with high bandwidth-delay\nproducts, where a large tcp window is required.  It also simplifies\nperformance tuning, since getting adequate tcp buffers previously\nrequired increasing the number of nfsd threads.\n\nSigned-off-by: Olga Kornievskaia \u003caglo@citi.umich.edu\u003e\nCc: Jim Rees \u003crees@umich.edu\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "026722c25e6eb018eab8b9a3c198c258f5b7a2e7",
      "tree": "b57fa768c7cdaaa21257a57e96427411bf015b0b",
      "parents": [
        "03cf6c9f49a8fea953d38648d016e3f46e814991"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 15:06:26 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 17:38:42 2009 -0400"
      },
      "message": "nfsd4: don\u0027t check ip address in setclientid\n\nThe spec allows clients to change ip address, so we shouldn\u0027t be\nrequiring that setclientid always come from the same address.  For\nexample, a client could reboot and get a new dhcpd address, but still\npresent the same clientid to the server.  In that case the server should\nrevoke the client\u0027s previous state and allow it to continue, instead of\n(as it currently does) returning a CLID_INUSE error.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "03cf6c9f49a8fea953d38648d016e3f46e814991",
      "tree": "c7e639bd9fb775af1919d2442d0bf2306dfbfca7",
      "parents": [
        "59a252ff8c0f2fa32c896f69d56ae33e641ce7ad"
      ],
      "author": {
        "name": "Greg Banks",
        "email": "gnb@sgi.com",
        "time": "Tue Jan 13 21:26:36 2009 +1100"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 17:38:42 2009 -0400"
      },
      "message": "knfsd: add file to export stats about nfsd pools\n\nAdd /proc/fs/nfsd/pool_stats to export to userspace various\nstatistics about the operation of rpc server thread pools.\n\nThis patch is based on a forward-ported version of\nknfsd-add-pool-thread-stats which has been shipping in the SGI\n\"Enhanced NFS\" product since 2006 and which was previously\nposted:\n\nhttp://article.gmane.org/gmane.linux.nfs/10375\n\nIt has also been updated thus:\n\n * moved EXPORT_SYMBOL() to near the function it exports\n * made the new struct struct seq_operations const\n * used SEQ_START_TOKEN instead of ((void *)1)\n * merged fix from SGI PV 990526 \"sunrpc: use dprintk instead of\n   printk in svc_pool_stats_*()\" by Harshula Jayasuriya.\n * merged fix from SGI PV 964001 \"Crash reading pool_stats before\n   nfsds are started\".\n\nSigned-off-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: Harshula Jayasuriya \u003charshula@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "59a252ff8c0f2fa32c896f69d56ae33e641ce7ad",
      "tree": "f79089d44737e5f050cc4869b42829650096747f",
      "parents": [
        "8bbfa9f3889b643fc7de82c0c761ef17097f8faf"
      ],
      "author": {
        "name": "Greg Banks",
        "email": "gnb@sgi.com",
        "time": "Tue Jan 13 21:26:35 2009 +1100"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 17:38:41 2009 -0400"
      },
      "message": "knfsd: avoid overloading the CPU scheduler with enormous load averages\n\nAvoid overloading the CPU scheduler with enormous load averages\nwhen handling high call-rate NFS loads.  When the knfsd bottom half\nis made aware of an incoming call by the socket layer, it tries to\nchoose an nfsd thread and wake it up.  As long as there are idle\nthreads, one will be woken up.\n\nIf there are lot of nfsd threads (a sensible configuration when\nthe server is disk-bound or is running an HSM), there will be many\nmore nfsd threads than CPUs to run them.  Under a high call-rate\nlow service-time workload, the result is that almost every nfsd is\nrunnable, but only a handful are actually able to run.  This situation\ncauses two significant problems:\n\n1. The CPU scheduler takes over 10% of each CPU, which is robbing\n   the nfsd threads of valuable CPU time.\n\n2. At a high enough load, the nfsd threads starve userspace threads\n   of CPU time, to the point where daemons like portmap and rpc.mountd\n   do not schedule for tens of seconds at a time.  Clients attempting\n   to mount an NFS filesystem timeout at the very first step (opening\n   a TCP connection to portmap) because portmap cannot wake up from\n   select() and call accept() in time.\n\nDisclaimer: these effects were observed on a SLES9 kernel, modern\nkernels\u0027 schedulers may behave more gracefully.\n\nThe solution is simple: keep in each svc_pool a counter of the number\nof threads which have been woken but have not yet run, and do not wake\nany more if that count reaches an arbitrary small threshold.\n\nTesting was on a 4 CPU 4 NIC Altix using 4 IRIX clients, each with 16\nsynthetic client threads simulating an rsync (i.e. recursive directory\nlisting) workload reading from an i386 RH9 install image (161480\nregular files in 10841 directories) on the server.  That tree is small\nenough to fill in the server\u0027s RAM so no disk traffic was involved.\nThis setup gives a sustained call rate in excess of 60000 calls/sec\nbefore being CPU-bound on the server.  The server was running 128 nfsds.\n\nProfiling showed schedule() taking 6.7% of every CPU, and __wake_up()\ntaking 5.2%.  This patch drops those contributions to 3.0% and 2.2%.\nLoad average was over 120 before the patch, and 20.9 after.\n\nThis patch is a forward-ported version of knfsd-avoid-nfsd-overload\nwhich has been shipping in the SGI \"Enhanced NFS\" product since 2006.\nIt has been posted before:\n\nhttp://article.gmane.org/gmane.linux.nfs/10374\n\nSigned-off-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "8bbfa9f3889b643fc7de82c0c761ef17097f8faf",
      "tree": "b214924c3fa4a440a1cd2dc036630e8d7e605256",
      "parents": [
        "5cb031b0afddad73ea4191c9f0b76d20ca447dc0"
      ],
      "author": {
        "name": "Greg Banks",
        "email": "gnb@sgi.com",
        "time": "Tue Jan 13 21:26:34 2009 +1100"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 17:38:41 2009 -0400"
      },
      "message": "knfsd: remove the nfsd thread busy histogram\n\nStop gathering the data that feeds the \u0027th\u0027 line in /proc/net/rpc/nfsd\nbecause the questionable data provided is not worth the scalability\nimpact of calculating it.  Instead, always report zeroes.  The current\napproach suffers from three major issues:\n\n1. update_thread_usage() increments buckets by call service\n   time or call arrival time...in jiffies.  On lightly loaded\n   machines, call service times are usually \u003c 1 jiffy; on\n   heavily loaded machines call arrival times will be \u003c\u003c 1 jiffy.\n   So a large portion of the updates to the buckets are rounded\n   down to zero, and the histogram is undercounting.\n\n2. As seen previously on the nfs mailing list, the format in which\n   the histogram is presented is cryptic, difficult to explain,\n   and difficult to use.\n\n3. Updating the histogram requires taking a global spinlock and\n   dirtying the global variables nfsd_last_call, nfsd_busy, and\n   nfsdstats *twice* on every RPC call, which is a significant\n   scaling limitation.\n\nTesting on a 4 CPU 4 NIC Altix using 4 IRIX clients each doing\n1K streaming reads at full line rate, shows the stats update code\n(inlined into nfsd()) takes about 1.7% of each CPU.  This patch drops\nthe contribution from nfsd() into the profile noise.\n\nThis patch is a forward-ported version of knfsd-remove-nfsd-threadstats\nwhich has been shipping in the SGI \"Enhanced NFS\" product since 2006.\nIn that time, exactly one customer has noticed that the threadstats\nwere missing.  It has been previously posted:\n\nhttp://article.gmane.org/gmane.linux.nfs/10376\n\nand more recently requested to be posted again.\n\nSigned-off-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "5cb031b0afddad73ea4191c9f0b76d20ca447dc0",
      "tree": "74026ee23585761839ce703003e19587f2b9dbd9",
      "parents": [
        "05f4f678b0511a24795a017b5332455077be3b1c"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sat Mar 14 16:38:41 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 17:38:41 2009 -0400"
      },
      "message": "nfsd4: remove redundant check from nfsd4_open\n\nNote that we already checked for this invalid case at the top of this\nfunction.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "05f4f678b0511a24795a017b5332455077be3b1c",
      "tree": "c646c8932bf7e78ff0960ade2f50cf43848d3bda",
      "parents": [
        "a1c8c4d1ff54c6c86930ee3c4c73c69eeb9ede61"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Mar 13 16:02:59 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 17:38:40 2009 -0400"
      },
      "message": "nfsd4: don\u0027t do lookup within readdir in recovery code\n\nThe main nfsd code was recently modified to no longer do lookups from\nwithing the readdir callback, to avoid locking problems on certain\nfilesystems.\n\nThis (rather hacky, and overdue for replacement) NFSv4 recovery code has\nthe same problem.  Fix it to build up a list of names (instead of\ndentries) and do the lookups afterwards.\n\nReported symptoms were a deadlock in the xfs code (called from\nnfsd4_recdir_load), with /var/lib/nfs on xfs.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nReported-by: David Warren \u003cwarren@atmos.washington.edu\u003e\n"
    },
    {
      "commit": "a1c8c4d1ff54c6c86930ee3c4c73c69eeb9ede61",
      "tree": "682e078f8978bee53c69e68accd7cae3bb4867ef",
      "parents": [
        "31dec2538e45e9fff2007ea1f4c6bae9f78db724"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Mar 09 12:17:29 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 17:38:40 2009 -0400"
      },
      "message": "nfsd4: support putpubfh operation\n\nCurrently putpubfh returns NFSERR_OPNOTSUPP, which isn\u0027t actually\nallowed for v4.  The right error is probably NFSERR_NOTSUPP.\n\nBut let\u0027s just implement it; though rarely seen, it can be used by\nSolaris (with a special mount option), is mandated by the rfc, and is\ntrivial for us to support.\n\nThanks to Yang Hongyang for pointing out the original problem, and to\nMike Eisler, Tom Talpey, Trond Myklebust, and Dave Noveck for further\nargument....\n\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": "1e685ec270cb97680be4eb8cf6b615f5f7f1403a",
      "tree": "0ac8729d2cce07f6e1a4f1f266df0e90dc749f28",
      "parents": [
        "a601caeda21c0e94c153dbd146ec0899cc5f324f"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Mar 04 23:06:06 2009 +0200"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 17:38:39 2009 -0400"
      },
      "message": "NFSD: return nfsv4 error code nfserr_notsupp rather than nfsv[23]\u0027s nfserr_opnotsupp\n\nThanks for Bill Baker at sun.com for catching this\nat Connectathon 2009.\n\nThis bug was introduced in 2.6.27\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "a601caeda21c0e94c153dbd146ec0899cc5f324f",
      "tree": "0fc46ede6bde9cf2ed6bf1417f18ef620867e2d0",
      "parents": [
        "418cd20aa19b54554cab383e2fd0d1cb8c4732ee"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun Feb 22 16:43:45 2009 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 17:38:39 2009 -0400"
      },
      "message": "nfsd4: move rpc_client setup to a separate function\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "418cd20aa19b54554cab383e2fd0d1cb8c4732ee",
      "tree": "c101f0cd0bd6ed97bbf1781ca651e9fcf3d92c69",
      "parents": [
        "8b671b80707e4fc76adfe4387df07b3be1007c1e"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun Feb 22 15:52:13 2009 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 17:38:39 2009 -0400"
      },
      "message": "nfsd4: fix do_probe_callback errors\n\nThe errors returned aren\u0027t used.  Just return 0 and make them available\nto a dprintk().  Also, consistently use -ERRNO errors instead of nfs\nerrors.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nReviewed-by: Benny Halevy \u003cbhalevy@panasas.com\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": "d7fdcfe0aaaf6dffca6fa857bab374182fe7ca8b",
      "tree": "f53688b2496a98da148297972b4e27318810ec89",
      "parents": [
        "18f82731b7784ba81ee9b1ed6a8179b577fa898b"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sat Feb 21 15:39:54 2009 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 17:38:38 2009 -0400"
      },
      "message": "nfsd4: put_nfs4_client does not require state lock\n\nSince free_client() is guaranteed to only be called once, and to only\ntouch the client structure itself (not any common data structures), it\nhas no need for the state lock.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: Alexandros Batsakis \u003cbatsakis@netapp.com\u003e\n"
    },
    {
      "commit": "18f82731b7784ba81ee9b1ed6a8179b577fa898b",
      "tree": "ffb78832820057bedd98cd6e0cb6ef512bc77414",
      "parents": [
        "6150ef0dc7f734366d297e2eb5697ae458a1ea19"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sat Feb 21 15:23:01 2009 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 17:38:38 2009 -0400"
      },
      "message": "nfsd4: rename io_during_grace_disallowed\n\nUse a slightly clearer, more concise name.  Also removed unused\nargument.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\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": "7e0f7cf582abd6c85232331dfe726a4e4b0fd98e",
      "tree": "a6a8aa7d51538377df5e2ce076c347ccd63b6b5b",
      "parents": [
        "203a8c8e66278a5936a230edaac29017e50c88fb"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sat Feb 21 13:32:28 2009 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 17:38:37 2009 -0400"
      },
      "message": "nfsd4: fail when delegreturn gets a non-delegation stateid\n\nPrevious cleanup reveals an obvious (though harmless) bug: when\ndelegreturn gets a stateid that isn\u0027t for a delegation, it should return\nan error rather than doing nothing.\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": "3e633079e377d2b527a8390f63ceb887b5cabfbf",
      "tree": "ed2b9e5dea7b450a5d3e9ac7cb8e64c4b7ae14a5",
      "parents": [
        "819a8f539acf7838d62fec20e88401ff53303cd1"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sat Feb 21 13:17:19 2009 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 17:30:52 2009 -0400"
      },
      "message": "nfsd4: add a helper function to decide if stateid is delegation\n\nMake this check self-documenting.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "819a8f539acf7838d62fec20e88401ff53303cd1",
      "tree": "6eb00748efb8b39a3383c9a21cd2061a1b783188",
      "parents": [
        "fd03b09906c32aea7b47f1275c9cd6034141159d"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sat Feb 21 12:13:24 2009 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 17:30:52 2009 -0400"
      },
      "message": "nfsd4: remove some dprintk\u0027s\n\nI can\u0027t recall ever seeing these printk\u0027s used to debug a problem.  I\u0027ll\nhappily put them back if we see a case where they\u0027d be useful.  (Though\nif we do that the find_XXX() errors would probably be better\nreported in find_XXX() functions themselves.)\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "fd03b09906c32aea7b47f1275c9cd6034141159d",
      "tree": "636b8061f70333e5a3ccf456d6f9101c0bc81eea",
      "parents": [
        "dc9bf700ed2fc3eab50f31000b13fda781e7c9f1"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sat Feb 21 11:27:30 2009 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 17:30:52 2009 -0400"
      },
      "message": "nfsd4: remove unneeded local variable\n\nWe no longer need stidp.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "dc9bf700ed2fc3eab50f31000b13fda781e7c9f1",
      "tree": "902919540f05e9cf175ce0b3942d7c2e12a8a3e2",
      "parents": [
        "0c2a498fa6d33d8ca9c8a0c29039c41e1734cb9e"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sat Feb 21 11:14:43 2009 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 17:30:52 2009 -0400"
      },
      "message": "nfsd4: remove redundant \"if\" in nfs4_preprocess_stateid_op\n\nNote that we exit this first big \"if\" with stp \u003d\u003d NULL if and only if we\ntook the first branch; therefore, the second \"if\" is redundant, and we\ncan just combine the two, simplifying the logic.\n\nReviewed-by: Yang Hongyang \u003cyanghy@cn.fujitsu.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "0c2a498fa6d33d8ca9c8a0c29039c41e1734cb9e",
      "tree": "c12c7bc5bddbe3a21ded2d369169f7db5fe3b75b",
      "parents": [
        "a4455be0850009f5da9a3b82523079922cd4b26e"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sat Feb 21 11:11:50 2009 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 17:30:51 2009 -0400"
      },
      "message": "nfsd4: move check_stateid_generation check\n\nNo change in behavior.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "a4455be0850009f5da9a3b82523079922cd4b26e",
      "tree": "b60080aed062883bd9ac80ed5c03b6b09bb012a0",
      "parents": [
        "77f18f5e4ebdea35ec3d92343b0ed7546dc87637"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sat Feb 21 10:40:22 2009 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 17:30:51 2009 -0400"
      },
      "message": "nfsd4: trivial preprocess_stateid_op cleanup\n\nRemove a couple redundant comments, adjust style; no change in behavior.\n\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": "4ac35c2f794503d3acda20d98e89cf63f6e94332",
      "tree": "00a5afc26c1c59cda2c9b88cb07db5fc26e08bf6",
      "parents": [
        "e33d1ea60c3a17b8b5c2910b1eef4c1faf0ac450"
      ],
      "author": {
        "name": "wengang wang",
        "email": "wen.gang.wang@oracle.com",
        "time": "Tue Feb 10 11:27:51 2009 +0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 17:30:50 2009 -0400"
      },
      "message": "nfsd(v2/v3): fix the failure of creation from HPUX client\n\nsometimes HPUX nfs client sends a create request to linux nfs server(v2/v3).\nthe dump of the request is like:\n    obj_attributes\n        mode: value follows\n            set_it: value follows (1)\n            mode: 00\n        uid: no value\n            set_it: no value (0)\n        gid: value follows\n            set_it: value follows (1)\n            gid: 8030\n        size: value follows\n            set_it: value follows (1)\n            size: 0\n        atime: don\u0027t change\n            set_it: don\u0027t change (0)\n        mtime: don\u0027t change\n            set_it: don\u0027t change (0)\n\nnote that mode is 00(havs no rwx privilege even for the owner) and it requires\nto set size to 0.\n\nas current nfsd(v2/v3) implementation, the server does mainly 2 steps:\n1) creates the file in mode specified by calling vfs_create().\n2) sets attributes for the file by calling nfsd_setattr().\n\nat step 2), it finally calls file system specific setattr() function which may\nfail when checking permission because changing size needs WRITE privilege but\nit has none since mode is 000.\n\nfor this case, a new file created, we may simply ignore the request of\nsetting size to 0, so that WRITE privilege is not needed and the open\nsucceeds.\n\nSigned-off-by: Wengang Wang \u003cwen.gang.wang@oracle.com\u003e\n--\n vfs.c |   19 +++++++++++++++++++\n 1 file changed, 19 insertions(+)\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "e33d1ea60c3a17b8b5c2910b1eef4c1faf0ac450",
      "tree": "bbf0b7e86ac3860df9c1906711ad379bcc5681ed",
      "parents": [
        "e37da04ed145d45c2a698d7cb373a7e1191fbe86"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Mon Feb 09 12:30:43 2009 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 17:30:50 2009 -0400"
      },
      "message": "lockd: clean up blocking lock cases of nlsmvc_lock()\n\nNo change in behavior, just rearranging the switch so that we break out\nof the switch if and only if we\u0027re in the wait case.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "e37da04ed145d45c2a698d7cb373a7e1191fbe86",
      "tree": "d493557917d982e1b6fa5141779ba3984f1706d9",
      "parents": [
        "6c02eaa1d1e53b9b2cc27d0c6fff3e57da4b611f"
      ],
      "author": {
        "name": "Alexandros Batsakis",
        "email": "batsakis@netapp.com",
        "time": "Thu Dec 18 19:55:16 2008 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 17:30:50 2009 -0400"
      },
      "message": "nfsd: lock state around put client and delegation in nfsd4_cb_recall\n\nnot having the state locked before putting the client/delegation causes a bug.\nAlso removed the comment from the function header about the state being already locked\n\nSigned-off-by: Alexandros Batsakis \u003cbatsakis@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": "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": "13024b7b4097d33fe6bba34b1c83602e88753270",
      "tree": "695a3ac01b109b26fcf189ec88c38e07671629b7",
      "parents": [
        "99f88726381f676bba6e7dcf74b7412857d7946a"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Feb 02 17:04:03 2009 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 17:30:49 2009 -0400"
      },
      "message": "nfsd4: fix misplaced comment\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "99f88726381f676bba6e7dcf74b7412857d7946a",
      "tree": "17bd2f5a3da71b538e922f06434485b3ca369a69",
      "parents": [
        "686665619e4424b4f80c3a49e3e1229f27ea565c"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Feb 02 15:12:27 2009 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 17:30:48 2009 -0400"
      },
      "message": "nfsd: clarify exclusive create bitmask result.\n\nThe use of |\u003d is confusing--the bitmask is always initialized to zero in\nthis case, so we\u0027re effectively just doing an assignment here.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "686665619e4424b4f80c3a49e3e1229f27ea565c",
      "tree": "dc9d42d0dd883f5ef193dfaa84b6e1b411d47da9",
      "parents": [
        "12214cb78147d42da28bc0d1b2917584e0a8efcd"
      ],
      "author": {
        "name": "Manish Katiyar",
        "email": "mkatiyar@gmail.com",
        "time": "Thu Jan 29 20:53:57 2009 +0530"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 17:30:48 2009 -0400"
      },
      "message": "nfsd : Define NFSD only when FILE_LOCKING is enabled\n\nEnable NFSD only when FILE_LOCKING is enabled, since we don\u0027t want to\nsupport NFSD without FILE_LOCKING.\n\nSigned-off-by: Manish Katiyar \u003cmkatiyar@gmail.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "12214cb78147d42da28bc0d1b2917584e0a8efcd",
      "tree": "b144e1e643c4dc53ad584a5c82fb6a2c74ef04b3",
      "parents": [
        "f044ff830f1afe91e4388320f0c7b6e08d2e05f8"
      ],
      "author": {
        "name": "Qinghuang Feng",
        "email": "qhfeng.kernel@gmail.com",
        "time": "Mon Jan 12 03:13:53 2009 +0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 17:30:48 2009 -0400"
      },
      "message": "NFSD: cleanup for nfs3proc.c\n\nMSDOS_SUPER_MAGIC is defined in \u003clinux/magic.h\u003e,\nso use MSDOS_SUPER_MAGIC directly.\n\nSigned-off-by: Qinghuang Feng \u003cqhfeng.kernel@gmail.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "f044ff830f1afe91e4388320f0c7b6e08d2e05f8",
      "tree": "0656c99afbc46b094e276ea91078784cca1cf114",
      "parents": [
        "f1d110caf7d759eae2c02c84343f63d83db9b9be"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun Jan 11 15:24:04 2009 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 17:30:47 2009 -0400"
      },
      "message": "nfsd4: split open/lockowner release code\n\nThe caller always knows specifically whether it\u0027s releasing a lockowner\nor an openowner, and the code is simpler if we use separate functions\n(and the apparent recursion is gone).\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "f1d110caf7d759eae2c02c84343f63d83db9b9be",
      "tree": "fa1b99d4f37f8b0bbce56d220ad3dcba56af262a",
      "parents": [
        "2283963f27fdd56b185e49a964c290130c7c95ab"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun Jan 11 14:37:31 2009 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 17:30:47 2009 -0400"
      },
      "message": "nfsd4: remove a forward declaration\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "2283963f27fdd56b185e49a964c290130c7c95ab",
      "tree": "c1b54a9b233baa004e8a17662b6c3f08fdb523c4",
      "parents": [
        "a1e4ee22863d41a6fbb24310d7951836cb6dafe7"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun Jan 11 14:27:17 2009 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 17:30:47 2009 -0400"
      },
      "message": "nfsd4: split lockstateid/openstateid release logic\n\nThe flags here attempt to make the code more general, but I find it\nactually just adds confusion.\n\nI think it\u0027s clearer to separate the logic for the open and lock cases\nentirely.  And eventually we may want to separate the stateowner and\nstateid types as well, as many of the fields aren\u0027t shared between the\nlock and open cases.\n\nAlso move to eliminate forward references.\n\nStart with the stateid\u0027s.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nReviewed-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "a1e4ee22863d41a6fbb24310d7951836cb6dafe7",
      "tree": "2425e3d680964a493a2598cd30805053a7be5916",
      "parents": [
        "85bff8857c62ab2bc3ed204de3fcde74781bbdb2",
        "d0573facf21d1e5cfbc1ddac272b7592722e6c01"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 18 09:34:17 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 18 09:34:17 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6:\n  Staging: benet: remove driver now that it is merged in drivers/net/\n"
    },
    {
      "commit": "85bff8857c62ab2bc3ed204de3fcde74781bbdb2",
      "tree": "9d5c8998f4c13f2b9525897ef546559c8fd49cf5",
      "parents": [
        "d941d0ed6bf274ca267dd4de5861ffd24e1ae8f8",
        "76a67ec6fb79ff3570dcb5342142c16098299911"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 18 09:27:20 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 18 09:27:20 2009 -0700"
      },
      "message": "Merge branch \u0027for-2.6.29\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.29\u0027 of git://linux-nfs.org/~bfields/linux:\n  nfsd: nfsd should drop CAP_MKNOD for non-root\n  NFSD: provide encode routine for OP_OPENATTR\n"
    },
    {
      "commit": "d0573facf21d1e5cfbc1ddac272b7592722e6c01",
      "tree": "41d319003d57351da32c1a8968757a445fc0845e",
      "parents": [
        "8144737def6abc49457124424887436531bd6a50"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Mar 18 09:22:17 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Mar 18 09:22:17 2009 -0700"
      },
      "message": "Staging: benet: remove driver now that it is merged in drivers/net/\n\nThe benet driver is now in the proper place in drivers/net/benet, so we\ncan remove the staging version.\n\nAcked-by: Sathya Perla \u003csathyap@serverengines.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "d941d0ed6bf274ca267dd4de5861ffd24e1ae8f8",
      "tree": "3176a15279e2521d2391c7b2cec6f7b923faa64b",
      "parents": [
        "8144737def6abc49457124424887436531bd6a50",
        "9aac397525dc7945b1582a80cef5860516bca452"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 18 09:05:40 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 18 09:05:40 2009 -0700"
      },
      "message": "Merge branch \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc\n\n* \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:\n  powerpc/ps3: ps3_defconfig updates\n  powerpc/mm: Respect _PAGE_COHERENT on classic ppc32 SW\n  powerpc/5200: Enable CPU_FTR_NEED_COHERENT for MPC52xx\n  ps3/block: Replace mtd/ps3vram by block/ps3vram\n"
    },
    {
      "commit": "8144737def6abc49457124424887436531bd6a50",
      "tree": "ac41fa015dc996a72420e7321bd52359bf10fedb",
      "parents": [
        "99dbe10968b495c14badbd50aee59a7f0459c8e6",
        "6e2b75740bed35df98b8113300579e13ed2ce848"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 18 09:04:25 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 18 09:04:25 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:\n  module: fix refptr allocation and release order\n"
    },
    {
      "commit": "99dbe10968b495c14badbd50aee59a7f0459c8e6",
      "tree": "b37118ad1368cdc0f7f92a6f31aac1eb72f20cad",
      "parents": [
        "bd27e6d3d27ce1485a64a4851c4dcf58e663b132",
        "8a0845c51b2e300f5204a323b874f7f58ea0eff7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 18 09:03:18 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 18 09:03:18 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6:\n  USB: storage: Unusual USB device Prolific 2507 variation added\n  USB: Add device id for Option GTM380 to option driver\n  USB: Add Vendor/Product ID for new CDMA U727 to option driver\n  USB: Updated unusual-devs entry for USB mass storage on Nokia 6233\n  USB: Option: let cdc-acm handle Sony Ericsson F3507g / Dell 5530\n  USB: EHCI: expedite unlinks when the root hub is suspended\n  USB: EHCI: Fix isochronous URB leak\n  USB: option.c: add ZTE 622 modem device\n  USB: wusbcore/wa-xfer, fix lock imbalance\n  USB: misc/vstusb, fix lock imbalance\n  USB: misc/adutux, fix lock imbalance\n  USB: image/mdc800, fix lock imbalance\n  USB: atm/cxacru, fix lock imbalance\n  USB: unusual_devs: Add support for GI 0431 SD-Card interface\n  USB: serial: new cp2101 device id\n  USB: serial: ftdi: enable UART detection on gnICE JTAG adaptors blacklist interface0\n  USB: serial: add FTDI USB/Serial converter devices\n  USB: usbfs: keep async URBs until the device file is closed\n  USB: usbtmc: add protocol 1 support\n  USB: usbtmc: fix stupid bug in open()\n"
    },
    {
      "commit": "bd27e6d3d27ce1485a64a4851c4dcf58e663b132",
      "tree": "683704f98b330a066c3892fa12d855ad916a0f49",
      "parents": [
        "58cefd2b1e062147502302179503dc51907426d1",
        "f1aa2986795387ff785d1c13ad9cb9159b202e87"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 18 07:39:11 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 18 07:39:11 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:\n  ALSA: Fix vunmap and free order in snd_free_sgbuf_pages()\n  ALSA: mixart, fix lock imbalance\n  ALSA: pcm_oss, fix locking typo\n  ALSA: oss-mixer - Fixes recording gain control\n  ALSA: hda - Workaround for buggy DMA position on ATI controllers\n  ALSA: hda - Fix DMA mask for ATI controllers\n  ALSA: opl3sa2 - Fix NULL dereference when suspending snd_opl3sa2\n"
    },
    {
      "commit": "f1aa2986795387ff785d1c13ad9cb9159b202e87",
      "tree": "6e4dfbbeaaea06d3e9edd6b5ab1c5cfa20e5a2ab",
      "parents": [
        "a232ee66e015da806936dc410684f5639035f066",
        "dde332b660cf0bc2baaba678b52768a0fb6e6da2"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed Mar 18 08:04:36 2009 +0100"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed Mar 18 08:04:36 2009 +0100"
      },
      "message": "Merge branch \u0027fix/opl3sa2-suspend\u0027 into for-linus\n"
    },
    {
      "commit": "a232ee66e015da806936dc410684f5639035f066",
      "tree": "49e0812b995cc1d39ce8b11c272574906c67caf6",
      "parents": [
        "6af845e4eb36fb91b322aaf77ec1cab2220a48ad",
        "c673ba1c23941173c16ff24c7cb34199e826c8b5"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed Mar 18 08:04:16 2009 +0100"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed Mar 18 08:04:16 2009 +0100"
      },
      "message": "Merge branch \u0027fix/hda\u0027 into for-linus\n"
    },
    {
      "commit": "6af845e4eb36fb91b322aaf77ec1cab2220a48ad",
      "tree": "1c38682916ce378530e0be92f786a06b68c8f60e",
      "parents": [
        "82f5d57163abed2e5ff271d03217b6f90c616eb8"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Tue Mar 17 14:00:06 2009 +0100"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed Mar 18 08:04:01 2009 +0100"
      },
      "message": "ALSA: Fix vunmap and free order in snd_free_sgbuf_pages()\n\nIn snd_free_sgbuf_pags(), vunmap() is called after releasing the SG\npages, and it causes errors on Xen as Xen manages the pages\ndifferently.  Although no significant errors have been reported on\nthe actual hardware, this order should be fixed other way round,\nfirst vunmap() then free pages.\n\nCc: Jan Beulich \u003cjbeulich@novell.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "82f5d57163abed2e5ff271d03217b6f90c616eb8",
      "tree": "7831a13b62ad7d215dae78e8c94d8ea8241a0fc1",
      "parents": [
        "91054598f794fb5d8a0b1e747ff8e2e8fc2115b3"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Wed Mar 11 20:11:41 2009 +0100"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed Mar 18 08:03:49 2009 +0100"
      },
      "message": "ALSA: mixart, fix lock imbalance\n\nThere is an omitted unlock in one snd_mixart_hw_params fail path. Fix it.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "91054598f794fb5d8a0b1e747ff8e2e8fc2115b3",
      "tree": "7a82fa372c75662e24d873f425980014841d9043",
      "parents": [
        "36c7b833e5d2501142a371e4e75281d3a29fbd6b"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Wed Mar 11 20:11:40 2009 +0100"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed Mar 18 08:03:33 2009 +0100"
      },
      "message": "ALSA: pcm_oss, fix locking typo\n\ns/mutex_lock/mutex_unlock/ on 2 fail paths in snd_pcm_oss_proc_write.\nProbably a typo, lock should be unlocked when leaving the function.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "36c7b833e5d2501142a371e4e75281d3a29fbd6b",
      "tree": "750835589dd140c8e78e62b77da2124d46262448",
      "parents": [
        "041b62374c7fedc11a8a1eeda2868612d3d1436c"
      ],
      "author": {
        "name": "Viral Mehta",
        "email": "viral.mehta@einfochips.com",
        "time": "Tue Mar 10 15:43:18 2009 +0100"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed Mar 18 07:52:28 2009 +0100"
      },
      "message": "ALSA: oss-mixer - Fixes recording gain control\n\nAt the time of initialization, SNDRV_MIXER_OSS_PRESENT_PVOLUME bit is not\nset for MIC (slot 7).\nSo, the same should not be checked when an application tries to do gain\ncontrol for audio recording devices.\n\nJust check slot-\u003epresent for SNDRV_MIXER_OSS_PRESENT_CVOLUME independently.\nVerified with a simple application which opens /dev/dsp for recording and\n/dev/mixer for volume control.\n\nHave tested two usb audio mic devices.\n\nSigned-off-by: Viral Mehta \u003cviral.mehta@einfochips.com\u003e\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "c673ba1c23941173c16ff24c7cb34199e826c8b5",
      "tree": "6b0d49a2262902b5da308e7ae4ba15b31df2705d",
      "parents": [
        "09240cf429505891d6123ce14a29f58f2a60121e"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Tue Mar 17 07:49:14 2009 +0100"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed Mar 18 07:46:21 2009 +0100"
      },
      "message": "ALSA: hda - Workaround for buggy DMA position on ATI controllers\n\nThe position-buffer on ATI controllers are unreliable as well as\non VIA chips, thus the same workaround for DMA position reading as\nVIA is useful for ATI.\n\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "09240cf429505891d6123ce14a29f58f2a60121e",
      "tree": "5b5b460e0241b3fa3b02e596b47d9faf582f6372",
      "parents": [
        "c50ff7c04225c945b13d410d50fde6ff6c59d7ee"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Tue Mar 17 07:47:18 2009 +0100"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed Mar 18 07:45:41 2009 +0100"
      },
      "message": "ALSA: hda - Fix DMA mask for ATI controllers\n\nATI controllers (at least some SB0600 models) appear buggy to handle\n64bit DMA.  As a workaround, reset GCAP bit0 and let the driver to\nuse only 32bit DMA on these controllers.\n\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "58cefd2b1e062147502302179503dc51907426d1",
      "tree": "d6e5e83c6205ad3184f7c2826807e8786e528383",
      "parents": [
        "ee568b25ee9e160b32d1aef73d8b2ee9c05d34db",
        "d33a1976fbee1ee321d6f014333d8f03a39d526c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 17 20:55:40 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 17 20:55:40 2009 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:\n  ext4: fix bb_prealloc_list corruption due to wrong group locking\n  ext4: fix bogus BUG_ONs in in mballoc code\n  ext4: Print the find_group_flex() warning only once\n  ext4: fix header check in ext4_ext_search_right() for deep extent trees.\n"
    },
    {
      "commit": "9aac397525dc7945b1582a80cef5860516bca452",
      "tree": "9c4add511c285eeaf646bfa322da71fed45594e1",
      "parents": [
        "c71327ad9f925a4ddbf24db80ce66165104c4ed0"
      ],
      "author": {
        "name": "Geoff Levand",
        "email": "geoffrey.levand@am.sony.com",
        "time": "Fri Mar 13 06:52:22 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Mar 18 13:44:16 2009 +1100"
      },
      "message": "powerpc/ps3: ps3_defconfig updates\n\nUpdate ps3_defconfig.\n\nSets these options:\n\n  CONFIG_PS3_VRAM\u003dm\n  CONFIG_BLK_DEV_DM\u003dm\n  CONFIG_USB_HIDDEV\u003dy\n  CONFIG_EXT4_FS\u003dy\n\nSigned-off-by: Geoff Levand \u003cgeoffrey.levand@am.sony.com\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "c71327ad9f925a4ddbf24db80ce66165104c4ed0",
      "tree": "a1560ddfb827d580843d2a32ba19fb0fc85490d8",
      "parents": [
        "f507cd22035fdadd5dbb476dd05e9e7ee21c3b84",
        "a4bd6a93c3f14691c8a29e53eb04dc734b27f0db"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Mar 18 13:16:30 2009 +1100"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Mar 18 13:16:30 2009 +1100"
      },
      "message": "Merge commit \u0027gcl/merge\u0027 into merge\n"
    },
    {
      "commit": "6e2b75740bed35df98b8113300579e13ed2ce848",
      "tree": "225f75f803450c728d546c755f7398b102f8cf3d",
      "parents": [
        "ee568b25ee9e160b32d1aef73d8b2ee9c05d34db"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Mon Mar 16 18:13:36 2009 -0400"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Mar 18 09:31:21 2009 +1030"
      },
      "message": "module: fix refptr allocation and release order\n\nImpact: fix ref-after-free crash on failed module load\n\nFix refptr bug: Change refptr allocation and release order not to access a module\ndata structure pointed by \u0027mod\u0027 after freeing mod-\u003emodule_core.\nThis bug will cause kernel panic(e.g. failed to find undefined symbols).\n\nThis bug was reported on systemtap bugzilla.\nhttp://sources.redhat.com/bugzilla/show_bug.cgi?id\u003d9927\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "8a0845c51b2e300f5204a323b874f7f58ea0eff7",
      "tree": "34cb6686f8e5a30e078da7737441e1716e564c4e",
      "parents": [
        "e7f2f0d77a7b483a26054f29ba8393831b25a8a4"
      ],
      "author": {
        "name": "Thomas Bartosik",
        "email": "tbartdev@gmx-topmail.de",
        "time": "Mon Mar 16 16:04:38 2009 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 17 14:01:29 2009 -0700"
      },
      "message": "USB: storage: Unusual USB device Prolific 2507 variation added\n\nThe \"c-enter\" USB to Toshiba 1.8\" IDE enclosure needs special treatment\nto work flawlessly. This patch is absolutely trivial, as the integrated\nUSB-IDE bridge is already identified to be an \"unusual\" device, only the\nbcdDevice is different (lower) to the bcdDeviceMin already included in\nthe kernel.\nIt is a Prolific 2507 bridge.\n\nT:  Bus\u003d02 Lev\u003d01 Prnt\u003d01 Port\u003d02 Cnt\u003d01 Dev#\u003d  4 Spd\u003d480 MxCh\u003d 0\nD:  Ver\u003d 2.00 Cls\u003d00(\u003eifc ) Sub\u003d00 Prot\u003d00 MxPS\u003d64 #Cfgs\u003d  1\nP:  Vendor\u003d067b ProdID\u003d2507 Rev\u003d 0.01\nS:  Manufacturer\u003dProlific Technology Inc.\nS:  Product\u003dATAPI-6 Bridge Controller\nS:  SerialNumber\u003d00000272\nC:* #Ifs\u003d 1 Cfg#\u003d 1 Atr\u003dc0 MxPwr\u003d100mA\nI:* If#\u003d 0 Alt\u003d 0 #EPs\u003d 2 Cls\u003d08(stor.) Sub\u003d06 Prot\u003d50 Driver\u003dusb-storage\nE:  Ad\u003d01(O) Atr\u003d02(Bulk) MxPS\u003d 512 Ivl\u003d0ms\nE:  Ad\u003d82(I) Atr\u003d02(Bulk) MxPS\u003d 512 Ivl\u003d0ms\n\n\nSigned-off-by: Thomas Bartosik \u003ctbartdev@gmx-topmail.de\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "e7f2f0d77a7b483a26054f29ba8393831b25a8a4",
      "tree": "80ec36f92623bfcc0c018a7d8c98d67de1c70a8f",
      "parents": [
        "56a21827439a4d715b510bfaf488534e6f4ad2f8"
      ],
      "author": {
        "name": "Achilleas Kotsis",
        "email": "akots@exponent.gr",
        "time": "Mon Mar 16 16:35:02 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 17 14:01:29 2009 -0700"
      },
      "message": "USB: Add device id for Option GTM380 to option driver\n\nOption GTM380 in Modem mode uses Product ID 0x7201. This has been tested and works\non production systems for over 6 months.\n\nSigned-off-by: Achilleas Kotsis \u003cakots@exponent.gr\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "56a21827439a4d715b510bfaf488534e6f4ad2f8",
      "tree": "d6a13d541c85b95f3cbe79f743d09015c6a21a75",
      "parents": [
        "716a9c8561d9c50ec454f4fbd39a265892feda2c"
      ],
      "author": {
        "name": "Dirk Hohndel",
        "email": "hohndel@infradead.org",
        "time": "Sat Mar 14 20:47:39 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 17 14:01:29 2009 -0700"
      },
      "message": "USB: Add Vendor/Product ID for new CDMA U727 to option driver\n\n* newer versions of the Novatel Wireless U727 CDMA 3G USB stick\n   have a different Product ID (0x5010); adding this ID makes them\n   work just fine with the option driver\n\nSigned-off-by: Dirk Hohndel \u003chohndel@infradead.org\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "716a9c8561d9c50ec454f4fbd39a265892feda2c",
      "tree": "f421d71072906d4ac708de1eb48698b2928a65fe",
      "parents": [
        "0cc6bfe901b946df125d8e37186d8e45f876457d"
      ],
      "author": {
        "name": "Moritz Muehlenhoff",
        "email": "jmm@debian.org",
        "time": "Sat Mar 14 00:43:21 2009 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 17 14:01:29 2009 -0700"
      },
      "message": "USB: Updated unusual-devs entry for USB mass storage on Nokia 6233\n\nCurrent firmware revision 5.60 still behaves the same,\nso update the quirk up a (non-existing) 99.99 revision.\n\nhttp://bugs.debian.org/cgi-bin/bugreport.cgi?bug\u003d493415\n\nSigned-off-by: Moritz Muehlenhoff \u003cjmm@debian.org\u003e\nTested-by: Jan Heitkoetter \u003cdevnull@heitkoetter.net\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Phil Dibowitz \u003cphil@ipom.com\u003e\n\n"
    },
    {
      "commit": "0cc6bfe901b946df125d8e37186d8e45f876457d",
      "tree": "1483525f182a28f97901c4aeae4d86bce823015c",
      "parents": [
        "391016f6e2fe3b9979b4c6880a76e5e434d6947c"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dcbw@redhat.com",
        "time": "Thu Mar 12 06:53:00 2009 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 17 14:01:29 2009 -0700"
      },
      "message": "USB: Option: let cdc-acm handle Sony Ericsson F3507g / Dell 5530\n\nThe generic cdc-acm driver is now the best one to handle Sony Ericsson\nF3507g-based devices (which the Dell 5530 is a rebrand of), now that all\nthe pieces are in place (ie, cac477e8f1038c41b6f29d3161ce351462ef3df7).\nRemoving the IDs from option allows cdc-acm to handle the device.\n\nSigned-off-by: Dan Williams \u003cdcbw@redhat.com\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "391016f6e2fe3b9979b4c6880a76e5e434d6947c",
      "tree": "bb9f35814c294f09407d127597db6d906692910e",
      "parents": [
        "508db8c954d55ed30f870d2c24d741ba6269d13c"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Mon Mar 16 14:21:56 2009 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 17 14:01:29 2009 -0700"
      },
      "message": "USB: EHCI: expedite unlinks when the root hub is suspended\n\nThis patch (as1225) fixes a bug in ehci-hcd.  The condition for\nwhether unlinked QHs can become IDLE should not be that the controller\nis halted, but rather that the controller isn\u0027t running.  In other\nwords when the root hub is suspended, the hardware doesn\u0027t own any\nQHs.\n\nThis fixes a problem that can show up during hibernation: If a QH is\nonly partially unlinked when the root hub is frozen, then when the\nroot hub is thawed the QH won\u0027t be in the IDLE state.  As a result it\ncan\u0027t be used properly for new URB submissions.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nReported-by: Brandon Philips \u003cbrandon@ifup.org\u003e\nTested-by: Brandon Philips \u003cbrandon@ifup.org\u003e\nAcked-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: Stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "508db8c954d55ed30f870d2c24d741ba6269d13c",
      "tree": "aed956a468d6d2dcd6103554f535aed978eec4fe",
      "parents": [
        "9ea19b82f3126da4e47d6b94563a3c2cd586f6e2"
      ],
      "author": {
        "name": "Karsten Wiese",
        "email": "fzuuzf@googlemail.com",
        "time": "Thu Feb 26 01:47:48 2009 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 17 14:01:29 2009 -0700"
      },
      "message": "USB: EHCI: Fix isochronous URB leak\n\nehci-hcd uses usb_get_urb() and usb_put_urb() in an unbalanced way causing\nisochronous URB\u0027s kref.counts incrementing once per usb_submit_urb() call.\nThe culprit is *usb being set to NULL when usb_put_urb() is called after URB\nis given back.\nDue to other fixes there is no need for ehci-hcd to deal with usb_get_urb()\nnor usb_put_urb() anymore, so patch removes their usages in ehci-hcd.\nPatch also makes ehci_to_hcd(ehci)-\u003eself.bandwidth_allocated adjust, if a\nstream finishes.\n\nSigned-off-by: Karsten Wiese \u003cfzu@wemgehoertderstaat.de\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "9ea19b82f3126da4e47d6b94563a3c2cd586f6e2",
      "tree": "b1c5d7be1f02b0757fc1d24742a6c1316b1a28d7",
      "parents": [
        "49fa09215c03116449184057f062c6aea2f1d0b4"
      ],
      "author": {
        "name": "Albert Pauw",
        "email": "albert.pauw@gmail.com",
        "time": "Sun Mar 01 09:37:52 2009 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 17 14:01:29 2009 -0700"
      },
      "message": "USB: option.c: add ZTE 622 modem device\n\nPlease consider this small patch for the usb option-card driver.\nThis patch adds the ZTE 622 usb modem device.\n\nSigned-off-by: Albert Pauw \u003calbert.pauw@gmail.com\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "49fa09215c03116449184057f062c6aea2f1d0b4",
      "tree": "7323170750f671c2f2a8f18444a9861cf1455115",
      "parents": [
        "a08b43aee46ed4272ad7bee2c785edcf313339b3"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Wed Mar 11 21:47:40 2009 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 17 14:01:29 2009 -0700"
      },
      "message": "USB: wusbcore/wa-xfer, fix lock imbalance\n\nFix locking on one wa_urb_enqueue_b\u0027s fail path. There was omitted unlock.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: Inaky Perez-Gonzalez \u003cinaky.perez-gonzalez@intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a08b43aee46ed4272ad7bee2c785edcf313339b3",
      "tree": "8c51ce0a99c625a1c45a7b7149a1305be4fa5281",
      "parents": [
        "46c9844c4014be53c67622dcd3ba4302f36e9cac"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Wed Mar 11 21:47:39 2009 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 17 14:01:29 2009 -0700"
      },
      "message": "USB: misc/vstusb, fix lock imbalance\n\nMake sure we don\u0027t leak locked vstdev-\u003elock in vstusb_write. Unlock\nproperly on one fail path.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "46c9844c4014be53c67622dcd3ba4302f36e9cac",
      "tree": "eb02befaf420ec7e4da6848cd6d48321f759d3ad",
      "parents": [
        "909b6c3fc20ea772dc63a03986d74148fcbb1a1d"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Wed Mar 11 21:47:38 2009 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 17 14:01:29 2009 -0700"
      },
      "message": "USB: misc/adutux, fix lock imbalance\n\nDon\u0027t unlock adutux_mutex when not held.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "909b6c3fc20ea772dc63a03986d74148fcbb1a1d",
      "tree": "6956e6ff55b2fbe9b37a5f4abb751a043c2c8c56",
      "parents": [
        "eeafa64b7a4134da24d48ed944e48541f8171152"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Wed Mar 11 21:47:37 2009 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 17 14:01:28 2009 -0700"
      },
      "message": "USB: image/mdc800, fix lock imbalance\n\nThere is an omitted unlock in mdc800_usb_probe\u0027s fail path. Add it.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: Henning Zabel \u003chenning@uni-paderborn.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "eeafa64b7a4134da24d48ed944e48541f8171152",
      "tree": "72b750a2147ad0440995fca3fad25c01b3c07222",
      "parents": [
        "c497e715f93d148d751c055401568684eea0bf6b"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Wed Mar 11 21:47:36 2009 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 17 14:01:28 2009 -0700"
      },
      "message": "USB: atm/cxacru, fix lock imbalance\n\nWe do not hold mutex in one place in cxacru_cm, but unlock it on fail path.\nFix this.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: Simon Arlott \u003ccxacru@fire.lp0.eu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "c497e715f93d148d751c055401568684eea0bf6b",
      "tree": "c15b49d2506f4ae1ece618a6bb3db48a55c88a82",
      "parents": [
        "c6535668798b0644e1af5934c2aec0e912280449"
      ],
      "author": {
        "name": "Jan Dumon",
        "email": "j.dumon@option.com",
        "time": "Tue Mar 10 17:29:47 2009 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 17 14:01:28 2009 -0700"
      },
      "message": "USB: unusual_devs: Add support for GI 0431 SD-Card interface\n\nEnable the SD-Card interface on the GI 0431 HSUPA stick from Option.\n\nThe unusual_devs.h entry is necessary because the device descriptor is\nvendor-specific. That prevents usb-storage from binding to it as an\ninterface driver.\n\nT:  Bus\u003d07 Lev\u003d01 Prnt\u003d01 Port\u003d01 Cnt\u003d02 Dev#\u003d 15 Spd\u003d480 MxCh\u003d 0\nD:  Ver\u003d 2.00 Cls\u003dff(vend.) Sub\u003dff Prot\u003dff MxPS\u003d64 #Cfgs\u003d  1\nP:  Vendor\u003d0af0 ProdID\u003d7501 Rev\u003d 0.00\nS:  Manufacturer\u003dOption N.V.\nS:  Product\u003dGlobetrotter HSUPA Modem\nC:* #Ifs\u003d11 Cfg#\u003d 1 Atr\u003da0 MxPwr\u003d500mA\nI:* If#\u003d 0 Alt\u003d 0 #EPs\u003d 2 Cls\u003dff(vend.) Sub\u003dff Prot\u003dff Driver\u003dhso\nE:  Ad\u003d81(I) Atr\u003d02(Bulk) MxPS\u003d 512 Ivl\u003d0ms\nE:  Ad\u003d01(O) Atr\u003d02(Bulk) MxPS\u003d 512 Ivl\u003d4ms\nI:* If#\u003d 1 Alt\u003d 0 #EPs\u003d 2 Cls\u003dff(vend.) Sub\u003dff Prot\u003dff Driver\u003d(none)\nE:  Ad\u003d82(I) Atr\u003d02(Bulk) MxPS\u003d 512 Ivl\u003d0ms\nE:  Ad\u003d02(O) Atr\u003d02(Bulk) MxPS\u003d 512 Ivl\u003d4ms\nI:* If#\u003d 2 Alt\u003d 0 #EPs\u003d 2 Cls\u003dff(vend.) Sub\u003dff Prot\u003dff Driver\u003d(none)\nE:  Ad\u003d83(I) Atr\u003d02(Bulk) MxPS\u003d 512 Ivl\u003d0ms\nE:  Ad\u003d03(O) Atr\u003d02(Bulk) MxPS\u003d 512 Ivl\u003d4ms\nI:* If#\u003d 3 Alt\u003d 0 #EPs\u003d 2 Cls\u003dff(vend.) Sub\u003dff Prot\u003dff Driver\u003dhso\nE:  Ad\u003d84(I) Atr\u003d02(Bulk) MxPS\u003d 512 Ivl\u003d0ms\nE:  Ad\u003d04(O) Atr\u003d02(Bulk) MxPS\u003d 512 Ivl\u003d4ms\nI:* If#\u003d 4 Alt\u003d 0 #EPs\u003d 2 Cls\u003dff(vend.) Sub\u003dff Prot\u003dff Driver\u003d(none)\nE:  Ad\u003d85(I) Atr\u003d02(Bulk) MxPS\u003d 512 Ivl\u003d0ms\nE:  Ad\u003d05(O) Atr\u003d02(Bulk) MxPS\u003d 512 Ivl\u003d4ms\nI:* If#\u003d 5 Alt\u003d 0 #EPs\u003d 2 Cls\u003dff(vend.) Sub\u003dff Prot\u003dff Driver\u003d(none)\nE:  Ad\u003d86(I) Atr\u003d02(Bulk) MxPS\u003d 512 Ivl\u003d0ms\nE:  Ad\u003d06(O) Atr\u003d02(Bulk) MxPS\u003d 512 Ivl\u003d4ms\nI:* If#\u003d 6 Alt\u003d 0 #EPs\u003d 2 Cls\u003dff(vend.) Sub\u003dff Prot\u003dff Driver\u003dhso\nE:  Ad\u003d87(I) Atr\u003d02(Bulk) MxPS\u003d 512 Ivl\u003d0ms\nE:  Ad\u003d07(O) Atr\u003d02(Bulk) MxPS\u003d 512 Ivl\u003d4ms\nI:* If#\u003d 7 Alt\u003d 0 #EPs\u003d 2 Cls\u003dff(vend.) Sub\u003dff Prot\u003dff Driver\u003dhso\nE:  Ad\u003d88(I) Atr\u003d02(Bulk) MxPS\u003d 512 Ivl\u003d0ms\nE:  Ad\u003d08(O) Atr\u003d02(Bulk) MxPS\u003d 512 Ivl\u003d4ms\nI:* If#\u003d 8 Alt\u003d 0 #EPs\u003d 2 Cls\u003dff(vend.) Sub\u003dff Prot\u003dff Driver\u003d(none)\nE:  Ad\u003d89(I) Atr\u003d02(Bulk) MxPS\u003d 512 Ivl\u003d0ms\nE:  Ad\u003d09(O) Atr\u003d02(Bulk) MxPS\u003d 512 Ivl\u003d4ms\nI:* If#\u003d 9 Alt\u003d 0 #EPs\u003d 3 Cls\u003dff(vend.) Sub\u003dff Prot\u003dff Driver\u003dhso\nE:  Ad\u003d8a(I) Atr\u003d03(Int.) MxPS\u003d  64 Ivl\u003d2ms\nE:  Ad\u003d8b(I) Atr\u003d02(Bulk) MxPS\u003d 512 Ivl\u003d0ms\nE:  Ad\u003d0a(O) Atr\u003d02(Bulk) MxPS\u003d 512 Ivl\u003d4ms\nI:* If#\u003d10 Alt\u003d 0 #EPs\u003d 2 Cls\u003d08(stor.) Sub\u003d06 Prot\u003d50 Driver\u003dusb-storage\nE:  Ad\u003d0b(O) Atr\u003d02(Bulk) MxPS\u003d 512 Ivl\u003d0ms\nE:  Ad\u003d8c(I) Atr\u003d02(Bulk) MxPS\u003d 512 Ivl\u003d0ms\n\nSigned-off-by: Jan Dumon \u003cj.dumon@option.com\u003e\nSigned-off-by: Phil Dibowitz \u003cphil@ipom.com\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "c6535668798b0644e1af5934c2aec0e912280449",
      "tree": "5e77baab84bda5699d5805e37d4cb02fbf6ceb50",
      "parents": [
        "b0d659002168146ec6b03d1ef062d8dcf05ff510"
      ],
      "author": {
        "name": "Robert M. Kenney",
        "email": "rmk@unh.edu",
        "time": "Thu Feb 26 14:58:39 2009 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 17 14:01:28 2009 -0700"
      },
      "message": "USB: serial: new cp2101 device id\n\nFrom: Robert M. Kenney \u003crmk@unh.edu\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    }
  ],
  "next": "b0d659002168146ec6b03d1ef062d8dcf05ff510"
}
