Project

General

Profile

Actions

Bug #4047

closed

panic from dbuf_free_range() from dmu_free_object() while doing zfs receive

Added by Christopher Siden about 9 years ago. Updated about 9 years ago.

Status:
Closed
Priority:
Normal
Category:
zfs - Zettabyte File System
Start date:
2013-08-16
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:
needs-triage
Gerrit CR:
External Bug:

Description

This is a regression caused by #3834

Analysis by Matt Ahrens

The problem is easy to reproduce:

zfs create -o recordsize=512 test/fs
dd if=/dev/zero of=/test/fs/100m bs=1024k count=100
zfs snapshot test/fs@big
zfs send test/fs@big | zfs recv test/recvd
rm /test/fs/100m
zfs snapshot test/fs@rm
zfs send -i @big test/fs@rm | zfs recv test/recvd

The root cause is that dmu_free_long_range_impl() does not free
blocksize-aligned chunks.  This causes us to instantiate dbufs, which
dbuf_free_range() does not expect.


Related issues

Related to illumos gate - Bug #3834: incremental replication of 'holey' file systems is slowClosedChristopher Siden2013-06-21

Actions
Related to illumos gate - Bug #4065: Kernel panic on zfs recvNew2013-08-21

Actions
Related to illumos gate - Bug #4082: zfs receive gets EFBIG from dmu_tx_hold_free()ClosedChristopher Siden2013-08-27

Actions
Actions

Also available in: Atom PDF