diff options
author | Benny Halevy <bhalevy@panasas.com> | 2010-09-24 09:17:01 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2010-09-24 09:17:01 -0400 |
commit | dfb4f309830359352539919f23accc59a20a3758 (patch) | |
tree | c692dbb873e212bd919e6b98dac62478cb9ba968 /fs/nfs/unlink.c | |
parent | 7c563cc9f3f4aca70c27bd08a135499227f67014 (diff) |
NFSv4.1: keep seq_res.sr_slot as pointer rather than an index
Having to explicitly initialize sr_slotid to NFS4_MAX_SLOT_TABLE
resulted in numerous bugs. Keeping the current slot as a pointer
to the slot table is more straight forward and robust as it's
implicitly set up to NULL wherever the seq_res member is initialized
to zeroes.
Signed-off-by: Benny Halevy <bhalevy@panasas.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/unlink.c')
-rw-r--r-- | fs/nfs/unlink.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/fs/nfs/unlink.c b/fs/nfs/unlink.c index 47530aacebfd..9a16bad5d2ea 100644 --- a/fs/nfs/unlink.c +++ b/fs/nfs/unlink.c | |||
@@ -262,7 +262,6 @@ nfs_async_unlink(struct inode *dir, struct dentry *dentry) | |||
262 | status = PTR_ERR(data->cred); | 262 | status = PTR_ERR(data->cred); |
263 | goto out_free; | 263 | goto out_free; |
264 | } | 264 | } |
265 | data->res.seq_res.sr_slotid = NFS4_MAX_SLOT_TABLE; | ||
266 | data->res.dir_attr = &data->dir_attr; | 265 | data->res.dir_attr = &data->dir_attr; |
267 | 266 | ||
268 | status = -EBUSY; | 267 | status = -EBUSY; |
@@ -427,7 +426,7 @@ nfs_async_rename(struct inode *old_dir, struct inode *new_dir, | |||
427 | .flags = RPC_TASK_ASYNC, | 426 | .flags = RPC_TASK_ASYNC, |
428 | }; | 427 | }; |
429 | 428 | ||
430 | data = kmalloc(sizeof(*data), GFP_KERNEL); | 429 | data = kzalloc(sizeof(*data), GFP_KERNEL); |
431 | if (data == NULL) | 430 | if (data == NULL) |
432 | return ERR_PTR(-ENOMEM); | 431 | return ERR_PTR(-ENOMEM); |
433 | task_setup_data.callback_data = data, | 432 | task_setup_data.callback_data = data, |