diff options
| author | Trond Myklebust <trond.myklebust@fys.uio.no> | 2002-10-11 02:59:43 -0700 |
|---|---|---|
| committer | Trond Myklebust <trond.myklebust@fys.uio.no> | 2002-10-11 02:59:43 -0700 |
| commit | be6b809b10080c64c86ad3cc077b11651fb06ab1 (patch) | |
| tree | 32a534bf6242df83adfa0280b56c74339bd49785 /include/linux | |
| parent | c44ca0405d80b561e79c48b362ac38ccd4651d11 (diff) | |
[PATCH] A basic NFSv4 client for 2.5.x
In NFSv3, an RPC is retried if the special error NFSERR_JUKEBOX is
received. This generic bit of postprocessing happens invisibly for
synchronous RPC's, but in the async case, the ->tk_exit callback
must call nfs_async_handle_jukebox() by hand.
In NFSv4, we also need generic postprocessing of async RPC's, but
the details are different. Therefore, we don't want to call
nfs_async_handle_jukebox(); we want to call a different, NFSv4-specific
routine. Therefore, we want to move calls to nfs_async_handle_jukebox()
out of the "generic" NFS code and into NFSv3-specific routines. This
has already been done for async READ and WRITE in the preceding patches,
but there is still one outstanding case: the async REMOVE in sillyrename.
This patch removes nfs_async_handle_jukebox() from the async sillyrename
path, and puts in the NFSv3 ->unlink_done() rpc_op.
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/nfs_xdr.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/linux/nfs_xdr.h b/include/linux/nfs_xdr.h index bd3963d5dec6..008b14e03f20 100644 --- a/include/linux/nfs_xdr.h +++ b/include/linux/nfs_xdr.h @@ -375,7 +375,7 @@ struct nfs_rpc_ops { int (*remove) (struct inode *, struct qstr *); int (*unlink_setup) (struct rpc_message *, struct dentry *, struct qstr *); - void (*unlink_done) (struct dentry *, struct rpc_message *); + int (*unlink_done) (struct dentry *, struct rpc_task *); int (*rename) (struct inode *, struct qstr *, struct inode *, struct qstr *); int (*link) (struct inode *, struct inode *, struct qstr *); |
