NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

PR/52783 CVS commit: src/sys/dev/ata



The following reply was made to PR kern/52783; it has been noted by GNATS.

From: "Jaromir Dolecek" <jdolecek%netbsd.org@localhost>
To: gnats-bugs%gnats.NetBSD.org@localhost
Cc: 
Subject: PR/52783 CVS commit: src/sys/dev/ata
Date: Fri, 10 Aug 2018 22:43:22 +0000

 Module Name:	src
 Committed By:	jdolecek
 Date:		Fri Aug 10 22:43:22 UTC 2018
 
 Modified Files:
 	src/sys/dev/ata: ata_subr.c atavar.h wd.c
 
 Log Message:
 fix race in wd_lastclose() on systems with two ide disks on same
 channel, which happened when one disk had pending I/O while the other
 disk executed the final disk flush - need to restart bufq processing
 once xfer is freed in this case
 
 it could happen e.g. on boot when system executes fsck on different
 partitions on the two drives in parallell and hence open and closes
 the disk devices repeatedly
 
 add KASSERT() for empty bufq on wd_lastclose(), and fix similar issue
 also on suspend/standby path
 
 this was introduced by the NCQ merge and not dksubr - before the merge
 each drive had their own xfer, so they could not block each other
 
 fixes PR kern/52783 by Onno van der Linden; many thanks for extensive
 help with tracking this down
 
 
 To generate a diff of this commit:
 cvs rdiff -u -r1.5 -r1.6 src/sys/dev/ata/ata_subr.c
 cvs rdiff -u -r1.98 -r1.99 src/sys/dev/ata/atavar.h
 cvs rdiff -u -r1.440 -r1.441 src/sys/dev/ata/wd.c
 
 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.
 


Home | Main Index | Thread Index | Old Index