mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-26 20:22:14 +03:00
Send / Recv Fixes following b52563
This patch fixes several issues discovered after the encryption patch was merged: * Fixed a bug where encrypted datasets could attempt to receive embedded data records. * Fixed a bug where dirty records created by the recv code wasn't properly setting the dr_raw flag. * Fixed a typo where a dmu_tx_commit() was changed to dmu_tx_abort() * Fixed a few error handling bugs unrelated to the encryption patch in dmu_recv_stream() Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Tom Caputi <tcaputi@datto.com> Closes #6512 Closes #6524 Closes #6545
This commit is contained in:
committed by
Brian Behlendorf
parent
db4c1adaf8
commit
9b8407638d
@@ -2016,6 +2016,25 @@ dmu_object_set_compress(objset_t *os, uint64_t object, uint8_t compress,
|
||||
dnode_rele(dn, FTAG);
|
||||
}
|
||||
|
||||
/*
|
||||
* Dirty an object and set the dirty record's raw flag. This is used
|
||||
* when writing raw data to an object that will not effect the
|
||||
* encryption parameters, specifically during raw receives.
|
||||
*/
|
||||
int
|
||||
dmu_object_dirty_raw(objset_t *os, uint64_t object, dmu_tx_t *tx)
|
||||
{
|
||||
dnode_t *dn;
|
||||
int err;
|
||||
|
||||
err = dnode_hold(os, object, FTAG, &dn);
|
||||
if (err)
|
||||
return (err);
|
||||
dmu_buf_will_change_crypt_params((dmu_buf_t *)dn->dn_dbuf, tx);
|
||||
dnode_rele(dn, FTAG);
|
||||
return (err);
|
||||
}
|
||||
|
||||
int zfs_mdcomp_disable = 0;
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user