mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-12-26 03:09:34 +03:00
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@llnl.gov> Signed-off-by: Tim Chase <Tim Chase <tim@onlight.com> Closes #2081
This commit is contained in:
parent
fd0fd6467b
commit
7290cd3c4e
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user