Author: mav
Date: Wed May 8 01:35:43 2019
New Revision: 347240
URL: https://svnweb.freebsd.org/changeset/base/347240
Log:
Fix dataset name comparison in zfs_compare().
The code never returned match comparing two datasets (not snapshots).
As result, uu_avl_find(), called from zfs_callback(), never succeeded,
allowing to add same dataset into the list multiple times, for example:
# zfs get name pers pers pers@z pers@z
NAME PROPERTY VALUE SOURCE
pers name pers -
pers name pers -
pers@z name pers@z -
With the patch:
# zfs get name pers pers pers@z pers@z
NAME PROPERTY VALUE SOURCE
pers name pers -
pers@z name pers@z -
MFC after: 1 week
Sponsored by: iXsystems, Inc.
Modified:
head/cddl/contrib/opensolaris/cmd/zfs/zfs_iter.c
Modified: head/cddl/contrib/opensolaris/cmd/zfs/zfs_iter.c
==============================================================================
--- head/cddl/contrib/opensolaris/cmd/zfs/zfs_iter.c Wed May 8 00:45:16
2019 (r347239)
+++ head/cddl/contrib/opensolaris/cmd/zfs/zfs_iter.c Wed May 8 01:35:43
2019 (r347240)
@@ -225,7 +225,7 @@ zfs_compare(const void *larg, const void *rarg, void *
*rat = '\0';
ret = strcmp(lname, rname);
- if (ret == 0) {
+ if (ret == 0 && (lat != NULL || rat != NULL)) {
/*
* If we're comparing a dataset to one of its snapshots, we
* always make the full dataset first.
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"