Project

General

Profile

Bug #4047

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

Added by Christopher Siden about 6 years ago. Updated about 6 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

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 slowClosed2013-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()Closed2013-08-27

Actions

History

#1

Updated by Marcel Telka about 6 years ago

Resolved in:

commit 713d6c208802cfbb806329ec0d154b641b80c355
Author: Matthew Ahrens <mahrens@delphix.com>
Date:   Tue Aug 20 20:11:52 2013 -0800

    4047 panic from dbuf_free_range() from dmu_free_object() while doing zfs rec
    Reviewed by: Adam Leventhal <ahl@delphix.com>
    Reviewed by: George Wilson <george.wilson@delphix.com>
    Approved by: Dan McDonald <danmcd@nexenta.com>
#2

Updated by Christopher Siden about 6 years ago

  • Status changed from In Progress to Closed

Also available in: Atom PDF