Lines Matching defs:dfh
53 #define PRINT_LINK_DATA(fp, func, dfh, name, str) \
54 (void) fprintf(fp, "%s: name '%s', dfh ", \
56 debug_opaque_print(fp, dfh, sizeof (*(dfh))); \
60 #define PRINT_FULL_DATA(fp, func, dfh, fh, name, str) \
61 (void) fprintf(fp, "%s: name '%s', dfh ", \
63 debug_opaque_print(fp, dfh, sizeof (*(dfh))); \
91 static int fh_remove_mc_link(char *fhpath, fhandle_t *dfh, char *name,
93 static int fh_remove(char *fhpath, fhandle_t *dfh, char *name, char **pathp);
97 static fhlist_ent *fh_lookup_link(char *fhpath, fhandle_t *dfh, fhandle_t *fh,
107 static void nfslog_LOOKUP_calc(fhandle_t *dfh, char *name, fhandle_t *fh,
485 #define FH_ADD(path, dfh, fh, name) \
486 fh_add(path, dfh, fh, name)
490 * directory "dfh", to the table "fhlist". "fhlist" will be updated if the
495 fh_add(char *fhpath, fhandle_t *dfh, fhandle_t *fh, char *name)
503 PRINT_FULL_DATA(stdout, "fh_add", dfh, fh, name,
508 if (dfh && (memcmp(fh, dfh, NFS_FHSIZE) == 0)) {
513 error = db_add(fhpath, dfh, name, fh, flags);
518 PRINT_FULL_DATA(stdout, "fh_add", dfh, fh, name, "")
520 PRINT_FULL_DATA(stdout, "fh_add", dfh, fh, name, "")
562 fh_remove_mc_link(char *fhpath, fhandle_t *dfh, char *name, char **pathp)
569 str = nfslog_get_path(dfh, name, fhpath, "remove_mc_link");
586 fh_remove(char *fhpath, fhandle_t *dfh, char *name, char **pathp)
596 PRINT_LINK_DATA(stdout, "fh_remove", dfh, name,
602 PRINT_LINK_DATA(stdout, "fh_remove", dfh, name, "")
605 (void) fh_remove_mc_link(fhpath, dfh, name, pathp);
606 return (db_delete_link(fhpath, dfh, name));
650 * fh_lookup_link - search the fhtable for the link defined by (dfh,name,fh).
654 * 1. dfh, fh, name are all non-null: Only exact match accepted.
655 * 2. dfh,name non-null, fh null: return first match found.
656 * 3. fh,name non-null, dfh null: return first match found.
657 * 3. fh non-null, dfh, name null: return first match found.
663 fh_lookup_link(char *fhpath, fhandle_t *dfh, fhandle_t *fh, char *name,
671 PRINT_FULL_DATA(stdout, "fh_lookup_link", dfh, fh, name,
678 PRINT_FULL_DATA(stdout, "fh_lookup_link", dfh, fh, name, "")
688 /* Check if name and dfh match, if not search link */
689 if (((dfh == NULL) || !fh_compare(dfh, &fhrecp->dfh)) &&
696 PRINT_FULL_DATA(stdout, "fh_lookup_link", dfh, fh,
701 &fhrecp->dfh, fhrecp->name, "")
710 if ((dfh == NULL) || (name == NULL)) {
716 fhrecp = db_lookup_link(fhpath, dfh, name, fhrecp, errorp);
726 PRINT_FULL_DATA(stderr, "fh_lookup_link", dfh, fh,
729 &fhrecp->dfh, fhrecp->name, "")
912 if (memcmp(&prevfh, &fhrecp->dfh, sizeof (*fh)) == 0) {
913 /* dfh == prevfh but not an export point */
926 (void) memcpy(&prevfh, &fhrecp->dfh, sizeof (fhrecp->dfh));
1016 nfslog_LOOKUP_calc(fhandle_t *dfh, char *name, fhandle_t *fh,
1032 *pathp1 = nfslog_get_path(dfh, NULL, fhpath, str);
1038 *pathp1 = nfslog_get_path(dfh, name, fhpath, str);
1043 if (dfh == &public_fh) {
1047 name = nfslog_get_path(dfh, name, fhpath, str);
1051 if (fh_lookup_link(fhpath, dfh, fh, name, &fhrec, &error) != NULL) {
1058 if (error = FH_ADD(fhpath, dfh, fh, name)) {
1125 fhandle_t *dfh, *fh;
1127 dfh = &args->da_fhandle;
1135 dfh, fh, name, "")
1139 dfh = NFSLOG_GET_FHANDLE2(dfh);
1140 if ((dfh == &public_fh) && (name[0] == '\x80')) {
1146 *pathp1 = nfslog_get_path(dfh, name, fhpath, "lookup2");
1152 nfslog_LOOKUP_calc(dfh, name, fh, fhpath, pathp1, pathp2, "Lookup2");
1229 fhandle_t *dfh, *fh;
1233 dfh = &args->ca_da.da_fhandle;
1240 dfh, fh, name, "")
1244 dfh = NFSLOG_GET_FHANDLE2(dfh);
1246 *pathp1 = nfslog_get_path(dfh, name, fhpath, "create2");
1256 if (error = FH_ADD(fhpath, dfh, fh, name)) {
1273 fhandle_t *dfh;
1277 dfh = &args->da_fhandle;
1279 PRINT_LINK_DATA(stdout, "=============\nREMOVE2", dfh, name, "")
1283 dfh = NFSLOG_GET_FHANDLE2(dfh);
1285 *pathp1 = nfslog_get_path(dfh, name, fhpath, "remove2");
1293 if (error = fh_remove(fhpath, dfh, name, pathp1)) {
1300 * nfsl_RENAME2_fhargs - updates the dfh and name fields for the given fh
1357 fhandle_t *dfh, *fh;
1362 dfh = &args->la_to.da_fhandle;
1365 dfh, fh, name, "")
1369 dfh = NFSLOG_GET_FHANDLE2(dfh);
1373 *pathp2 = nfslog_get_path(dfh, name, fhpath, "link2 to");
1381 if (error = FH_ADD(fhpath, dfh, fh, name)) {
1397 fhandle_t *dfh;
1400 dfh = &args->sla_from.da_fhandle;
1403 dfh, name, "")
1405 dfh = NFSLOG_GET_FHANDLE2(dfh);
1407 *pathp1 = nfslog_get_path(dfh, name, fhpath, "symlink2");
1511 fhandle_t *dfh, *fh;
1514 dfh = NFSLOG_GET_FHANDLE3(&args->dir);
1523 dfh, fh, name, "")
1527 if ((dfh == &public_fh) && (name[0] == '\x80')) {
1533 *pathp1 = nfslog_get_path(dfh, name, fhpath, "lookup3");
1539 nfslog_LOOKUP_calc(dfh, name, fh, fhpath, pathp1, pathp2, "Lookup3");
1635 fhandle_t *dfh, *fh;
1639 dfh = NFSLOG_GET_FHANDLE3(&args->where.dir);
1648 dfh, fh, name, "")
1653 *pathp1 = nfslog_get_path(dfh, name, fhpath, "create3");
1664 if (error = FH_ADD(fhpath, dfh, fh, name)) {
1681 fhandle_t *dfh, *fh;
1685 dfh = NFSLOG_GET_FHANDLE3(&args->where.dir);
1694 dfh, fh, name, "")
1699 *pathp1 = nfslog_get_path(dfh, name, fhpath, "mkdir3");
1710 if (error = FH_ADD(fhpath, dfh, fh, name)) {
1727 fhandle_t *dfh;
1731 dfh = NFSLOG_GET_FHANDLE3(&args->object.dir);
1734 PRINT_LINK_DATA(stdout, "=============\nREMOVE3", dfh, name, "")
1739 *pathp1 = nfslog_get_path(dfh, name, fhpath, "remove3");
1747 if (error = fh_remove(fhpath, dfh, name, pathp1)) {
1763 fhandle_t *dfh;
1767 dfh = NFSLOG_GET_FHANDLE3(&args->object.dir);
1770 PRINT_LINK_DATA(stdout, "=============\nRMDIR3", dfh, name, "")
1775 *pathp1 = nfslog_get_path(dfh, name, fhpath, "rmdir3");
1783 if (error = fh_remove(fhpath, dfh, name, pathp1)) {
1844 fhandle_t *dfh, *fh;
1849 dfh = NFSLOG_GET_FHANDLE3(&args->link.dir);
1853 dfh, fh, name, "")
1859 *pathp2 = nfslog_get_path(dfh, name, fhpath, "link3 to");
1867 if (error = FH_ADD(fhpath, dfh, fh, name)) {
1884 fhandle_t *dfh, *fh;
1888 dfh = NFSLOG_GET_FHANDLE3(&args->where.dir);
1897 dfh, fh, name, "")
1902 *pathp1 = nfslog_get_path(dfh, name, fhpath, "mknod3");
1912 if (error = FH_ADD(fhpath, dfh, fh, name)) {
1928 fhandle_t *dfh, *fh;
1932 dfh = NFSLOG_GET_FHANDLE3(&args->where.dir);
1941 dfh, fh, name, "")
1946 *pathp1 = nfslog_get_path(dfh, name, fhpath, "symlink3");
1957 if (error = FH_ADD(fhpath, dfh, fh, name)) {
1995 fhandle_t *dfh, *fh;
2012 dfh = NFSLOG_GET_FHANDLE3(&args->dir);
2026 nfslog_LOOKUP_calc(dfh, name, fh,