aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/nfs4proc.c
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2007-07-02 13:58:33 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2007-07-10 23:40:39 -0400
commit9f958ab8858c75df800e0121b1920182820cbc39 (patch)
tree754bb9d68aac077825b40796e2acf716bce5df08 /fs/nfs/nfs4proc.c
parent88d9093997e1c73ca98db41b5605dbde7783845f (diff)
NFSv4: Reduce the chances of an open_owner identifier collision
Currently we just use a 32-bit counter. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/nfs4proc.c')
-rw-r--r--fs/nfs/nfs4proc.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
index 84d0b7e0dd67..1840ebc78fd3 100644
--- a/fs/nfs/nfs4proc.c
+++ b/fs/nfs/nfs4proc.c
@@ -253,7 +253,7 @@ static struct nfs4_opendata *nfs4_opendata_alloc(struct path *path,
253 p->o_arg.fh = NFS_FH(dir); 253 p->o_arg.fh = NFS_FH(dir);
254 p->o_arg.open_flags = flags, 254 p->o_arg.open_flags = flags,
255 p->o_arg.clientid = server->nfs_client->cl_clientid; 255 p->o_arg.clientid = server->nfs_client->cl_clientid;
256 p->o_arg.id = sp->so_id; 256 p->o_arg.id = sp->so_owner_id.id;
257 p->o_arg.name = &p->path.dentry->d_name; 257 p->o_arg.name = &p->path.dentry->d_name;
258 p->o_arg.server = server; 258 p->o_arg.server = server;
259 p->o_arg.bitmask = server->attr_bitmask; 259 p->o_arg.bitmask = server->attr_bitmask;
@@ -651,7 +651,7 @@ static void nfs4_open_prepare(struct rpc_task *task, void *calldata)
651 if (nfs_wait_on_sequence(data->o_arg.seqid, task) != 0) 651 if (nfs_wait_on_sequence(data->o_arg.seqid, task) != 0)
652 return; 652 return;
653 /* Update sequence id. */ 653 /* Update sequence id. */
654 data->o_arg.id = sp->so_id; 654 data->o_arg.id = sp->so_owner_id.id;
655 data->o_arg.clientid = sp->so_client->cl_clientid; 655 data->o_arg.clientid = sp->so_client->cl_clientid;
656 if (data->o_arg.claim == NFS4_OPEN_CLAIM_PREVIOUS) 656 if (data->o_arg.claim == NFS4_OPEN_CLAIM_PREVIOUS)
657 msg.rpc_proc = &nfs4_procedures[NFSPROC4_CLNT_OPEN_NOATTR]; 657 msg.rpc_proc = &nfs4_procedures[NFSPROC4_CLNT_OPEN_NOATTR];
@@ -3029,7 +3029,7 @@ static int _nfs4_proc_getlk(struct nfs4_state *state, int cmd, struct file_lock
3029 if (status != 0) 3029 if (status != 0)
3030 goto out; 3030 goto out;
3031 lsp = request->fl_u.nfs4_fl.owner; 3031 lsp = request->fl_u.nfs4_fl.owner;
3032 arg.lock_owner.id = lsp->ls_id; 3032 arg.lock_owner.id = lsp->ls_id.id;
3033 status = rpc_call_sync(server->client, &msg, 0); 3033 status = rpc_call_sync(server->client, &msg, 0);
3034 switch (status) { 3034 switch (status) {
3035 case 0: 3035 case 0:
@@ -3243,7 +3243,7 @@ static struct nfs4_lockdata *nfs4_alloc_lockdata(struct file_lock *fl,
3243 goto out_free; 3243 goto out_free;
3244 p->arg.lock_stateid = &lsp->ls_stateid; 3244 p->arg.lock_stateid = &lsp->ls_stateid;
3245 p->arg.lock_owner.clientid = server->nfs_client->cl_clientid; 3245 p->arg.lock_owner.clientid = server->nfs_client->cl_clientid;
3246 p->arg.lock_owner.id = lsp->ls_id; 3246 p->arg.lock_owner.id = lsp->ls_id.id;
3247 p->lsp = lsp; 3247 p->lsp = lsp;
3248 atomic_inc(&lsp->ls_count); 3248 atomic_inc(&lsp->ls_count);
3249 p->ctx = get_nfs_open_context(ctx); 3249 p->ctx = get_nfs_open_context(ctx);