git://git.camperquake.de
/
zfs.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Illumos #3422, #3425
[zfs.git]
/
lib
/
libzfs
/
libzfs_changelist.c
diff --git
a/lib/libzfs/libzfs_changelist.c
b/lib/libzfs/libzfs_changelist.c
index
6f067d5
..
3a83e2d
100644
(file)
--- a/
lib/libzfs/libzfs_changelist.c
+++ b/
lib/libzfs/libzfs_changelist.c
@@
-93,7
+93,6
@@
struct prop_changelist {
int
changelist_prefix(prop_changelist_t *clp)
{
int
changelist_prefix(prop_changelist_t *clp)
{
-#ifdef HAVE_ZPL
prop_changenode_t *cn;
int ret = 0;
prop_changenode_t *cn;
int ret = 0;
@@
-142,9
+141,6
@@
changelist_prefix(prop_changelist_t *clp)
(void) changelist_postfix(clp);
return (ret);
(void) changelist_postfix(clp);
return (ret);
-#else
- return 0;
-#endif /* HAVE_ZPL */
}
/*
}
/*
@@
-159,7
+155,6
@@
changelist_prefix(prop_changelist_t *clp)
int
changelist_postfix(prop_changelist_t *clp)
{
int
changelist_postfix(prop_changelist_t *clp)
{
-#ifdef HAVE_ZPL
prop_changenode_t *cn;
char shareopts[ZFS_MAXPROPLEN];
int errors = 0;
prop_changenode_t *cn;
char shareopts[ZFS_MAXPROPLEN];
int errors = 0;
@@
-260,9
+255,6
@@
changelist_postfix(prop_changelist_t *clp)
}
return (errors ? -1 : 0);
}
return (errors ? -1 : 0);
-#else
- return 0;
-#endif /* HAVE_ZPL */
}
/*
}
/*
@@
-299,22
+291,30
@@
changelist_rename(prop_changelist_t *clp, const char *src, const char *dst)
for (cn = uu_list_first(clp->cl_list); cn != NULL;
cn = uu_list_next(clp->cl_list, cn)) {
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.
*/
/*
* 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.
*/
continue;
/*
* Destroy the previous mountpoint if needed.
*/
- remove_mountpoint(
cn->cn_handle
);
+ remove_mountpoint(
hdl
);
(void) strlcpy(newname, dst, sizeof (newname));
(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));
}
}
}
}
@@
-325,7
+325,6
@@
changelist_rename(prop_changelist_t *clp, const char *src, const char *dst)
int
changelist_unshare(prop_changelist_t *clp, zfs_share_proto_t *proto)
{
int
changelist_unshare(prop_changelist_t *clp, zfs_share_proto_t *proto)
{
-#ifdef HAVE_ZPL
prop_changenode_t *cn;
int ret = 0;
prop_changenode_t *cn;
int ret = 0;
@@
-340,9
+339,6
@@
changelist_unshare(prop_changelist_t *clp, zfs_share_proto_t *proto)
}
return (ret);
}
return (ret);
-#else
- return 0;
-#endif
}
/*
}
/*