Commit 6c02eaa1 authored by J. Bruce Fields's avatar J. Bruce Fields

nfsd4: use helper for copying delegation filehandle

Signed-off-by: default avatarJ. Bruce Fields <bfields@citi.umich.edu>
parent a4773c08
...@@ -218,7 +218,7 @@ static int ...@@ -218,7 +218,7 @@ static int
encode_cb_recall(struct xdr_stream *xdr, struct nfs4_cb_recall *cb_rec) encode_cb_recall(struct xdr_stream *xdr, struct nfs4_cb_recall *cb_rec)
{ {
__be32 *p; __be32 *p;
int len = cb_rec->cbr_fhlen; int len = cb_rec->cbr_fh.fh_size;
RESERVE_SPACE(12+sizeof(cb_rec->cbr_stateid) + len); RESERVE_SPACE(12+sizeof(cb_rec->cbr_stateid) + len);
WRITE32(OP_CB_RECALL); WRITE32(OP_CB_RECALL);
...@@ -226,7 +226,7 @@ encode_cb_recall(struct xdr_stream *xdr, struct nfs4_cb_recall *cb_rec) ...@@ -226,7 +226,7 @@ encode_cb_recall(struct xdr_stream *xdr, struct nfs4_cb_recall *cb_rec)
WRITEMEM(&cb_rec->cbr_stateid.si_opaque, sizeof(stateid_opaque_t)); WRITEMEM(&cb_rec->cbr_stateid.si_opaque, sizeof(stateid_opaque_t));
WRITE32(cb_rec->cbr_trunc); WRITE32(cb_rec->cbr_trunc);
WRITE32(len); WRITE32(len);
WRITEMEM(cb_rec->cbr_fhval, len); WRITEMEM(&cb_rec->cbr_fh.fh_base, len);
return 0; return 0;
} }
......
...@@ -215,9 +215,7 @@ alloc_init_deleg(struct nfs4_client *clp, struct nfs4_stateid *stp, struct svc_f ...@@ -215,9 +215,7 @@ alloc_init_deleg(struct nfs4_client *clp, struct nfs4_stateid *stp, struct svc_f
dp->dl_stateid.si_stateownerid = current_delegid++; dp->dl_stateid.si_stateownerid = current_delegid++;
dp->dl_stateid.si_fileid = 0; dp->dl_stateid.si_fileid = 0;
dp->dl_stateid.si_generation = 0; dp->dl_stateid.si_generation = 0;
dp->dl_fhlen = current_fh->fh_handle.fh_size; fh_copy_shallow(&dp->dl_fh, &current_fh->fh_handle);
memcpy(dp->dl_fhval, &current_fh->fh_handle.fh_base,
current_fh->fh_handle.fh_size);
dp->dl_time = 0; dp->dl_time = 0;
atomic_set(&dp->dl_count, 1); atomic_set(&dp->dl_count, 1);
list_add(&dp->dl_perfile, &fp->fi_delegations); list_add(&dp->dl_perfile, &fp->fi_delegations);
......
...@@ -66,8 +66,7 @@ struct nfs4_cb_recall { ...@@ -66,8 +66,7 @@ struct nfs4_cb_recall {
u32 cbr_ident; u32 cbr_ident;
int cbr_trunc; int cbr_trunc;
stateid_t cbr_stateid; stateid_t cbr_stateid;
u32 cbr_fhlen; struct knfsd_fh cbr_fh;
char cbr_fhval[NFS4_FHSIZE];
struct nfs4_delegation *cbr_dp; struct nfs4_delegation *cbr_dp;
}; };
...@@ -86,8 +85,7 @@ struct nfs4_delegation { ...@@ -86,8 +85,7 @@ struct nfs4_delegation {
}; };
#define dl_stateid dl_recall.cbr_stateid #define dl_stateid dl_recall.cbr_stateid
#define dl_fhlen dl_recall.cbr_fhlen #define dl_fh dl_recall.cbr_fh
#define dl_fhval dl_recall.cbr_fhval
/* client delegation callback info */ /* client delegation callback info */
struct nfs4_callback { struct nfs4_callback {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment