Lines Matching defs:clp
96 changelist_prefix(prop_changelist_t *clp)
104 if (clp->cl_prop != ZFS_PROP_MOUNTPOINT &&
105 clp->cl_prop != ZFS_PROP_SHARESMB)
114 if (clp->cl_gflags & CL_GATHER_DONT_UNMOUNT)
117 if ((walk = uu_avl_walk_start(clp->cl_tree, UU_WALK_ROBUST)) == NULL)
139 switch (clp->cl_prop) {
142 clp->cl_mflags) != 0) {
164 (void) changelist_postfix(clp);
178 changelist_postfix(prop_changelist_t *clp)
191 if (clp->cl_gflags & CL_GATHER_DONT_UNMOUNT)
201 if ((cn = uu_avl_last(clp->cl_tree)) == NULL)
204 if (clp->cl_prop == ZFS_PROP_MOUNTPOINT &&
205 !(clp->cl_gflags & CL_GATHER_DONT_UNMOUNT))
213 if ((walk = uu_avl_walk_start(clp->cl_tree,
259 (((clp->cl_prop == ZFS_PROP_MOUNTPOINT &&
260 clp->cl_prop == clp->cl_realprop) ||
261 sharenfs || sharesmb || clp->cl_waslegacy) &&
279 } else if (cn->cn_shared || clp->cl_waslegacy) {
288 } else if (cn->cn_shared || clp->cl_waslegacy) {
333 changelist_rename(prop_changelist_t *clp, const char *src, const char *dst)
339 if ((walk = uu_avl_walk_start(clp->cl_tree, UU_WALK_ROBUST)) == NULL)
370 changelist_unshare(prop_changelist_t *clp, const enum sa_protocol *proto)
376 if (clp->cl_prop != ZFS_PROP_SHARENFS &&
377 clp->cl_prop != ZFS_PROP_SHARESMB)
380 if ((walk = uu_avl_walk_start(clp->cl_tree, UU_WALK_ROBUST)) == NULL)
401 changelist_haszonedchild(prop_changelist_t *clp)
403 return (clp->cl_haszonedchild);
410 changelist_remove(prop_changelist_t *clp, const char *name)
415 if ((walk = uu_avl_walk_start(clp->cl_tree, UU_WALK_ROBUST)) == NULL)
420 uu_avl_remove(clp->cl_tree, cn);
435 changelist_free(prop_changelist_t *clp)
439 if (clp->cl_tree) {
442 if ((walk = uu_avl_walk_start(clp->cl_tree,
447 uu_avl_remove(clp->cl_tree, cn);
453 uu_avl_destroy(clp->cl_tree);
455 if (clp->cl_pool)
456 uu_avl_pool_destroy(clp->cl_pool);
458 free(clp);
467 prop_changelist_t *clp = data;
471 ASSERT3U(clp->cl_prop, ==, ZFS_PROP_MOUNTPOINT);
483 clp->cl_haszonedchild = B_TRUE;
485 uu_avl_node_init(cn, &cn->cn_treenode, clp->cl_pool);
487 if (uu_avl_find(clp->cl_tree, cn, NULL, &idx) == NULL) {
488 uu_avl_insert(clp->cl_tree, cn, idx);
500 prop_changelist_t *clp = data;
518 if (!(ZFS_IS_VOLUME(zhp) && clp->cl_realprop == ZFS_PROP_NAME) &&
519 zfs_prop_get(zhp, clp->cl_prop, property,
530 if (clp->cl_shareprop != ZPROP_INVAL &&
531 zfs_prop_get(zhp, clp->cl_shareprop, property,
537 if (clp->cl_alldependents || clp->cl_allchildren ||
540 (clp->cl_shareprop != ZPROP_INVAL &&
545 cn->cn_mounted = (clp->cl_gflags & CL_GATHER_MOUNT_ALWAYS) ||
553 clp->cl_haszonedchild = B_TRUE;
555 uu_avl_node_init(cn, &cn->cn_treenode, clp->cl_pool);
559 if (uu_avl_find(clp->cl_tree, cn, NULL, &idx) == NULL) {
560 uu_avl_insert(clp->cl_tree, cn, idx);
566 if (!clp->cl_alldependents) {
567 if (clp->cl_prop != ZFS_PROP_MOUNTPOINT) {
647 prop_changelist_t *clp;
653 clp = zfs_alloc(zhp->zfs_hdl, sizeof (prop_changelist_t));
673 clp->cl_pool = uu_avl_pool_create("changelist_pool",
677 if (clp->cl_pool == NULL) {
680 changelist_free(clp);
684 clp->cl_tree = uu_avl_create(clp->cl_pool, NULL, UU_DEFAULT);
685 clp->cl_gflags = gather_flags;
686 clp->cl_mflags = mnt_flags;
688 if (clp->cl_tree == NULL) {
691 changelist_free(clp);
704 clp->cl_prop = ZFS_PROP_MOUNTPOINT;
705 clp->cl_alldependents = B_TRUE;
707 clp->cl_prop = ZFS_PROP_MOUNTPOINT;
708 clp->cl_allchildren = B_TRUE;
710 clp->cl_prop = ZFS_PROP_MOUNTPOINT;
712 clp->cl_prop = ZFS_PROP_MOUNTPOINT;
714 clp->cl_prop = prop;
716 clp->cl_realprop = prop;
718 if (clp->cl_prop != ZFS_PROP_MOUNTPOINT &&
719 clp->cl_prop != ZFS_PROP_SHARENFS &&
720 clp->cl_prop != ZFS_PROP_SHARESMB)
721 return (clp);
727 if (clp->cl_prop == ZFS_PROP_SHARENFS)
728 clp->cl_shareprop = ZFS_PROP_SHARESMB;
729 else if (clp->cl_prop == ZFS_PROP_SHARESMB)
730 clp->cl_shareprop = ZFS_PROP_SHARENFS;
732 if (clp->cl_prop == ZFS_PROP_MOUNTPOINT &&
733 (clp->cl_gflags & CL_GATHER_ITER_MOUNTED)) {
738 if (zfs_iter_mounted(zhp, changelist_add_mounted, clp) != 0) {
739 changelist_free(clp);
742 } else if (clp->cl_alldependents) {
744 clp) != 0) {
745 changelist_free(clp);
748 } else if (clp->cl_prop != ZFS_PROP_MOUNTPOINT) {
749 if (zfs_iter_filesystems_v2(zhp, 0, change_one, clp) != 0) {
750 changelist_free(clp);
753 } else if (zfs_iter_children_v2(zhp, 0, change_one, clp) != 0) {
754 changelist_free(clp);
764 changelist_free(clp);
774 cn->cn_mounted = (clp->cl_gflags & CL_GATHER_MOUNT_ALWAYS) ||
780 uu_avl_node_init(cn, &cn->cn_treenode, clp->cl_pool);
782 if (uu_avl_find(clp->cl_tree, cn, NULL, &idx) == NULL) {
783 uu_avl_insert(clp->cl_tree, cn, idx);
793 if ((clp->cl_prop == ZFS_PROP_MOUNTPOINT) && legacy) {
800 clp->cl_waslegacy = B_TRUE;
803 return (clp);