…dev_validate

Reviewed by: George Wilson <george.wil...@delphix.com>
Reviewed by: Matt Ahrens <matthew.ahr...@delphix.com>

ztest failed with uncorrectable IO error despite having the fix for #7163.
Both sides of the mirror have CANT_OPEN_BAD_LABEL, which also distinguishes
it from that issue.

Definitely seems like a racing condition between the vdev_validate and spa_sync:
1. Thread A (spa_sync): vdev label is updated to latest txg
2. Thread B (vdev_validate): vdev label's txg is compared to
   spa_last_synced_txg and is ahead.
3. Thread A (spa_sync): spa_last_synced_txg is updated to latest txg.

Solution: do not check txg in vdev_validate unless config lock is held.

Upstream bug: DLPX-46430
You can view, comment on, or merge this pull request online at:

  https://github.com/openzfs/openzfs/pull/563

-- Commit Summary --

  * 9187 racing condition between vdev label and spa_last_synced_txg in 
vdev_validate

-- File Changes --

    M usr/src/uts/common/fs/zfs/vdev.c (5)

-- Patch Links --

https://github.com/openzfs/openzfs/pull/563.patch
https://github.com/openzfs/openzfs/pull/563.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/openzfs/openzfs/pull/563

------------------------------------------
openzfs-developer
Archives: 
https://openzfs.topicbox.com/groups/developer/discussions/Ta6dfbf8d45084a37-M372c666c4e6141255d554361
Powered by Topicbox: https://topicbox.com

Reply via email to