diff options
author | J. Bruce Fields <bfields@citi.umich.edu> | 2009-02-02 17:30:51 -0500 |
---|---|---|
committer | J. Bruce Fields <bfields@citi.umich.edu> | 2009-03-18 17:30:49 -0400 |
commit | 6c02eaa1d1e53b9b2cc27d0c6fff3e57da4b611f (patch) | |
tree | af558f47858043d7c326c5b3d889c9447e65aaac /fs/nfsd | |
parent | a4773c08f2872626cb923433284488fbe8acb0ae (diff) |
nfsd4: use helper for copying delegation filehandle
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Diffstat (limited to 'fs/nfsd')
-rw-r--r-- | fs/nfsd/nfs4callback.c | 4 | ||||
-rw-r--r-- | fs/nfsd/nfs4state.c | 4 |
2 files changed, 3 insertions, 5 deletions
diff --git a/fs/nfsd/nfs4callback.c b/fs/nfsd/nfs4callback.c index c464181b5994..c6804db33c17 100644 --- a/fs/nfsd/nfs4callback.c +++ b/fs/nfsd/nfs4callback.c | |||
@@ -218,7 +218,7 @@ static int | |||
218 | encode_cb_recall(struct xdr_stream *xdr, struct nfs4_cb_recall *cb_rec) | 218 | encode_cb_recall(struct xdr_stream *xdr, struct nfs4_cb_recall *cb_rec) |
219 | { | 219 | { |
220 | __be32 *p; | 220 | __be32 *p; |
221 | int len = cb_rec->cbr_fhlen; | 221 | int len = cb_rec->cbr_fh.fh_size; |
222 | 222 | ||
223 | RESERVE_SPACE(12+sizeof(cb_rec->cbr_stateid) + len); | 223 | RESERVE_SPACE(12+sizeof(cb_rec->cbr_stateid) + len); |
224 | WRITE32(OP_CB_RECALL); | 224 | WRITE32(OP_CB_RECALL); |
@@ -226,7 +226,7 @@ encode_cb_recall(struct xdr_stream *xdr, struct nfs4_cb_recall *cb_rec) | |||
226 | WRITEMEM(&cb_rec->cbr_stateid.si_opaque, sizeof(stateid_opaque_t)); | 226 | WRITEMEM(&cb_rec->cbr_stateid.si_opaque, sizeof(stateid_opaque_t)); |
227 | WRITE32(cb_rec->cbr_trunc); | 227 | WRITE32(cb_rec->cbr_trunc); |
228 | WRITE32(len); | 228 | WRITE32(len); |
229 | WRITEMEM(cb_rec->cbr_fhval, len); | 229 | WRITEMEM(&cb_rec->cbr_fh.fh_base, len); |
230 | return 0; | 230 | return 0; |
231 | } | 231 | } |
232 | 232 | ||
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c index 41a3590ef2cc..7f616e928a57 100644 --- a/fs/nfsd/nfs4state.c +++ b/fs/nfsd/nfs4state.c | |||
@@ -215,9 +215,7 @@ alloc_init_deleg(struct nfs4_client *clp, struct nfs4_stateid *stp, struct svc_f | |||
215 | dp->dl_stateid.si_stateownerid = current_delegid++; | 215 | dp->dl_stateid.si_stateownerid = current_delegid++; |
216 | dp->dl_stateid.si_fileid = 0; | 216 | dp->dl_stateid.si_fileid = 0; |
217 | dp->dl_stateid.si_generation = 0; | 217 | dp->dl_stateid.si_generation = 0; |
218 | dp->dl_fhlen = current_fh->fh_handle.fh_size; | 218 | fh_copy_shallow(&dp->dl_fh, ¤t_fh->fh_handle); |
219 | memcpy(dp->dl_fhval, ¤t_fh->fh_handle.fh_base, | ||
220 | current_fh->fh_handle.fh_size); | ||
221 | dp->dl_time = 0; | 219 | dp->dl_time = 0; |
222 | atomic_set(&dp->dl_count, 1); | 220 | atomic_set(&dp->dl_count, 1); |
223 | list_add(&dp->dl_perfile, &fp->fi_delegations); | 221 | list_add(&dp->dl_perfile, &fp->fi_delegations); |