On Wed, 2016-08-10 at 22:40 -0400, Martin K. Petersen wrote: > >>>>> "Oliver" == Oliver Neukum <oneukum@xxxxxxxx> writes: > > Oliver> Some SATA to USB bridges fail to cooperate with some drives > Oliver> resulting in no cache being present being reported to the > Oliver> host. That causes the host to skip sending a command to > Oliver> synchronize caches. That causes data loss when the drive is > Oliver> powered down. > > diff --git a/include/scsi/scsi_device.h b/include/scsi/scsi_device.h > index a6c346d..392d166 100644 > --- a/include/scsi/scsi_device.h > +++ b/include/scsi/scsi_device.h > @@ -179,6 +179,7 @@ struct scsi_device { > unsigned try_rc_10_first:1; /* Try READ_CAPACACITY_10 first */ > unsigned is_visible:1; /* is the device visible in sysfs */ > unsigned wce_default_on:1; /* Cache is ON by default */ > + unsigned always_sync:1; /* synchronize cache in every case*/ > unsigned no_dif:1; /* T10 PI (DIF) should be disabled */ > unsigned broken_fua:1; /* Don't set FUA bit */ > unsigned lun_in_cdb:1; /* Store LUN bits in CDB[1] */ > > I must be missing something. How is always_sync different from just > setting wce_default_on? Hi, wce_default_on controls the default if the device provides no indication. The problem here is that the indication the device provides must be overridden, as they are false. Regards Oliver -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html