HomeFreeBSD

Fix dsl_props_set_sync_impl to work with nested nvlist

Description

Fix dsl_props_set_sync_impl to work with nested nvlist

When iterating over the input nvlist in dsl_props_set_sync_impl() when we don't
preserve the nvpair name before looking up ZPROP_VALUE, so when we later go to
process it nvpair_name() is always "value" and not the actual property name.

This fixes a couple of bugs in zfs_ioc_recv():

  • Received properties were not restored correctly when failing to receive an

incremental send stream

  • Received properties were not completely replaced by the new ones when

successfully receiving an incremental send stream

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: loli10K <ezomori.nozomu@gmail.com>
Closes #5497

Details

Provenance
LOLi <loli10K@users.noreply.github.com>Authored on Dec 21 2016, 2:46 AM
Brian Behlendorf <behlendorf1@llnl.gov>Committed on Dec 21 2016, 2:46 AM
Parents
rGa3823f428deb: Fix file attributes
Branches
Unknown
Tags
Unknown

Event Timeline

Brian Behlendorf <behlendorf1@llnl.gov> committed rG5f1346c29997: Fix dsl_props_set_sync_impl to work with nested nvlist (authored by LOLi <loli10K@users.noreply.github.com>).Dec 21 2016, 2:46 AM