mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-12-25 02:49:32 +03:00
4188 assertion failed in dmu_tx_hold_free(): dn_datablkshift != 0
Reviewed by: George Wilson <george.wilson@delphix.com> Reviewed by: Christopher Siden <christopher.siden@delphix.com> Approved by: Garrett D'Amore <garrett@damore.org> Refences: https://www.illumos.org/issues/4188 illumos/illumos-gate@bb411a08b0 Ported-by: Chris Dunlop <chris@onthe.net.au> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes #2091
This commit is contained in:
parent
8b4646494c
commit
2e7b7657cd
@ -656,9 +656,16 @@ dmu_tx_hold_free(dmu_tx_t *tx, uint64_t object, uint64_t off, uint64_t len)
|
||||
uint64_t end = (off + len) >> shift;
|
||||
uint64_t i;
|
||||
|
||||
ASSERT(dn->dn_datablkshift != 0);
|
||||
ASSERT(dn->dn_indblkshift != 0);
|
||||
|
||||
/*
|
||||
* dnode_reallocate() can result in an object with indirect
|
||||
* blocks having an odd data block size. In this case,
|
||||
* just check the single block.
|
||||
*/
|
||||
if (dn->dn_datablkshift == 0)
|
||||
start = end = 0;
|
||||
|
||||
zio = zio_root(tx->tx_pool->dp_spa,
|
||||
NULL, NULL, ZIO_FLAG_CANFAIL);
|
||||
for (i = start; i <= end; i++) {
|
||||
|
Loading…
Reference in New Issue
Block a user