Bug #3645

dmu_send_impl: possibilty of pool hold leak

Added by Andriy Gapon about 2 years ago. Updated about 2 years ago.

Status:ClosedStart date:2013-03-23
Priority:NormalDue date:
Assignee:Matthew Ahrens% Done:

100%

Category:zfs - Zettabyte File System
Target version:-
Difficulty:Bite-size Tags:needs-triage

Description

This can happen if dump_bytes fails.
Additionally, dsl_dataset_long_rele would be called without matching
dsl_dataset_long_hold.

dmu_send.c.patch Magnifier (686 Bytes) Martin Matuška, 2013-04-03 10:40 AM

History

#1 Updated by Andriy Gapon about 2 years ago

Andriy Gapon wrote:

This can happen if dump_bytes fails.

The first call to dump_bytes, to be specific:
https://github.com/illumos/illumos-gate/blob/master/usr/src/uts/common/fs/zfs/dmu_send.c#L484

#2 Updated by Martin Matuška about 2 years ago

Attaching patch that fixes the problem.

#3 Updated by Matthew Ahrens about 2 years ago

See also bug 3695, which is a dup of this.

#4 Updated by Matthew Ahrens about 2 years ago

  • Assignee set to Matthew Ahrens
  • Status changed from New to In Progress

#5 Updated by Christopher Siden about 2 years ago

  • % Done changed from 0 to 100
  • Status changed from In Progress to Closed
commit de8d9cf
Author: Matthew Ahrens <mahrens@delphix.com>
Date:   Wed Apr 10 14:54:56 2013

    3645 dmu_send_impl: possibilty of pool hold leak
    3692 Panic on zfs receive of a recursive deduplicated stream
    Reviewed by: Adam Leventhal <ahl@delphix.com>
    Reviewed by: Christopher Siden <christopher.siden@delphix.com>
    Reviewed by: Dan McDonald <danmcd@nexenta.com>
    Approved by: Richard Lowe <richlowe@richlowe.net>

Also available in: Atom