int
changelist_prefix(prop_changelist_t *clp)
{
-#ifdef HAVE_ZPL
prop_changenode_t *cn;
int ret = 0;
(void) changelist_postfix(clp);
return (ret);
-#else
- return 0;
-#endif /* HAVE_ZPL */
}
/*
int
changelist_postfix(prop_changelist_t *clp)
{
-#ifdef HAVE_ZPL
prop_changenode_t *cn;
char shareopts[ZFS_MAXPROPLEN];
int errors = 0;
}
return (errors ? -1 : 0);
-#else
- return 0;
-#endif /* HAVE_ZPL */
}
/*
for (cn = uu_list_first(clp->cl_list); cn != NULL;
cn = uu_list_next(clp->cl_list, cn)) {
+ zfs_handle_t *hdl;
+
+ hdl = cn->cn_handle;
+
/*
* Do not rename a clone that's not in the source hierarchy.
*/
- if (!isa_child_of(cn->cn_handle->zfs_name, src))
+ if (!isa_child_of(hdl->zfs_name, src))
continue;
/*
* Destroy the previous mountpoint if needed.
*/
- remove_mountpoint(cn->cn_handle);
+ remove_mountpoint(hdl);
(void) strlcpy(newname, dst, sizeof (newname));
- (void) strcat(newname, cn->cn_handle->zfs_name + strlen(src));
+ (void) strcat(newname, hdl->zfs_name + strlen(src));
+
+ if (ZFS_IS_VOLUME(hdl)) {
+ (void) zvol_remove_link(hdl->zfs_hdl, hdl->zfs_name);
+ (void) zvol_create_link(hdl->zfs_hdl, newname);
+ }
- (void) strlcpy(cn->cn_handle->zfs_name, newname,
- sizeof (cn->cn_handle->zfs_name));
+ (void) strlcpy(hdl->zfs_name, newname, sizeof (hdl->zfs_name));
}
}
int
changelist_unshare(prop_changelist_t *clp, zfs_share_proto_t *proto)
{
-#ifdef HAVE_ZPL
prop_changenode_t *cn;
int ret = 0;
}
return (ret);
-#else
- return 0;
-#endif
}
/*