HomeFreeBSD

Introduce a flag to skip comparing the local mac when raw sending

Description

Introduce a flag to skip comparing the local mac when raw sending

Raw receiving a snapshot back to the originating dataset is currently
impossible because of user accounting being present in the originating
dataset.

One solution would be resetting user accounting when raw receiving on
the receiving dataset. However, to recalculate it we would have to dirty
all dnodes, which may not be preferable on big datasets.

Instead, we rely on the os_phys flag
OBJSET_FLAG_USERACCOUNTING_COMPLETE to indicate that user accounting is
incomplete when raw receiving. Thus, on the next mount of the receiving
dataset the local mac protecting user accounting is zeroed out.
The flag is then cleared when user accounting of the raw received
snapshot is calculated.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: George Amanakis <gamanakis@gmail.com>
Closes #12981
Closes #10523
Closes #11221
Closes #11294
Closes #12594
Issue #11300

Details

Provenance
g_amanakis_yahoo.comAuthored on Jan 21 2022, 7:41 PM
GitHub <noreply@github.com>Committed on Jan 21 2022, 7:41 PM
Parents
rG6e2a59181e28: Avoid memory allocations in the ARC eviction thread
Branches
Unknown
Tags
Unknown