forked from luck/tmp_suning_uos_patched
NFSv4.1: Simplify the pNFS return-on-close code
Confine it to the nfs4_do_close() code. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
This commit is contained in:
parent
7fdab069b7
commit
1f7977c136
|
@ -223,7 +223,7 @@ extern int nfs4_proc_exchange_id(struct nfs_client *clp, struct rpc_cred *cred);
|
|||
extern int nfs4_destroy_clientid(struct nfs_client *clp);
|
||||
extern int nfs4_init_clientid(struct nfs_client *, struct rpc_cred *);
|
||||
extern int nfs41_init_clientid(struct nfs_client *, struct rpc_cred *);
|
||||
extern int nfs4_do_close(struct nfs4_state *state, gfp_t gfp_mask, int wait, bool roc);
|
||||
extern int nfs4_do_close(struct nfs4_state *state, gfp_t gfp_mask, int wait);
|
||||
extern int nfs4_server_capabilities(struct nfs_server *server, struct nfs_fh *fhandle);
|
||||
extern int nfs4_proc_fs_locations(struct rpc_clnt *, struct inode *, const struct qstr *,
|
||||
struct nfs4_fs_locations *, struct page *);
|
||||
|
|
|
@ -2204,7 +2204,7 @@ static const struct rpc_call_ops nfs4_close_ops = {
|
|||
*
|
||||
* NOTE: Caller must be holding the sp->so_owner semaphore!
|
||||
*/
|
||||
int nfs4_do_close(struct nfs4_state *state, gfp_t gfp_mask, int wait, bool roc)
|
||||
int nfs4_do_close(struct nfs4_state *state, gfp_t gfp_mask, int wait)
|
||||
{
|
||||
struct nfs_server *server = NFS_SERVER(state->inode);
|
||||
struct nfs4_closedata *calldata;
|
||||
|
@ -2240,7 +2240,7 @@ int nfs4_do_close(struct nfs4_state *state, gfp_t gfp_mask, int wait, bool roc)
|
|||
calldata->res.fattr = &calldata->fattr;
|
||||
calldata->res.seqid = calldata->arg.seqid;
|
||||
calldata->res.server = server;
|
||||
calldata->roc = roc;
|
||||
calldata->roc = pnfs_roc(state->inode);
|
||||
nfs_sb_active(calldata->inode->i_sb);
|
||||
|
||||
msg.rpc_argp = &calldata->arg;
|
||||
|
@ -2257,8 +2257,6 @@ int nfs4_do_close(struct nfs4_state *state, gfp_t gfp_mask, int wait, bool roc)
|
|||
out_free_calldata:
|
||||
kfree(calldata);
|
||||
out:
|
||||
if (roc)
|
||||
pnfs_roc_release(state->inode);
|
||||
nfs4_put_open_state(state);
|
||||
nfs4_put_state_owner(sp);
|
||||
return status;
|
||||
|
|
|
@ -729,11 +729,8 @@ static void __nfs4_close(struct nfs4_state *state,
|
|||
if (!call_close) {
|
||||
nfs4_put_open_state(state);
|
||||
nfs4_put_state_owner(owner);
|
||||
} else {
|
||||
bool roc = pnfs_roc(state->inode);
|
||||
|
||||
nfs4_do_close(state, gfp_mask, wait, roc);
|
||||
}
|
||||
} else
|
||||
nfs4_do_close(state, gfp_mask, wait);
|
||||
}
|
||||
|
||||
void nfs4_close_state(struct nfs4_state *state, fmode_t fmode)
|
||||
|
|
Loading…
Reference in New Issue
Block a user