Lines Matching defs:fh

725 	fhandle_t fh;
792 fh.fh_len = 0;
793 fhlen = rdirplus ? fh.fh_len + 1 : 0;
918 /* guess that fh size will be same as parent */
965 error = nfs4_parsefattr(&nmrep, NULL, nvattrp, &fh, NULL, NULL);
978 nfs4_default_attrs_for_referral_trigger(dnp, dp->d_name, namlen, nvattrp, &fh);
1002 fhlen = fh.fh_len + 1;
1012 dp->d_name[dp->d_namlen+1] = fh.fh_len;
1013 bcopy(fh.fh_data, &dp->d_name[dp->d_namlen+2], fh.fh_len);
1016 fh.fh_len = 0;
1017 fhlen = fh.fh_len + 1;
4644 fhandle_t fh;
4823 error = nfs4_parsefattr(&nmrep, NULL, &nvattr, &fh, NULL, NULL);
4830 if (!create && np && !NFS_CMPFH(np, fh.fh_data, fh.fh_len)) {
4831 // XXX for the open case, what if fh doesn't match the vnode we think we're opening?
4851 error = nfs4_open_confirm_rpc(nmp, dnp, fh.fh_data, fh.fh_len, noop, sid, thd, cred, &nvattr, &xid);
4874 if (!error && !np && fh.fh_len) {
4877 error = nfs_nget(NFSTOMP(dnp), dnp, cnp, fh.fh_data, fh.fh_len, &nvattr, &xid, rq.r_auth, NG_MAKEENTRY, &newnp);
4904 if (NFS_CMPFH(np, fh.fh_data, fh.fh_len)) {
4918 /* don't need to send a separate delegreturn for fh */
4919 fh.fh_len = 0;
4924 if (fh.fh_len) /* return fh's delegation if it wasn't for np */
4925 nfs4_delegreturn_rpc(nmp, fh.fh_data, fh.fh_len, &dstateid, 0, thd, cred);
4979 fhandle_t fh;
5172 error = nfs4_parsefattr(&nmrep, NULL, &nvattr, &fh, NULL, NULL);
5179 if (!NFS_CMPFH(np, fh.fh_data, fh.fh_len)) {
5180 // XXX what if fh doesn't match the vnode we think we're re-opening?
5237 fhandle_t fh;
5383 error = nfs4_parsefattr(&nmrep, NULL, &nvattr, &fh, NULL, NULL);
5390 if (!NFS_CMPFH(np, fh.fh_data, fh.fh_len)) {
5391 // XXX what if fh doesn't match the vnode we think we're re-opening?
5898 fhandle_t fh;
5922 fh.fh_len = np->n_fhsize;
5923 bcopy(np->n_fhp, &fh.fh_data, fh.fh_len);
5925 error = nfs4_delegreturn_rpc(NFSTONMP(np), fh.fh_data, fh.fh_len, &dstateid, flags, thd, cred);
6293 fhandle_t fh;
6402 error = nfs4_parsefattr(&nmrep, NULL, &nvattr, &fh, NULL, NULL);
6432 if (!error && fh.fh_len) {
6435 error = nfs_nget(NFSTOMP(dnp), dnp, cnp, fh.fh_data, fh.fh_len, &nvattr, &xid, rq.r_auth, NG_MAKEENTRY, &np);
6771 fhandle_t fh;
6835 error = nfs4_parsefattr(&nmrep, NULL, &nvattr, &fh, NULL, NULL);
6837 if (!NFS_BITMAP_ISSET(nvattr.nva_bitmap, NFS_FATTR_FILEHANDLE) || !fh.fh_len) {
6841 if (!np->n_attrdirfh || (*np->n_attrdirfh != fh.fh_len)) {
6842 /* (re)allocate attrdir fh buffer */
6845 MALLOC(np->n_attrdirfh, u_char*, fh.fh_len+1, M_TEMP, M_WAITOK);
6851 /* cache the attrdir fh in the node */
6852 *np->n_attrdirfh = fh.fh_len;
6853 bcopy(fh.fh_data, np->n_attrdirfh+1, fh.fh_len);
6856 error = nfs_nget(NFSTOMP(np), NULL, &cn, fh.fh_data, fh.fh_len, &nvattr, &xid, rq.r_auth, 0, &adnp);
6925 fhandle_t fh;
6939 fh.fh_len = 0;
7239 error = nfs4_parsefattr(&nmrep, NULL, &nvattr, &fh, NULL, NULL);
7241 if (NFS_BITMAP_ISSET(nvattr.nva_bitmap, NFS_FATTR_FILEHANDLE) && fh.fh_len) {
7242 if (!np->n_attrdirfh || (*np->n_attrdirfh != fh.fh_len)) {
7243 /* (re)allocate attrdir fh buffer */
7246 MALLOC(np->n_attrdirfh, u_char*, fh.fh_len+1, M_TEMP, M_WAITOK);
7249 /* remember the attrdir fh in the node */
7250 *np->n_attrdirfh = fh.fh_len;
7251 bcopy(fh.fh_data, np->n_attrdirfh+1, fh.fh_len);
7259 error = nfs_nget(NFSTOMP(np), NULL, &cn, fh.fh_data, fh.fh_len, &nvattr, &xid, rq.r_auth, 0, &adnp);
7271 fh.fh_len = 0;
7333 error = nfs4_parsefattr(&nmrep, NULL, &nvattr, &fh, NULL, NULL);
7335 if (!NFS_BITMAP_ISSET(nvattr.nva_bitmap, NFS_FATTR_FILEHANDLE) || !fh.fh_len) {
7359 error = nfs4_open_confirm_rpc(nmp, adnp ? adnp : np, fh.fh_data, fh.fh_len, noop, &newnofp->nof_stateid, thd, cred, &nvattr, &xid);
7388 if (!error && !anp && fh.fh_len) {
7391 error = nfs_nget(NFSTOMP(np), adnp, cnp, fh.fh_data, fh.fh_len, &nvattr, &xid, rq.r_auth, NG_MAKEENTRY, &anp);
7452 if (NFS_CMPFH(anp, fh.fh_data, fh.fh_len)) {
7466 /* don't need to send a separate delegreturn for fh */
7467 fh.fh_len = 0;
7472 if (fh.fh_len) /* return fh's delegation if it wasn't for anp */
7473 nfs4_delegreturn_rpc(nmp, fh.fh_data, fh.fh_len, &dstateid, 0, thd, cred);