svn commit: r358357 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs
Alexander Motin
mav at FreeBSD.org
Wed Feb 26 20:38:50 UTC 2020
Author: mav
Date: Wed Feb 26 20:38:48 2020
New Revision: 358357
URL: https://svnweb.freebsd.org/changeset/base/358357
Log:
MFZoL: Relax restriction on zfs_ioc_next_obj() iteration
Per the documentation for dnode_next_offset in dnode.c, the "txg"
parameter specifies a lower bound on which transaction the dnode can
be found in. We are interested in all dnodes that are removed between
the first and last transaction in the snapshot. It doesn't need to be
created in that snapshot to correspond to a removed file.
In fact, the behavior of zfs diff in the test case exactly matches
this: the transaction that created the data that was deleted in snapshot
"2" was produced before, in snapshot "1", definitely predating the first
transaction in snapshot "2".
Signed-off-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Tim Chase <Tim Chase <tim at onlight.com>
Closes #2081
zfsonlinux/zfs at 7290cd3c4ed19fb3f75b8133db2e36afcdd24beb
MFC after: 1 week
Modified:
head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c Wed Feb 26 20:18:38 2020 (r358356)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c Wed Feb 26 20:38:48 2020 (r358357)
@@ -5553,8 +5553,7 @@ zfs_ioc_next_obj(zfs_cmd_t *zc)
if (error != 0)
return (error);
- error = dmu_object_next(os, &zc->zc_obj, B_FALSE,
- dsl_dataset_phys(os->os_dsl_dataset)->ds_prev_snap_txg);
+ error = dmu_object_next(os, &zc->zc_obj, B_FALSE, 0);
dmu_objset_rele(os, FTAG);
return (error);
More information about the svn-src-head
mailing list