Lines Matching refs:fhp
74 * @fhp: OUT: filled-in server file handle
78 * %true: @fhp has been initialized
81 svcxdr_decode_nfs_fh3(struct xdr_stream *xdr, struct svc_fh *fhp)
93 fh_init(fhp, NFS3_FHSIZE);
94 fhp->fh_handle.fh_size = size;
95 memcpy(&fhp->fh_handle.fh_raw, p, size);
123 svcxdr_encode_nfs_fh3(struct xdr_stream *xdr, const struct svc_fh *fhp)
125 u32 size = fhp->fh_handle.fh_size;
134 memcpy(p, &fhp->fh_handle.fh_raw, size);
140 svcxdr_encode_post_op_fh3(struct xdr_stream *xdr, const struct svc_fh *fhp)
144 if (!svcxdr_encode_nfs_fh3(xdr, fhp))
202 svcxdr_decode_diropargs3(struct xdr_stream *xdr, struct svc_fh *fhp,
205 return svcxdr_decode_nfs_fh3(xdr, fhp) &&
339 const struct svc_fh *fhp, const struct kstat *stat)
366 switch(fsid_source(fhp)) {
368 fsid = (u64)fhp->fh_export->ex_fsid;
371 fsid = ((u64 *)fhp->fh_export->ex_uuid)[0];
372 fsid ^= ((u64 *)fhp->fh_export->ex_uuid)[1];
375 fsid = (u64)huge_encode_dev(fhp->fh_dentry->d_sb->s_dev);
390 svcxdr_encode_wcc_attr(struct xdr_stream *xdr, const struct svc_fh *fhp)
397 p = xdr_encode_hyper(p, (u64)fhp->fh_pre_size);
398 p = encode_nfstime3(p, &fhp->fh_pre_mtime);
399 encode_nfstime3(p, &fhp->fh_pre_ctime);
405 svcxdr_encode_pre_op_attr(struct xdr_stream *xdr, const struct svc_fh *fhp)
407 if (!fhp->fh_pre_saved) {
415 return svcxdr_encode_wcc_attr(xdr, fhp);
422 * @fhp: File handle to encode
430 const struct svc_fh *fhp)
432 struct dentry *dentry = fhp->fh_dentry;
440 if (fhp->fh_no_wcc || !dentry || !d_really_is_positive(dentry))
442 if (fh_getattr(fhp, &stat) != nfs_ok)
448 if (!svcxdr_encode_fattr3(rqstp, xdr, fhp, &stat))
462 const struct svc_fh *fhp)
464 struct dentry *dentry = fhp->fh_dentry;
466 if (!dentry || !d_really_is_positive(dentry) || !fhp->fh_post_saved)
470 if (!svcxdr_encode_pre_op_attr(xdr, fhp))
476 if (!svcxdr_encode_fattr3(rqstp, xdr, fhp, &fhp->fh_post_attr))
484 if (!svcxdr_encode_post_op_attr(rqstp, xdr, fhp))
983 compose_entry_fh(struct nfsd3_readdirres *cd, struct svc_fh *fhp,
1014 rv = fh_compose(fhp, exp, dchild, &cd->fh);
1111 struct svc_fh *fhp = &resp->scratch;
1115 fh_init(fhp, NFS3_FHSIZE);
1116 if (compose_entry_fh(resp, fhp, name, namlen, ino) != nfs_ok)
1119 if (!svcxdr_encode_post_op_attr(resp->rqstp, xdr, fhp))
1121 if (!svcxdr_encode_post_op_fh3(xdr, fhp))
1126 fh_put(fhp);