HomeFreeBSD

Relax restriction on zfs_ioc_next_obj() iteration

Description

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

Details

Provenance
Antonio Russo <antonio.e.russo@gmail.com>Authored on May 13 2015, 2:16 PM
Brian Behlendorf <behlendorf1@llnl.gov>Committed on May 14 2015, 6:16 PM
Parents
rGfd0fd6467bb8: Remove unused 'dsl_pool_t *dp' variable
Branches
Unknown
Tags
Unknown

Event Timeline

Brian Behlendorf <behlendorf1@llnl.gov> committed rG7290cd3c4ed1: Relax restriction on zfs_ioc_next_obj() iteration (authored by Antonio Russo <antonio.e.russo@gmail.com>).May 14 2015, 6:16 PM