On Wed, 2016-08-10 at 22:40 -0400, Martin K. Petersen wrote:
> >>>>> "Oliver" == Oliver Neukum <[email protected]> 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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to