HomeFreeBSD

zfs: fix vdev_rebuild_thread deadlock

Description

zfs: fix vdev_rebuild_thread deadlock

From the openzfs 8e43fa12c commit message:

The metaslab_disable() call may block waiting for a txg sync.
Therefore it's important that vdev_rebuild_thread release the
SCL_CONFIG read lock it is holding before this call.  Failure
to do so can result in the txg_sync thread getting blocked
waiting for this lock which results in a deadlock.

Obtained from: openzfs/zfs@8e43fa12c571878f32119122771888ab9092a75a
Approved by: re (delphij)

(cherry picked from commit c7069063144395b025c0ef178431eb2cafdbe1ca)

Details

Provenance
mmAuthored on Mar 3 2021, 1:28 AM
Parents
rG2fa2d50ead44: zfs: fix overly broad locking in spa_vdev_config_exit()
Branches
Unknown
Tags
Unknown