svn commit: r224508 - stable/8/sys/cam/ata
Alexander Motin
mav at FreeBSD.org
Sat Jul 30 09:38:52 UTC 2011
Author: mav
Date: Sat Jul 30 09:38:52 2011
New Revision: 224508
URL: http://svn.freebsd.org/changeset/base/224508
Log:
r224283:
Do not try to execute FLUSHCACHE on close and print extra messages for
invalidated (considered lost) ada device. Exactly same already done for
the da devices.
Modified:
stable/8/sys/cam/ata/ata_da.c
Directory Properties:
stable/8/sys/ (props changed)
stable/8/sys/amd64/include/xen/ (props changed)
stable/8/sys/cddl/contrib/opensolaris/ (props changed)
stable/8/sys/contrib/dev/acpica/ (props changed)
stable/8/sys/contrib/pf/ (props changed)
stable/8/sys/geom/label/ (props changed)
Modified: stable/8/sys/cam/ata/ata_da.c
==============================================================================
--- stable/8/sys/cam/ata/ata_da.c Sat Jul 30 08:31:18 2011 (r224507)
+++ stable/8/sys/cam/ata/ata_da.c Sat Jul 30 09:38:52 2011 (r224508)
@@ -401,7 +401,8 @@ adaclose(struct disk *dp)
softc = (struct ada_softc *)periph->softc;
/* We only sync the cache if the drive is capable of it. */
- if (softc->flags & ADA_FLAG_CAN_FLUSHCACHE) {
+ if ((softc->flags & ADA_FLAG_CAN_FLUSHCACHE) != 0 &&
+ (softc->flags & ADA_FLAG_PACK_INVALID) == 0) {
ccb = cam_periph_getccb(periph, CAM_PRIORITY_NORMAL);
cam_fill_ataio(&ccb->ataio,
@@ -1272,7 +1273,8 @@ adadone(struct cam_periph *periph, union
return;
}
if (error != 0) {
- if (error == ENXIO) {
+ if (error == ENXIO &&
+ (softc->flags & ADA_FLAG_PACK_INVALID) == 0) {
/*
* Catastrophic error. Mark our pack as
* invalid.
More information about the svn-src-all
mailing list