SVNews r332548

NOTE: This service is experimental and subject to change! Use at your own risk!

2018-04-16 04:11:48 - r332548 by mav (Alexander Motin)

Complete list of files affected by revision r332548:

(Note: At the moment, these links point to ViewVC on svn.freebsd.org. They are probably slow. Do not overuse.)

   Contents     MODIFY   /stable/11  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c  

Commit message:

MFC r331703: MFV 331702:
9187 racing condition between vdev label and spa_last_synced_txg in
vdev_validate

illumos/illumos-gate@d1de72cfa29ab77ff80e2bb0e668a6afa5bccaf0

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.

Reviewed by: George Wilson <george.wilson@delphix.com>
Reviewed by: Matt Ahrens <matthew.ahrens@delphix.com>
Approved by: Robert Mustacchi <rm@joyent.com>
Author: Pavel Zakharov <pavel.zakharov@delphix.com>

 


Powered by Python FreeBSD support by secnetix GmbH & Co. KG

Page generated in 16 ms, 2 files printed. Current time is 2018-04-23 15:04:17. All times are in UTC/GMT.