Source-Changes archive

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

CVS commit: src/sys/dev

Module Name:    src
Committed By:   dyoung
Date:           Tue May 19 19:56:11 UTC 2009

Modified Files:
        src/sys/dev/ata: wd.c
        src/sys/dev/scsipi: sd.c

Log Message:
Delete wdactivate() and sdactivate().  They were no-ops, but as a
side-effect of registering them, config_detach(9) cleared DVF_ACTIVE
before it called wddetach() or sddetach().  Even though sd(4)'s
detachment may have subsequently failed with EBUSY, we could not
begin new disk I/O on sd(4) because the device had been deactivated.

By analogy to sdstrategy(), test device_is_active() in wdstrategy()
and if it is false set b_errno to EIO instead of initiating new
disk I/O.

XXX We should decline more politely to start new I/O, since
XXX !device_is_active() may mean simply that the device is suspended.
XXX I suppose that EIO is safe as long as system suspension is
XXX all-or-nothing.

To generate a diff of this commit:
cvs rdiff -u -r1.374 -r1.375 src/sys/dev/ata/wd.c
cvs rdiff -u -r1.283 -r1.284 src/sys/dev/scsipi/sd.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