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
MFS after: 3 days

(direct commit)

Details

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