2413 break;
2414
2415 case _PC_TIMESTAMP_RESOLUTION:
2416 /*
2417 * HSFS keeps, at best, 1/100 second timestamp resolution.
2418 */
2419 *valp = 10000000L;
2420 break;
2421
2422 default:
2423 error = fs_pathconf(vp, cmd, valp, cr, ct);
2424 break;
2425 }
2426
2427 return (error);
2428 }
2429
2430
2431
2432 const fs_operation_def_t hsfs_vnodeops_template[] = {
2433 VOPNAME_OPEN, { .vop_open = hsfs_open },
2434 VOPNAME_CLOSE, { .vop_close = hsfs_close },
2435 VOPNAME_READ, { .vop_read = hsfs_read },
2436 VOPNAME_GETATTR, { .vop_getattr = hsfs_getattr },
2437 VOPNAME_ACCESS, { .vop_access = hsfs_access },
2438 VOPNAME_LOOKUP, { .vop_lookup = hsfs_lookup },
2439 VOPNAME_READDIR, { .vop_readdir = hsfs_readdir },
2440 VOPNAME_READLINK, { .vop_readlink = hsfs_readlink },
2441 VOPNAME_FSYNC, { .vop_fsync = hsfs_fsync },
2442 VOPNAME_INACTIVE, { .vop_inactive = hsfs_inactive },
2443 VOPNAME_FID, { .vop_fid = hsfs_fid },
2444 VOPNAME_SEEK, { .vop_seek = hsfs_seek },
2445 VOPNAME_FRLOCK, { .vop_frlock = hsfs_frlock },
2446 VOPNAME_GETPAGE, { .vop_getpage = hsfs_getpage },
2447 VOPNAME_PUTPAGE, { .vop_putpage = hsfs_putpage },
2448 VOPNAME_MAP, { .vop_map = hsfs_map },
2449 VOPNAME_ADDMAP, { .vop_addmap = hsfs_addmap },
2450 VOPNAME_DELMAP, { .vop_delmap = hsfs_delmap },
2451 VOPNAME_PATHCONF, { .vop_pathconf = hsfs_pathconf },
2452 NULL, NULL
2453 };
2454
2455 struct vnodeops *hsfs_vnodeops;
|
2413 break;
2414
2415 case _PC_TIMESTAMP_RESOLUTION:
2416 /*
2417 * HSFS keeps, at best, 1/100 second timestamp resolution.
2418 */
2419 *valp = 10000000L;
2420 break;
2421
2422 default:
2423 error = fs_pathconf(vp, cmd, valp, cr, ct);
2424 break;
2425 }
2426
2427 return (error);
2428 }
2429
2430
2431
2432 const fs_operation_def_t hsfs_vnodeops_template[] = {
2433 { VOPNAME_OPEN, { .vop_open = hsfs_open } },
2434 { VOPNAME_CLOSE, { .vop_close = hsfs_close } },
2435 { VOPNAME_READ, { .vop_read = hsfs_read } },
2436 { VOPNAME_GETATTR, { .vop_getattr = hsfs_getattr } },
2437 { VOPNAME_ACCESS, { .vop_access = hsfs_access } },
2438 { VOPNAME_LOOKUP, { .vop_lookup = hsfs_lookup } },
2439 { VOPNAME_READDIR, { .vop_readdir = hsfs_readdir } },
2440 { VOPNAME_READLINK, { .vop_readlink = hsfs_readlink } },
2441 { VOPNAME_FSYNC, { .vop_fsync = hsfs_fsync } },
2442 { VOPNAME_INACTIVE, { .vop_inactive = hsfs_inactive } },
2443 { VOPNAME_FID, { .vop_fid = hsfs_fid } },
2444 { VOPNAME_SEEK, { .vop_seek = hsfs_seek } },
2445 { VOPNAME_FRLOCK, { .vop_frlock = hsfs_frlock } },
2446 { VOPNAME_GETPAGE, { .vop_getpage = hsfs_getpage } },
2447 { VOPNAME_PUTPAGE, { .vop_putpage = hsfs_putpage } },
2448 { VOPNAME_MAP, { .vop_map = hsfs_map } },
2449 { VOPNAME_ADDMAP, { .vop_addmap = hsfs_addmap } },
2450 { VOPNAME_DELMAP, { .vop_delmap = hsfs_delmap } },
2451 { VOPNAME_PATHCONF, { .vop_pathconf = hsfs_pathconf } },
2452 { NULL, { NULL } }
2453 };
2454
2455 struct vnodeops *hsfs_vnodeops;
|