Lines Matching refs:zhp
219 zfs_is_mounted(zfs_handle_t *zhp, char **where) in zfs_is_mounted() argument
221 return (is_mounted(zhp->zfs_hdl, zfs_get_name(zhp), where)); in zfs_is_mounted()
229 zfs_is_mountable(zfs_handle_t *zhp, char *buf, size_t buflen, in zfs_is_mountable() argument
235 if (!zfs_prop_valid_for_type(ZFS_PROP_MOUNTPOINT, zhp->zfs_type)) in zfs_is_mountable()
238 verify(zfs_prop_get(zhp, ZFS_PROP_MOUNTPOINT, buf, buflen, in zfs_is_mountable()
245 if (zfs_prop_get_int(zhp, ZFS_PROP_CANMOUNT) == ZFS_CANMOUNT_OFF) in zfs_is_mountable()
248 if (zfs_prop_get_int(zhp, ZFS_PROP_ZONED) && in zfs_is_mountable()
262 zfs_mount(zfs_handle_t *zhp, const char *options, int flags) in zfs_mount() argument
267 libzfs_handle_t *hdl = zhp->zfs_hdl; in zfs_mount()
277 if (zpool_get_prop_int(zhp->zpool_hdl, ZPOOL_PROP_READONLY, NULL)) in zfs_mount()
280 if (!zfs_is_mountable(zhp, mountpoint, sizeof (mountpoint), NULL)) in zfs_mount()
310 if (mount(zfs_get_name(zhp), mountpoint, MS_OPTIONSTR | flags, in zfs_mount()
327 VERIFY(zfs_spa_version(zhp, &spa_version) == 0); in zfs_mount()
332 (u_longlong_t)zfs_prop_get_int(zhp, in zfs_mount()
340 zhp->zfs_name)); in zfs_mount()
344 libzfs_mnttab_add(hdl, zfs_get_name(zhp), mountpoint, in zfs_mount()
369 zfs_unmount(zfs_handle_t *zhp, const char *mountpoint, int flags) in zfs_unmount() argument
371 libzfs_handle_t *hdl = zhp->zfs_hdl; in zfs_unmount()
376 if (mountpoint != NULL || ((zfs_get_type(zhp) == ZFS_TYPE_FILESYSTEM) && in zfs_unmount()
377 libzfs_mnttab_find(hdl, zhp->zfs_name, &entry) == 0)) { in zfs_unmount()
392 if (zfs_unshare_proto(zhp, mntpt, share_all_proto) != 0) in zfs_unmount()
397 (void) zfs_shareall(zhp); in zfs_unmount()
400 libzfs_mnttab_remove(hdl, zhp->zfs_name); in zfs_unmount()
413 zfs_unmountall(zfs_handle_t *zhp, int flags) in zfs_unmountall() argument
418 clp = changelist_gather(zhp, ZFS_PROP_MOUNTPOINT, 0, flags); in zfs_unmountall()
429 zfs_is_shared(zfs_handle_t *zhp) in zfs_is_shared() argument
434 if (ZFS_IS_VOLUME(zhp)) in zfs_is_shared()
439 rc |= zfs_is_shared_proto(zhp, NULL, *curr_proto); in zfs_is_shared()
445 zfs_share(zfs_handle_t *zhp) in zfs_share() argument
447 assert(!ZFS_IS_VOLUME(zhp)); in zfs_share()
448 return (zfs_share_proto(zhp, share_all_proto)); in zfs_share()
452 zfs_unshare(zfs_handle_t *zhp) in zfs_unshare() argument
454 assert(!ZFS_IS_VOLUME(zhp)); in zfs_unshare()
455 return (zfs_unshareall(zhp)); in zfs_unshare()
462 zfs_is_shared_proto(zfs_handle_t *zhp, char **where, zfs_share_proto_t proto) in zfs_is_shared_proto() argument
467 if (!zfs_is_mounted(zhp, &mountpoint)) in zfs_is_shared_proto()
470 if (rc = is_shared(zhp->zfs_hdl, mountpoint, proto)) { in zfs_is_shared_proto()
483 zfs_is_shared_nfs(zfs_handle_t *zhp, char **where) in zfs_is_shared_nfs() argument
485 return (zfs_is_shared_proto(zhp, where, in zfs_is_shared_nfs()
490 zfs_is_shared_smb(zfs_handle_t *zhp, char **where) in zfs_is_shared_smb() argument
492 return (zfs_is_shared_proto(zhp, where, in zfs_is_shared_smb()
705 zfs_share_proto(zfs_handle_t *zhp, zfs_share_proto_t *proto) in zfs_share_proto() argument
710 libzfs_handle_t *hdl = zhp->zfs_hdl; in zfs_share_proto()
716 if (!zfs_is_mountable(zhp, mountpoint, sizeof (mountpoint), NULL)) in zfs_share_proto()
723 if (zfs_prop_get(zhp, proto_table[*curr_proto].p_prop, in zfs_share_proto()
733 zfs_get_name(zhp), _sa_errorstr != NULL ? in zfs_share_proto()
744 if (zfs_prop_get_int(zhp, ZFS_PROP_ZONED)) in zfs_share_proto()
761 shareopts, sourcestr, zhp->zfs_name) != SA_OK) { in zfs_share_proto()
765 zfs_get_name(zhp)); in zfs_share_proto()
780 zfs_get_name(zhp)); in zfs_share_proto()
787 zfs_get_name(zhp)); in zfs_share_proto()
797 zfs_share_nfs(zfs_handle_t *zhp) in zfs_share_nfs() argument
799 return (zfs_share_proto(zhp, nfs_only)); in zfs_share_nfs()
803 zfs_share_smb(zfs_handle_t *zhp) in zfs_share_smb() argument
805 return (zfs_share_proto(zhp, smb_only)); in zfs_share_smb()
809 zfs_shareall(zfs_handle_t *zhp) in zfs_shareall() argument
811 return (zfs_share_proto(zhp, share_all_proto)); in zfs_shareall()
861 zfs_unshare_proto(zfs_handle_t *zhp, const char *mountpoint, in zfs_unshare_proto() argument
864 libzfs_handle_t *hdl = zhp->zfs_hdl; in zfs_unshare_proto()
869 rewind(zhp->zfs_hdl->libzfs_mnttab); in zfs_unshare_proto()
873 if (mountpoint != NULL || ((zfs_get_type(zhp) == ZFS_TYPE_FILESYSTEM) && in zfs_unshare_proto()
874 libzfs_mnttab_find(hdl, zfs_get_name(zhp), &entry) == 0)) { in zfs_unshare_proto()
878 mntpt = zfs_strdup(zhp->zfs_hdl, entry.mnt_mountp); in zfs_unshare_proto()
884 unshare_one(hdl, zhp->zfs_name, in zfs_unshare_proto()
899 zfs_unshare_nfs(zfs_handle_t *zhp, const char *mountpoint) in zfs_unshare_nfs() argument
901 return (zfs_unshare_proto(zhp, mountpoint, nfs_only)); in zfs_unshare_nfs()
905 zfs_unshare_smb(zfs_handle_t *zhp, const char *mountpoint) in zfs_unshare_smb() argument
907 return (zfs_unshare_proto(zhp, mountpoint, smb_only)); in zfs_unshare_smb()
914 zfs_unshareall_proto(zfs_handle_t *zhp, zfs_share_proto_t *proto) in zfs_unshareall_proto() argument
919 clp = changelist_gather(zhp, ZFS_PROP_SHARENFS, 0, 0); in zfs_unshareall_proto()
930 zfs_unshareall_nfs(zfs_handle_t *zhp) in zfs_unshareall_nfs() argument
932 return (zfs_unshareall_proto(zhp, nfs_only)); in zfs_unshareall_nfs()
936 zfs_unshareall_smb(zfs_handle_t *zhp) in zfs_unshareall_smb() argument
938 return (zfs_unshareall_proto(zhp, smb_only)); in zfs_unshareall_smb()
942 zfs_unshareall(zfs_handle_t *zhp) in zfs_unshareall() argument
944 return (zfs_unshareall_proto(zhp, share_all_proto)); in zfs_unshareall()
948 zfs_unshareall_bypath(zfs_handle_t *zhp, const char *mountpoint) in zfs_unshareall_bypath() argument
950 return (zfs_unshare_proto(zhp, mountpoint, share_all_proto)); in zfs_unshareall_bypath()
965 remove_mountpoint(zfs_handle_t *zhp) in remove_mountpoint() argument
970 if (!zfs_is_mountable(zhp, mountpoint, sizeof (mountpoint), in remove_mountpoint()
987 libzfs_add_handle(get_all_cb_t *cbp, zfs_handle_t *zhp) in libzfs_add_handle() argument
994 ptr = zfs_realloc(zhp->zfs_hdl, in libzfs_add_handle()
1000 cbp->cb_handles[cbp->cb_used++] = zhp; in libzfs_add_handle()
1004 mount_cb(zfs_handle_t *zhp, void *data) in mount_cb() argument
1008 if (!(zfs_get_type(zhp) & ZFS_TYPE_FILESYSTEM)) { in mount_cb()
1009 zfs_close(zhp); in mount_cb()
1013 if (zfs_prop_get_int(zhp, ZFS_PROP_CANMOUNT) == ZFS_CANMOUNT_NOAUTO) { in mount_cb()
1014 zfs_close(zhp); in mount_cb()
1022 if (zfs_prop_get_int(zhp, ZFS_PROP_INCONSISTENT) && in mount_cb()
1023 zfs_prop_get(zhp, ZFS_PROP_RECEIVE_RESUME_TOKEN, in mount_cb()
1025 zfs_close(zhp); in mount_cb()
1029 libzfs_add_handle(cbp, zhp); in mount_cb()
1030 if (zfs_iter_filesystems(zhp, mount_cb, cbp) != 0) { in mount_cb()
1031 zfs_close(zhp); in mount_cb()
1074 zpool_enable_datasets(zpool_handle_t *zhp, const char *mntopts, int flags) in zpool_enable_datasets() argument
1077 libzfs_handle_t *hdl = zhp->zpool_hdl; in zpool_enable_datasets()
1085 if ((zfsp = zfs_open(hdl, zhp->zpool_name, ZFS_TYPE_DATASET)) == NULL) in zpool_enable_datasets()
1101 if ((good = zfs_alloc(zhp->zpool_hdl, in zpool_enable_datasets()
1153 zpool_disable_datasets(zpool_handle_t *zhp, boolean_t force) in zpool_disable_datasets() argument
1160 libzfs_handle_t *hdl = zhp->zpool_hdl; in zpool_disable_datasets()
1165 namelen = strlen(zhp->zpool_name); in zpool_disable_datasets()
1181 strncmp(entry.mnt_special, zhp->zpool_name, namelen) != 0 || in zpool_disable_datasets()