diff options
author | David Gwynne <dlg@cvs.openbsd.org> | 2010-01-09 21:12:07 +0000 |
---|---|---|
committer | David Gwynne <dlg@cvs.openbsd.org> | 2010-01-09 21:12:07 +0000 |
commit | f530cae7088891a665f204338f63af142add258d (patch) | |
tree | feb8d0b54b8095978b84e1bab3d58158530fdcaf /sys/scsi/sdvar.h | |
parent | 0acd547b2e00191799edec5d0d889e5a8cd99aa1 (diff) |
dont try to prevent multiple concurrent runs of a devices start routine
by setting flags around the loop. there is a race which can prevent
necessary work being completed by any of the currently running instances
of xxstart.
the caveat with the removal of this code is because multiple xxstarts can
be running at the same time they can cause io reordering, but that is less
of a problem than no io.
found by and fix tested by claudio@
debugged with krw@ claudio@ beck@ deraadt@
Diffstat (limited to 'sys/scsi/sdvar.h')
-rw-r--r-- | sys/scsi/sdvar.h | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/sys/scsi/sdvar.h b/sys/scsi/sdvar.h index 115d3ee07be..ad44adf6b85 100644 --- a/sys/scsi/sdvar.h +++ b/sys/scsi/sdvar.h @@ -1,4 +1,4 @@ -/* $OpenBSD: sdvar.h,v 1.25 2009/12/03 14:31:03 dlg Exp $ */ +/* $OpenBSD: sdvar.h,v 1.26 2010/01/09 21:12:06 dlg Exp $ */ /* $NetBSD: sdvar.h,v 1.7 1998/08/17 00:49:03 mycroft Exp $ */ /*- @@ -61,7 +61,6 @@ struct sd_softc { #define SDF_DIRTY 0x20 /* disk is dirty; needs cache flush */ #define SDF_DYING 0x40 /* dying, when deactivated */ #define SDF_WAITING 0x80 /* bus is busy, try again later */ -#define SDF_STARTING 0x100 /* sdstart is already running */ struct scsi_link *sc_link; /* contains our targ, lun, etc. */ struct disk_parms { u_long heads; /* number of heads */ |