summaryrefslogtreecommitdiffstats
path: root/module/zfs
diff options
context:
space:
mode:
authorAntonio Russo <[email protected]>2015-05-13 07:16:42 -0700
committerBrian Behlendorf <[email protected]>2015-05-14 11:16:08 -0700
commit7290cd3c4ed19fb3f75b8133db2e36afcdd24beb (patch)
treec631490a03c966577b95bc55e92271138053e8e7 /module/zfs
parentfd0fd6467bb8638b1496ad5a63b74f19fbd607df (diff)
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 <[email protected]> Signed-off-by: Tim Chase <Tim Chase <[email protected]> Closes #2081
Diffstat (limited to 'module/zfs')
-rw-r--r--module/zfs/zfs_ioctl.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/module/zfs/zfs_ioctl.c b/module/zfs/zfs_ioctl.c
index 7a890cf3f..4c0060b67 100644
--- a/module/zfs/zfs_ioctl.c
+++ b/module/zfs/zfs_ioctl.c
@@ -4724,8 +4724,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);