diff options
author | Antonio Russo <[email protected]> | 2015-05-13 07:16:42 -0700 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2015-05-14 11:16:08 -0700 |
commit | 7290cd3c4ed19fb3f75b8133db2e36afcdd24beb (patch) | |
tree | c631490a03c966577b95bc55e92271138053e8e7 /module/zfs | |
parent | fd0fd6467bb8638b1496ad5a63b74f19fbd607df (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.c | 3 |
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); |