)]}'
{
  "commit": "c36fca52f5e4594ffd0ff175b328966b0d393184",
  "tree": "6d771744cc49f0edc0d2b6b2f9fe919163002346",
  "parents": [
    "2c2618c6f29c41a0a966f14f05c8bf45fcabb750"
  ],
  "author": {
    "name": "Andy Adamson",
    "email": "andros@netapp.com",
    "time": "Thu Jan 06 02:04:32 2011 +0000"
  },
  "committer": {
    "name": "Trond Myklebust",
    "email": "Trond.Myklebust@netapp.com",
    "time": "Thu Jan 06 14:46:24 2011 -0500"
  },
  "message": "NFS refactor nfs_find_client and reference client across callback processing\n\nFixes a bug where the nfs_client could be freed during callback processing.\nRefactor nfs_find_client to use minorversion specific means to locate the\ncorrect nfs_client structure.\n\nIn the NFS layer, V4.0 clients are found using the callback_ident field in the\nCB_COMPOUND header.  V4.1 clients are found using the sessionID in the\nCB_SEQUENCE operation which is also compared against the sessionID associated\nwith the back channel thread after a successful CREATE_SESSION.\n\nEach of these methods finds the one an only nfs_client associated\nwith the incoming callback request - so nfs_find_client_next is not needed.\n\nIn the RPC layer, the pg_authenticate call needs to find the nfs_client. For\nthe v4.0 callback service, the callback identifier has not been decoded so a\nsearch by address, version, and minorversion is used.  The sessionid for the\nsessions based callback service has (usually) not been set for the\npg_authenticate on a CB_NULL call which can be sent prior to the return\nof a CREATE_SESSION call, so the sessionid associated with the back channel\nthread is not used to find the client in pg_authenticate for CB_NULL calls.\n\nPass the referenced nfs_client to each CB_COMPOUND operation being proceesed\nvia the new cb_process_state structure. The reference is held across\ncb_compound processing.\n\nUse the new cb_process_state struct to move the NFS4ERR_RETRY_UNCACHED_REP\nprocessing from process_op into nfs4_callback_sequence where it belongs.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c0b05497972bec28d6101843f79fea16c7908f59",
      "old_mode": 33188,
      "old_path": "fs/nfs/callback.c",
      "new_id": "15677e7bede5b8896fc468e9baa148ffb675fb66",
      "new_mode": 33188,
      "new_path": "fs/nfs/callback.c"
    },
    {
      "type": "modify",
      "old_id": "58d61a8ce8b91419ed29eaf17e22b823e28957ee",
      "old_mode": 33188,
      "old_path": "fs/nfs/callback.h",
      "new_id": "25e8802a51d15fa39cc98bbc1bcd960ad1c3e78d",
      "new_mode": 33188,
      "new_path": "fs/nfs/callback.h"
    },
    {
      "type": "modify",
      "old_id": "2950fca0c61b22cd0997d7c136cde40b90a0ae71",
      "old_mode": 33188,
      "old_path": "fs/nfs/callback_proc.c",
      "new_id": "b70e46da16fcfb477f558e589882575c6f11a1ec",
      "new_mode": 33188,
      "new_path": "fs/nfs/callback_proc.c"
    },
    {
      "type": "modify",
      "old_id": "05af212f0edfb1558e238bb0ce95a5ef7688987f",
      "old_mode": 33188,
      "old_path": "fs/nfs/callback_xdr.c",
      "new_id": "dbd0d649805ce4fe2f6cdc8de9665a945deb3ebe",
      "new_mode": 33188,
      "new_path": "fs/nfs/callback_xdr.c"
    },
    {
      "type": "modify",
      "old_id": "bc3a8620e8c34285c310e082abb4a5205251d875",
      "old_mode": 33188,
      "old_path": "fs/nfs/client.c",
      "new_id": "11eb9934c747c3aba65ab96962ae4d83aff2079a",
      "new_mode": 33188,
      "new_path": "fs/nfs/client.c"
    },
    {
      "type": "modify",
      "old_id": "7c803c916574c71b40446ca565745823154c8d93",
      "old_mode": 33188,
      "old_path": "fs/nfs/internal.h",
      "new_id": "bfa3a34af801d7d3d83e430b1257a3fa9c4976e3",
      "new_mode": 33188,
      "new_path": "fs/nfs/internal.h"
    },
    {
      "type": "modify",
      "old_id": "7c91260c44a93ef8870f6c0cd2620cb0619e113f",
      "old_mode": 33188,
      "old_path": "include/linux/sunrpc/bc_xprt.h",
      "new_id": "2c60e094fdec281e3b3c56b34f460e1a5b50431f",
      "new_mode": 33188,
      "new_path": "include/linux/sunrpc/bc_xprt.h"
    }
  ]
}
