Lines Matching refs:zhp
220 zfs_is_mounted(zfs_handle_t *zhp, char **where) in zfs_is_mounted() argument
222 return (is_mounted(zhp->zfs_hdl, zfs_get_name(zhp), where)); in zfs_is_mounted()
230 zfs_is_mountable(zfs_handle_t *zhp, char *buf, size_t buflen, in zfs_is_mountable() argument
236 if (!zfs_prop_valid_for_type(ZFS_PROP_MOUNTPOINT, zhp->zfs_type)) in zfs_is_mountable()
239 verify(zfs_prop_get(zhp, ZFS_PROP_MOUNTPOINT, buf, buflen, in zfs_is_mountable()
246 if (zfs_prop_get_int(zhp, ZFS_PROP_CANMOUNT) == ZFS_CANMOUNT_OFF) in zfs_is_mountable()
249 if (zfs_prop_get_int(zhp, ZFS_PROP_ZONED) && in zfs_is_mountable()
263 zfs_mount(zfs_handle_t *zhp, const char *options, int flags) in zfs_mount() argument
268 libzfs_handle_t *hdl = zhp->zfs_hdl; in zfs_mount()
278 if (zpool_get_prop_int(zhp->zpool_hdl, ZPOOL_PROP_READONLY, NULL)) in zfs_mount()
281 if (!zfs_is_mountable(zhp, mountpoint, sizeof (mountpoint), NULL)) in zfs_mount()
311 if (mount(zfs_get_name(zhp), mountpoint, MS_OPTIONSTR | flags, in zfs_mount()
328 VERIFY(zfs_spa_version(zhp, &spa_version) == 0); in zfs_mount()
333 (u_longlong_t)zfs_prop_get_int(zhp, in zfs_mount()
341 zhp->zfs_name)); in zfs_mount()
345 libzfs_mnttab_add(hdl, zfs_get_name(zhp), mountpoint, in zfs_mount()
370 zfs_unmount(zfs_handle_t *zhp, const char *mountpoint, int flags) in zfs_unmount() argument
372 libzfs_handle_t *hdl = zhp->zfs_hdl; in zfs_unmount()
377 if (mountpoint != NULL || ((zfs_get_type(zhp) == ZFS_TYPE_FILESYSTEM) && in zfs_unmount()
378 libzfs_mnttab_find(hdl, zhp->zfs_name, &entry) == 0)) { in zfs_unmount()
393 if (zfs_unshare_proto(zhp, mntpt, share_all_proto) != 0) in zfs_unmount()
398 (void) zfs_shareall(zhp); in zfs_unmount()
401 libzfs_mnttab_remove(hdl, zhp->zfs_name); in zfs_unmount()
414 zfs_unmountall(zfs_handle_t *zhp, int flags) in zfs_unmountall() argument
419 clp = changelist_gather(zhp, ZFS_PROP_MOUNTPOINT, 0, flags); in zfs_unmountall()
430 zfs_is_shared(zfs_handle_t *zhp) in zfs_is_shared() argument
435 if (ZFS_IS_VOLUME(zhp)) in zfs_is_shared()
440 rc |= zfs_is_shared_proto(zhp, NULL, *curr_proto); in zfs_is_shared()
446 zfs_share(zfs_handle_t *zhp) in zfs_share() argument
448 assert(!ZFS_IS_VOLUME(zhp)); in zfs_share()
449 return (zfs_share_proto(zhp, share_all_proto)); in zfs_share()
453 zfs_unshare(zfs_handle_t *zhp) in zfs_unshare() argument
455 assert(!ZFS_IS_VOLUME(zhp)); in zfs_unshare()
456 return (zfs_unshareall(zhp)); in zfs_unshare()
463 zfs_is_shared_proto(zfs_handle_t *zhp, char **where, zfs_share_proto_t proto) in zfs_is_shared_proto() argument
468 if (!zfs_is_mounted(zhp, &mountpoint)) in zfs_is_shared_proto()
471 if (rc = is_shared(zhp->zfs_hdl, mountpoint, proto)) { in zfs_is_shared_proto()
484 zfs_is_shared_nfs(zfs_handle_t *zhp, char **where) in zfs_is_shared_nfs() argument
486 return (zfs_is_shared_proto(zhp, where, in zfs_is_shared_nfs()
491 zfs_is_shared_smb(zfs_handle_t *zhp, char **where) in zfs_is_shared_smb() argument
493 return (zfs_is_shared_proto(zhp, where, in zfs_is_shared_smb()
706 zfs_share_proto(zfs_handle_t *zhp, zfs_share_proto_t *proto) in zfs_share_proto() argument
711 libzfs_handle_t *hdl = zhp->zfs_hdl; in zfs_share_proto()
717 if (!zfs_is_mountable(zhp, mountpoint, sizeof (mountpoint), NULL)) in zfs_share_proto()
724 if (zfs_prop_get(zhp, proto_table[*curr_proto].p_prop, in zfs_share_proto()
734 zfs_get_name(zhp), _sa_errorstr != NULL ? in zfs_share_proto()
745 if (zfs_prop_get_int(zhp, ZFS_PROP_ZONED)) in zfs_share_proto()
762 shareopts, sourcestr, zhp->zfs_name) != SA_OK) { in zfs_share_proto()
766 zfs_get_name(zhp)); in zfs_share_proto()
781 zfs_get_name(zhp)); in zfs_share_proto()
788 zfs_get_name(zhp)); in zfs_share_proto()
798 zfs_share_nfs(zfs_handle_t *zhp) in zfs_share_nfs() argument
800 return (zfs_share_proto(zhp, nfs_only)); in zfs_share_nfs()
804 zfs_share_smb(zfs_handle_t *zhp) in zfs_share_smb() argument
806 return (zfs_share_proto(zhp, smb_only)); in zfs_share_smb()
810 zfs_shareall(zfs_handle_t *zhp) in zfs_shareall() argument
812 return (zfs_share_proto(zhp, share_all_proto)); in zfs_shareall()
862 zfs_unshare_proto(zfs_handle_t *zhp, const char *mountpoint, in zfs_unshare_proto() argument
865 libzfs_handle_t *hdl = zhp->zfs_hdl; in zfs_unshare_proto()
870 rewind(zhp->zfs_hdl->libzfs_mnttab); in zfs_unshare_proto()
874 if (mountpoint != NULL || ((zfs_get_type(zhp) == ZFS_TYPE_FILESYSTEM) && in zfs_unshare_proto()
875 libzfs_mnttab_find(hdl, zfs_get_name(zhp), &entry) == 0)) { in zfs_unshare_proto()
879 mntpt = zfs_strdup(zhp->zfs_hdl, entry.mnt_mountp); in zfs_unshare_proto()
885 unshare_one(hdl, zhp->zfs_name, in zfs_unshare_proto()
900 zfs_unshare_nfs(zfs_handle_t *zhp, const char *mountpoint) in zfs_unshare_nfs() argument
902 return (zfs_unshare_proto(zhp, mountpoint, nfs_only)); in zfs_unshare_nfs()
906 zfs_unshare_smb(zfs_handle_t *zhp, const char *mountpoint) in zfs_unshare_smb() argument
908 return (zfs_unshare_proto(zhp, mountpoint, smb_only)); in zfs_unshare_smb()
915 zfs_unshareall_proto(zfs_handle_t *zhp, zfs_share_proto_t *proto) in zfs_unshareall_proto() argument
920 clp = changelist_gather(zhp, ZFS_PROP_SHARENFS, 0, 0); in zfs_unshareall_proto()
931 zfs_unshareall_nfs(zfs_handle_t *zhp) in zfs_unshareall_nfs() argument
933 return (zfs_unshareall_proto(zhp, nfs_only)); in zfs_unshareall_nfs()
937 zfs_unshareall_smb(zfs_handle_t *zhp) in zfs_unshareall_smb() argument
939 return (zfs_unshareall_proto(zhp, smb_only)); in zfs_unshareall_smb()
943 zfs_unshareall(zfs_handle_t *zhp) in zfs_unshareall() argument
945 return (zfs_unshareall_proto(zhp, share_all_proto)); in zfs_unshareall()
949 zfs_unshareall_bypath(zfs_handle_t *zhp, const char *mountpoint) in zfs_unshareall_bypath() argument
951 return (zfs_unshare_proto(zhp, mountpoint, share_all_proto)); in zfs_unshareall_bypath()
966 remove_mountpoint(zfs_handle_t *zhp) in remove_mountpoint() argument
971 if (!zfs_is_mountable(zhp, mountpoint, sizeof (mountpoint), in remove_mountpoint()
988 libzfs_add_handle(get_all_cb_t *cbp, zfs_handle_t *zhp) in libzfs_add_handle() argument
995 ptr = zfs_realloc(zhp->zfs_hdl, in libzfs_add_handle()
1001 cbp->cb_handles[cbp->cb_used++] = zhp; in libzfs_add_handle()
1005 mount_cb(zfs_handle_t *zhp, void *data) in mount_cb() argument
1009 if (!(zfs_get_type(zhp) & ZFS_TYPE_FILESYSTEM)) { in mount_cb()
1010 zfs_close(zhp); in mount_cb()
1014 if (zfs_prop_get_int(zhp, ZFS_PROP_CANMOUNT) == ZFS_CANMOUNT_NOAUTO) { in mount_cb()
1015 zfs_close(zhp); in mount_cb()
1023 if (zfs_prop_get_int(zhp, ZFS_PROP_INCONSISTENT) && in mount_cb()
1024 zfs_prop_get(zhp, ZFS_PROP_RECEIVE_RESUME_TOKEN, in mount_cb()
1026 zfs_close(zhp); in mount_cb()
1030 libzfs_add_handle(cbp, zhp); in mount_cb()
1031 if (zfs_iter_filesystems(zhp, mount_cb, cbp) != 0) { in mount_cb()
1032 zfs_close(zhp); in mount_cb()
1075 zpool_enable_datasets(zpool_handle_t *zhp, const char *mntopts, int flags) in zpool_enable_datasets() argument
1078 libzfs_handle_t *hdl = zhp->zpool_hdl; in zpool_enable_datasets()
1086 if ((zfsp = zfs_open(hdl, zhp->zpool_name, ZFS_TYPE_DATASET)) == NULL) in zpool_enable_datasets()
1102 if ((good = zfs_alloc(zhp->zpool_hdl, in zpool_enable_datasets()
1154 zpool_disable_datasets(zpool_handle_t *zhp, boolean_t force) in zpool_disable_datasets() argument
1161 libzfs_handle_t *hdl = zhp->zpool_hdl; in zpool_disable_datasets()
1166 namelen = strlen(zhp->zpool_name); in zpool_disable_datasets()
1182 strncmp(entry.mnt_special, zhp->zpool_name, namelen) != 0 || in zpool_disable_datasets()