Lines Matching defs:fh

291  * We have seen a case that the fh passed in is for "." which
292 * should be a VROOT node, however, the fh is different from the
293 * root fh stored in the mntinfo4_t. The invalid fh might be
295 * a later time. To avoid the panic, we drop the bad fh, use
296 * the root fh from mntinfo4_t, and print an error message
300 badrootfh_check(nfs4_sharedfh_t *fh, nfs4_fname_t *nm, mntinfo4_t *mi,
309 if ((s[0] == '.' && s[1] == '\0') && fh &&
310 !SFH4_SAME(mi->mi_rootfh, fh)) {
320 /* print the bad fh */
321 fhandle.fh_len = fh->sfh_fh.nfs_fh4_len;
322 bcopy(fh->sfh_fh.nfs_fh4_val, fhandle.fh_buf,
332 /* use mi_rootfh instead; fh will be rele by the caller */
333 fh = mi->mi_rootfh;
338 return (fh);
504 makenfs4node(nfs4_sharedfh_t *fh, nfs4_ga_res_t *garp, struct vfs *vfsp,
516 fh = badrootfh_check(fh, nm, mi, &had_badfh);
518 index = rtable4hash(fh);
524 vp = make_rnode4(fh, &rtable4[index], vfsp, nfs4_vnodeops,
554 rtable4hash(nfs4_sharedfh_t *fh)
556 return (((uintptr_t)fh / sizeof (*fh)) & rtable4mask);
568 make_rnode4(nfs4_sharedfh_t *fh, r4hashq_t *rhtp, struct vfs *vfsp,
583 if ((rp = r4find(rhtp, fh, vfsp)) != NULL) {
670 rp->r_fh = fh;
686 if (isrootfh(fh, rp))
696 if ((trp = r4find(rhtp, fh, vfsp)) != NULL) {
1025 r4find(r4hashq_t *rhtp, nfs4_sharedfh_t *fh, struct vfs *vfsp)
1034 if (vp->v_vfsp == vfsp && SFH4_SAME(rp->r_fh, fh)) {
1066 if (isrootfh(fh, rp)) {
1085 r4find_unlocked(nfs4_sharedfh_t *fh, struct vfs *vfsp)
1090 index = rtable4hash(fh);
1092 rp = r4find(&rtable4[index], fh, vfsp);
1913 isrootfh(nfs4_sharedfh_t *fh, rnode4_t *rp)
1918 if (SFH4_SAME(VTOMI4(RTOV4(rp))->mi_rootfh, fh))
1983 nfs4_fhandle_t fh, fh2;
1991 sfh4_copyval(checkrp->r_fh, &fh);
2010 if (nfs4cmpfhandle(&fh, &fh2) == 0) {
2011 cmn_err(CE_PANIC, "rnodes with same fs, fh "