Lines Matching refs:fh

60 #define	PRINT_FULL_DATA(fp, func, dfh, fh, name, str)			\  argument
64 if ((fh) != NULL) { \
66 debug_opaque_print(fp, fh, sizeof (*(fh))); \
74 fhandle_t fh; member
87 static void fh_print_all_keys(char *fhpath, fhandle_t *fh);
89 static fhlist_ent *fh_lookup(char *fhpath, fhandle_t *fh, fhlist_ent *fhrecp,
97 static fhlist_ent *fh_lookup_link(char *fhpath, fhandle_t *dfh, fhandle_t *fh,
101 static struct export_handle_cache *find_fh_in_export_cache(fhandle_t *fh);
102 static void add_fh_to_export_cache(fhandle_t *fh, char *path);
103 static char *update_export_point(char *fhpath, fhandle_t *fh, char *path);
104 static char *fh_print_absolute(char *fhpath, fhandle_t *fh, char *name);
107 static void nfslog_LOOKUP_calc(fhandle_t *dfh, char *name, fhandle_t *fh,
453 sprint_fid(char *buf, uint_t buflen, const fhandle_t *fh) in sprint_fid() argument
463 if (fh->fh_len > NFS_FHMAXDATA) in sprint_fid()
466 fhlen = fh->fh_len; in sprint_fid()
470 byte = fh->fh_data[i]; in sprint_fid()
476 fh_print_all_keys(char *fhpath, fhandle_t *fh) in fh_print_all_keys() argument
478 if ((fhpath == NULL) || (fh == NULL) || (debug <= 1)) in fh_print_all_keys()
481 db_print_all_keys(fhpath, &fh->fh_fsid, stdout); in fh_print_all_keys()
485 #define FH_ADD(path, dfh, fh, name) \ argument
486 fh_add(path, dfh, fh, name)
495 fh_add(char *fhpath, fhandle_t *dfh, fhandle_t *fh, char *name) in fh_add() argument
503 PRINT_FULL_DATA(stdout, "fh_add", dfh, fh, name, in fh_add()
508 if (dfh && (memcmp(fh, dfh, NFS_FHSIZE) == 0)) { in fh_add()
513 error = db_add(fhpath, dfh, name, fh, flags); in fh_add()
518 PRINT_FULL_DATA(stdout, "fh_add", dfh, fh, name, "") in fh_add()
520 PRINT_FULL_DATA(stdout, "fh_add", dfh, fh, name, "") in fh_add()
547 fh_lookup(char *fhpath, fhandle_t *fh, fhlist_ent *fhrecp, int *errorp) in fh_lookup() argument
551 debug_opaque_print(stdout, fh, sizeof (*fh)); in fh_lookup()
554 return (db_lookup(fhpath, fh, fhrecp, errorp)); in fh_lookup()
663 fh_lookup_link(char *fhpath, fhandle_t *dfh, fhandle_t *fh, char *name, in fh_lookup_link() argument
671 PRINT_FULL_DATA(stdout, "fh_lookup_link", dfh, fh, name, in fh_lookup_link()
678 PRINT_FULL_DATA(stdout, "fh_lookup_link", dfh, fh, name, "") in fh_lookup_link()
681 if (fh != NULL) { in fh_lookup_link()
682 fhrecp = db_lookup(fhpath, fh, fhrecp, errorp); in fh_lookup_link()
696 PRINT_FULL_DATA(stdout, "fh_lookup_link", dfh, fh, in fh_lookup_link()
724 if ((fh != NULL) && fh_compare(fh, &fhrecp->fh)) { in fh_lookup_link()
726 PRINT_FULL_DATA(stderr, "fh_lookup_link", dfh, fh, in fh_lookup_link()
756 find_fh_in_export_cache(fhandle_t *fh) in find_fh_in_export_cache() argument
761 if (memcmp(fh, &p->fh, sizeof (*fh)) == 0) in find_fh_in_export_cache()
768 add_fh_to_export_cache(fhandle_t *fh, char *path) in add_fh_to_export_cache() argument
790 (void) memcpy(&new->fh, fh, sizeof (*fh)); in add_fh_to_export_cache()
809 update_export_point(char *fhpath, fhandle_t *fh, char *path) in update_export_point() argument
813 if ((fh == NULL) || memcmp(&fh->fh_data, &fh->fh_xdata, fh->fh_len)) { in update_export_point()
818 if ((p = find_fh_in_export_cache(fh)) != NULL) { in update_export_point()
822 fh, ((p->name != NULL) ? p->name : ""), ""); in update_export_point()
840 if ((path = get_export_path(fh, path)) == NULL) { in update_export_point()
841 add_fh_to_export_cache(fh, NULL); in update_export_point()
846 PRINT_LINK_DATA(stdout, "update_export_point", fh, path, "") in update_export_point()
848 if (FH_ADD(fhpath, fh, fh, path)) { in update_export_point()
850 add_fh_to_export_cache(fh, path); in update_export_point()
860 get_export_path(fhandle_t *fh, char *path) in get_export_path() argument
876 fh_print_absolute(char *fhpath, fhandle_t *fh, char *name) in fh_print_absolute() argument
900 (void) memcpy((void *) &prevfh, (void *) fh, sizeof (*fh)); in fh_print_absolute()
901 fh = &prevfh; in fh_print_absolute()
904 while ((fhrecp = fh_lookup(fhpath, fh, &fhrec, &error)) != NULL && in fh_print_absolute()
912 if (memcmp(&prevfh, &fhrecp->dfh, sizeof (*fh)) == 0) { in fh_print_absolute()
928 assert(fh == &prevfh); in fh_print_absolute()
936 fhpath, fh, &parent[strlen(parent) + 1]); in fh_print_absolute()
942 len = 2 * (NFS_FHMAXDATA + fh->fh_len); /* fid instead */ in fh_print_absolute()
955 sprint_fid(str, len, fh); in fh_print_absolute()
1016 nfslog_LOOKUP_calc(fhandle_t *dfh, char *name, fhandle_t *fh, in nfslog_LOOKUP_calc() argument
1023 if (fh == &public_fh) { in nfslog_LOOKUP_calc()
1025 if (error = FH_ADD(fhpath, fh, fh, name)) { in nfslog_LOOKUP_calc()
1051 if (fh_lookup_link(fhpath, dfh, fh, name, &fhrec, &error) != NULL) { in nfslog_LOOKUP_calc()
1058 if (error = FH_ADD(fhpath, dfh, fh, name)) { in nfslog_LOOKUP_calc()
1125 fhandle_t *dfh, *fh; in nfslog_LOOKUP2_fhargs() local
1131 fh = &res->nfslog_diropres_u.dr_ok.drok_fhandle; in nfslog_LOOKUP2_fhargs()
1133 fh = NULL; in nfslog_LOOKUP2_fhargs()
1135 dfh, fh, name, "") in nfslog_LOOKUP2_fhargs()
1151 fh = NFSLOG_GET_FHANDLE2(&res->nfslog_diropres_u.dr_ok.drok_fhandle); in nfslog_LOOKUP2_fhargs()
1152 nfslog_LOOKUP_calc(dfh, name, fh, fhpath, pathp1, pathp2, "Lookup2"); in nfslog_LOOKUP2_fhargs()
1229 fhandle_t *dfh, *fh; in nfslog_CREATE2_fhargs() local
1236 fh = &res->nfslog_diropres_u.dr_ok.drok_fhandle; in nfslog_CREATE2_fhargs()
1238 fh = NULL; in nfslog_CREATE2_fhargs()
1240 dfh, fh, name, "") in nfslog_CREATE2_fhargs()
1255 fh = NFSLOG_GET_FHANDLE2(&res->nfslog_diropres_u.dr_ok.drok_fhandle); in nfslog_CREATE2_fhargs()
1256 if (error = FH_ADD(fhpath, dfh, fh, name)) { in nfslog_CREATE2_fhargs()
1357 fhandle_t *dfh, *fh; in nfslog_LINK2_fhargs() local
1360 fh = &args->la_from; in nfslog_LINK2_fhargs()
1365 dfh, fh, name, "") in nfslog_LINK2_fhargs()
1370 fh = NFSLOG_GET_FHANDLE2(fh); in nfslog_LINK2_fhargs()
1372 *pathp1 = nfslog_get_path(fh, NULL, fhpath, "link2 from"); in nfslog_LINK2_fhargs()
1381 if (error = FH_ADD(fhpath, dfh, fh, name)) { in nfslog_LINK2_fhargs()
1511 fhandle_t *dfh, *fh; in nfslog_LOOKUP3_fhargs() local
1518 fh = NFSLOG_GET_FHANDLE3( in nfslog_LOOKUP3_fhargs()
1521 fh = NULL; in nfslog_LOOKUP3_fhargs()
1523 dfh, fh, name, "") in nfslog_LOOKUP3_fhargs()
1538 fh = NFSLOG_GET_FHANDLE3(&res->nfslog_LOOKUP3res_u.object); in nfslog_LOOKUP3_fhargs()
1539 nfslog_LOOKUP_calc(dfh, name, fh, fhpath, pathp1, pathp2, "Lookup3"); in nfslog_LOOKUP3_fhargs()
1635 fhandle_t *dfh, *fh; in nfslog_CREATE3_fhargs() local
1643 fh = NFSLOG_GET_FHANDLE3( in nfslog_CREATE3_fhargs()
1646 fh = NULL; in nfslog_CREATE3_fhargs()
1648 dfh, fh, name, "") in nfslog_CREATE3_fhargs()
1663 fh = NFSLOG_GET_FHANDLE3(&res->nfslog_CREATE3res_u.ok.obj.handle); in nfslog_CREATE3_fhargs()
1664 if (error = FH_ADD(fhpath, dfh, fh, name)) { in nfslog_CREATE3_fhargs()
1681 fhandle_t *dfh, *fh; in nfslog_MKDIR3_fhargs() local
1689 fh = NFSLOG_GET_FHANDLE3( in nfslog_MKDIR3_fhargs()
1692 fh = NULL; in nfslog_MKDIR3_fhargs()
1694 dfh, fh, name, "") in nfslog_MKDIR3_fhargs()
1709 fh = NFSLOG_GET_FHANDLE3(&res->nfslog_MKDIR3res_u.obj.handle); in nfslog_MKDIR3_fhargs()
1710 if (error = FH_ADD(fhpath, dfh, fh, name)) { in nfslog_MKDIR3_fhargs()
1844 fhandle_t *dfh, *fh; in nfslog_LINK3_fhargs() local
1847 fh = NFSLOG_GET_FHANDLE3(&args->file); in nfslog_LINK3_fhargs()
1853 dfh, fh, name, "") in nfslog_LINK3_fhargs()
1858 *pathp1 = nfslog_get_path(fh, NULL, fhpath, "link3 from"); in nfslog_LINK3_fhargs()
1867 if (error = FH_ADD(fhpath, dfh, fh, name)) { in nfslog_LINK3_fhargs()
1884 fhandle_t *dfh, *fh; in nfslog_MKNOD3_fhargs() local
1892 fh = NFSLOG_GET_FHANDLE3( in nfslog_MKNOD3_fhargs()
1895 fh = NULL; in nfslog_MKNOD3_fhargs()
1897 dfh, fh, name, "") in nfslog_MKNOD3_fhargs()
1911 fh = NFSLOG_GET_FHANDLE3(&res->nfslog_MKNOD3res_u.obj.handle); in nfslog_MKNOD3_fhargs()
1912 if (error = FH_ADD(fhpath, dfh, fh, name)) { in nfslog_MKNOD3_fhargs()
1928 fhandle_t *dfh, *fh; in nfslog_SYMLINK3_fhargs() local
1936 fh = NFSLOG_GET_FHANDLE3( in nfslog_SYMLINK3_fhargs()
1939 fh = NULL; in nfslog_SYMLINK3_fhargs()
1941 dfh, fh, name, "") in nfslog_SYMLINK3_fhargs()
1956 fh = NFSLOG_GET_FHANDLE3(&res->nfslog_SYMLINK3res_u.obj.handle); in nfslog_SYMLINK3_fhargs()
1957 if (error = FH_ADD(fhpath, dfh, fh, name)) { in nfslog_SYMLINK3_fhargs()
1995 fhandle_t *dfh, *fh; in nfslog_READDIRPLUS3_fhargs() local
2024 fh = NFSLOG_GET_FHANDLE3(&ep->name_handle.handle); in nfslog_READDIRPLUS3_fhargs()
2026 nfslog_LOOKUP_calc(dfh, name, fh, in nfslog_READDIRPLUS3_fhargs()
2130 fhandle_t *fh; in nfslog_SHARE_fhargs() local
2141 fh = &args->sh_fh_buf; in nfslog_SHARE_fhargs()
2149 bcopy(fh->fh_xdata, fh->fh_data, fh->fh_xlen); in nfslog_SHARE_fhargs()
2153 fh_print_all_keys(fhpath, fh); in nfslog_SHARE_fhargs()
2155 if (fh_lookup_link(fhpath, fh, fh, in nfslog_SHARE_fhargs()
2157 if (error = FH_ADD(fhpath, fh, fh, args->sh_path)) { in nfslog_SHARE_fhargs()
2165 *pathp1 = nfslog_get_path(fh, NULL, fhpath, "share"); in nfslog_SHARE_fhargs()
2178 fhandle_t *fh; in nfslog_UNSHARE_fhargs() local
2189 fh = &args->sh_fh_buf; in nfslog_UNSHARE_fhargs()
2197 bcopy(fh->fh_xdata, fh->fh_data, fh->fh_xlen); in nfslog_UNSHARE_fhargs()
2201 fh_print_all_keys(fhpath, fh); in nfslog_UNSHARE_fhargs()
2204 *pathp1 = nfslog_get_path(fh, NULL, fhpath, "share"); in nfslog_UNSHARE_fhargs()
2207 if (error = fh_remove(fhpath, fh, args->sh_path, pathp1)) { in nfslog_UNSHARE_fhargs()
2220 fhandle_t *fh; in nfslog_GETFH_fhargs() local
2231 fh = &args->gfh_fh_buf; in nfslog_GETFH_fhargs()
2235 fh_print_all_keys(fhpath, fh); in nfslog_GETFH_fhargs()
2237 if (fh_lookup_link(fhpath, fh, fh, in nfslog_GETFH_fhargs()
2239 if (error = FH_ADD(fhpath, fh, fh, args->gfh_path)) { in nfslog_GETFH_fhargs()
2247 *pathp1 = nfslog_get_path(fh, NULL, fhpath, "getfh"); in nfslog_GETFH_fhargs()
2264 nfslog_get_path(fhandle_t *fh, char *name, char *fhpath, char *prtstr) in nfslog_get_path() argument
2266 char *pathp = fh_print_absolute(fhpath, fh, name); in nfslog_get_path()
2270 debug_opaque_print(stdout, fh, sizeof (*fh)); in nfslog_get_path()