open: clean up patch for nfs41_rpc_open()
nfs41_open() in open.c is no longer used for recovery, so made static and renamed to do_open(). renamed nfs41_rpc_open() back to nfs41_open() Signed-off-by: Casey Bodley <cbodley@citi.umich.edu>
This commit is contained in:
parent
8ef3ec9247
commit
6878e71ec0
6 changed files with 18 additions and 24 deletions
|
|
@ -391,7 +391,7 @@ int nfs41_delegation_to_open(
|
|||
claim.u.deleg_cur.delegate_stateid = &deleg_stateid;
|
||||
claim.u.deleg_cur.name = &open->file.name;
|
||||
|
||||
status = nfs41_rpc_open(open->session, &open->parent, &open->file,
|
||||
status = nfs41_open(open->session, &open->parent, &open->file,
|
||||
&open->owner, &claim, open->share_access, open->share_deny,
|
||||
OPEN4_NOCREATE, 0, 0, try_recovery, &open_stateid, &ignore, NULL);
|
||||
if (status)
|
||||
|
|
|
|||
|
|
@ -471,12 +471,4 @@ void nfs41_open_stateid_arg(
|
|||
IN nfs41_open_state *state,
|
||||
OUT struct __stateid_arg *arg);
|
||||
|
||||
int nfs41_open(
|
||||
IN OUT nfs41_open_state *state,
|
||||
IN uint32_t create,
|
||||
IN uint32_t createhow,
|
||||
IN uint32_t mode,
|
||||
IN bool_t try_recovery,
|
||||
OUT OPTIONAL nfs41_file_info *info);
|
||||
|
||||
#endif /* __NFS41__ */
|
||||
|
|
|
|||
|
|
@ -302,7 +302,7 @@ out:
|
|||
return status;
|
||||
}
|
||||
|
||||
int nfs41_rpc_open(
|
||||
int nfs41_open(
|
||||
IN nfs41_session *session,
|
||||
IN nfs41_path_fh *parent,
|
||||
IN nfs41_path_fh *file,
|
||||
|
|
|
|||
|
|
@ -997,7 +997,7 @@ int nfs41_lookup(
|
|||
OUT OPTIONAL nfs41_file_info *info_out,
|
||||
OUT nfs41_session **session_out);
|
||||
|
||||
int nfs41_rpc_open(
|
||||
int nfs41_open(
|
||||
IN nfs41_session *session,
|
||||
IN nfs41_path_fh *parent,
|
||||
IN nfs41_path_fh *file,
|
||||
|
|
|
|||
|
|
@ -185,13 +185,13 @@ static void client_state_remove(
|
|||
LeaveCriticalSection(&client->state.lock);
|
||||
}
|
||||
|
||||
int nfs41_open(
|
||||
static int do_open(
|
||||
IN OUT nfs41_open_state *state,
|
||||
IN uint32_t create,
|
||||
IN uint32_t createhow,
|
||||
IN uint32_t mode,
|
||||
IN bool_t try_recovery,
|
||||
OUT OPTIONAL nfs41_file_info *info)
|
||||
OUT nfs41_file_info *info)
|
||||
{
|
||||
open_claim4 claim;
|
||||
stateid4 open_stateid;
|
||||
|
|
@ -202,7 +202,7 @@ int nfs41_open(
|
|||
claim.claim = CLAIM_NULL;
|
||||
claim.u.null.filename = &state->file.name;
|
||||
|
||||
status = nfs41_rpc_open(state->session, &state->parent, &state->file,
|
||||
status = nfs41_open(state->session, &state->parent, &state->file,
|
||||
&state->owner, &claim, state->share_access, state->share_deny,
|
||||
create, createhow, mode, TRUE, &open_stateid, &delegation, info);
|
||||
if (status)
|
||||
|
|
@ -239,7 +239,7 @@ static int open_or_delegate(
|
|||
|
||||
/* get an open stateid if we have no delegation stateid */
|
||||
if (status)
|
||||
status = nfs41_open(state, create, createhow, mode, try_recovery, info);
|
||||
status = do_open(state, create, createhow, mode, try_recovery, info);
|
||||
|
||||
/* register the client's open state on success */
|
||||
if (status == NFS4_OK)
|
||||
|
|
|
|||
|
|
@ -78,26 +78,28 @@ static int recover_open(
|
|||
claim.claim = CLAIM_PREVIOUS;
|
||||
claim.u.prev.delegate_type = OPEN_DELEGATE_NONE;
|
||||
|
||||
status = nfs41_rpc_open(session, &open->parent, &open->file,
|
||||
status = nfs41_open(session, &open->parent, &open->file,
|
||||
&open->owner, &claim, open->share_access, open->share_deny,
|
||||
OPEN4_NOCREATE, 0, 0, FALSE, &stateid.stateid, &delegation, NULL);
|
||||
|
||||
if (status == NFS4_OK) {
|
||||
/* update the open stateid on success */
|
||||
memcpy(&open->stateid, &stateid.stateid, sizeof(stateid4));
|
||||
|
||||
} else if (status == NFS4ERR_NO_GRACE) {
|
||||
if (status == NFS4ERR_NO_GRACE) {
|
||||
dprintf(1, "not in grace period, retrying a normal open\n");
|
||||
status = nfs41_open(open, OPEN4_NOCREATE, 0, 0, FALSE, NULL);
|
||||
|
||||
/* update the stateid arg with the new open->stateid */
|
||||
memcpy(&stateid.stateid, &open->stateid, sizeof(stateid4));
|
||||
claim.claim = CLAIM_NULL;
|
||||
claim.u.null.filename = &open->file.name;
|
||||
|
||||
status = nfs41_open(session, &open->parent, &open->file,
|
||||
&open->owner, &claim, open->share_access, open->share_deny,
|
||||
OPEN4_NOCREATE, 0, 0, FALSE, &stateid.stateid, &delegation, NULL);
|
||||
}
|
||||
if (status)
|
||||
goto out;
|
||||
|
||||
AcquireSRWLockExclusive(&open->lock);
|
||||
|
||||
/* update the open stateid on success */
|
||||
memcpy(&open->stateid, &stateid.stateid, sizeof(stateid4));
|
||||
|
||||
open->layout = NULL;
|
||||
stateid.type = STATEID_OPEN;
|
||||
stateid.open = open;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue