Project

General

Profile

Bug #8126

ztest assertion failed in dbuf_dirty due to dn_nlevels changing

Added by Prakash Surya over 2 years ago. Updated about 2 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
zfs - Zettabyte File System
Start date:
2017-04-28
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:
needs-triage

Description

The sync thread is concurrently modifying dn_phys->dn_nlevels
while dbuf_dirty() is trying to assert something about it, without
holding the necessary lock. We need to move this assertion further down
in the function, after we have acquired the dn_struct_rwlock.

History

#1

Updated by Electric Monk about 2 years ago

  • % Done changed from 0 to 100
  • Status changed from New to Closed

git commit dcb6872c565819ac88acbc2ece999ef241c8b982

commit  dcb6872c565819ac88acbc2ece999ef241c8b982
Author: Matthew Ahrens <mahrens@delphix.com>
Date:   2017-07-05T18:57:09.000Z

    8126 ztest assertion failed in dbuf_dirty due to dn_nlevels changing
    Reviewed by: Pavel Zakharov <pavel.zakharov@delphix.com>
    Reviewed by: Serapheim Dimitropoulos <serapheim@delphix.com>
    Approved by: Robert Mustacchi <rm@joyent.com>

Also available in: Atom PDF