lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 14 Jul 2014 03:19:53 +0000
From:	KY Srinivasan <kys@...rosoft.com>
To:	KY Srinivasan <kys@...rosoft.com>,
	"Martin K. Petersen" <martin.petersen@...cle.com>
CC:	"linux-scsi@...r.kernel.org" <linux-scsi@...r.kernel.org>,
	"jasowang@...hat.com" <jasowang@...hat.com>,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
	"stable@...r.kernel.org" <stable@...r.kernel.org>,
	"ohering@...e.com" <ohering@...e.com>,
	"hch@...radead.org" <hch@...radead.org>,
	James Bottomley <jbottomley@...allels.com>,
	"apw@...onical.com" <apw@...onical.com>,
	"devel@...uxdriverproject.org" <devel@...uxdriverproject.org>
Subject: RE: [PATCH 4/8] Drivers: scsi: storvsc: Filter WRITE_SAME_16



> -----Original Message-----
> From: driverdev-devel-bounces@...uxdriverproject.org [mailto:driverdev-
> devel-bounces@...uxdriverproject.org] On Behalf Of KY Srinivasan
> Sent: Sunday, July 13, 2014 7:38 PM
> To: Martin K. Petersen
> Cc: linux-scsi@...r.kernel.org; jasowang@...hat.com; linux-
> kernel@...r.kernel.org; stable@...r.kernel.org; ohering@...e.com;
> hch@...radead.org; James Bottomley; apw@...onical.com;
> devel@...uxdriverproject.org
> Subject: RE: [PATCH 4/8] Drivers: scsi: storvsc: Filter WRITE_SAME_16
> 
> 
> 
> > -----Original Message-----
> > From: KY Srinivasan
> > Sent: Sunday, July 13, 2014 11:50 AM
> > To: 'Martin K. Petersen'
> > Cc: hch@...radead.org; James Bottomley; linux-kernel@...r.kernel.org;
> > devel@...uxdriverproject.org; apw@...onical.com;
> > stable@...r.kernel.org; linux-scsi@...r.kernel.org; ohering@...e.com;
> > jasowang@...hat.com
> > Subject: RE: [PATCH 4/8] Drivers: scsi: storvsc: Filter WRITE_SAME_16
> >
> >
> >
> > > -----Original Message-----
> > > From: Martin K. Petersen [mailto:martin.petersen@...cle.com]
> > > Sent: Sunday, July 13, 2014 5:59 AM
> > > To: KY Srinivasan
> > > Cc: hch@...radead.org; James Bottomley;
> > > linux-kernel@...r.kernel.org; devel@...uxdriverproject.org;
> > > apw@...onical.com; stable@...r.kernel.org;
> > > linux-scsi@...r.kernel.org; ohering@...e.com; jasowang@...hat.com
> > > Subject: Re: [PATCH 4/8] Drivers: scsi: storvsc: Filter
> > > WRITE_SAME_16
> > >
> > > >>>>> "KY" == KY Srinivasan <kys@...rosoft.com> writes:
> > >
> > > KY> Windows hosts do support UNMAP and set the field in the EVPD.
> > > KY> However, since the host advertises SPC-2 compliance, Linux does
> > > KY> not even query the VPD page.
> > >
> > > >> If we want to enable UNMAP in this case I'd prefer a blacklist
> > > >> entry than trying UNMAP despite the device not advertising it.
> > >
> > > I agree with that. We could do something like the patch below.
> > >
> > > However, I do think it's a good idea that you guys are looking into
> > > reporting SPC-3.
> >
> > Thanks Martin; this patch would address our present issues. I will get
> > some testing done and report back.
> 
> How should we force the flag (BLIST_TRY_VPD_PAGES) to be set.

Once I force the flag set, it works. Thanks Martin.

K. Y
> 
> K. Y
> >
> > Regards,
> >
> > K. Y
> > >
> > >
> > > SCSI: Add a blacklist flag which enables VPD page inquiries
> > >
> > > Despite supporting modern SCSI features some storage devices
> > > continue to claim conformance to an older version of the SPC spec.
> > > This is done for compatibility with legacy operating systems.
> > >
> > > Linux by default will not attempt to read VPD pages on devices that
> > > claim
> > > SPC-2 or older. Introduce a blacklist flag that can be used to
> > > trigger VPD page inquiries on devices that are known to support them.
> > >
> > > Reported-by: KY Srinivasan <kys@...rosoft.com>
> > > Signed-off-by: Martin K. Petersen <martin.petersen@...cle.com>
> > >
> > > diff --git a/drivers/scsi/scsi_scan.c b/drivers/scsi/scsi_scan.c
> > > index 4a6e4ba5a400..a5b1a224628a 100644
> > > --- a/drivers/scsi/scsi_scan.c
> > > +++ b/drivers/scsi/scsi_scan.c
> > > @@ -949,7 +949,9 @@ static int scsi_add_lun(struct scsi_device
> > > *sdev, unsigned char *inq_result,
> > >
> > >  	sdev->eh_timeout = SCSI_DEFAULT_EH_TIMEOUT;
> > >
> > > -	if (*bflags & BLIST_SKIP_VPD_PAGES)
> > > +	if (*bflags & BLIST_TRY_VPD_PAGES)
> > > +		sdev->try_vpd_pages = 1;
> > > +	else if (*bflags & BLIST_SKIP_VPD_PAGES)
> > >  		sdev->skip_vpd_pages = 1;
> > >
> > >  	transport_configure_device(&sdev->sdev_gendev);
> > > diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c index
> > > 87566b51fcf7..31d32b9077ca 100644
> > > --- a/drivers/scsi/sd.c
> > > +++ b/drivers/scsi/sd.c
> > > @@ -2701,6 +2701,11 @@ static void sd_read_write_same(struct
> > > scsi_disk *sdkp, unsigned char *buffer)
> > >
> > >  static int sd_try_extended_inquiry(struct scsi_device *sdp)  {
> > > +	/* Attempt VPD inquiry if the device blacklist explicitly calls
> > > +	 * for it.
> > > +	 */
> > > +	if (sdp->try_vpd_pages)
> > > +		return 1;
> > >  	/*
> > >  	 * Although VPD inquiries can go to SCSI-2 type devices,
> > >  	 * some USB ones crash on receiving them, and the pages diff --git
> > > a/include/scsi/scsi_device.h b/include/scsi/scsi_device.h index
> > > 9aa38f7b303b..f579408620f0 100644
> > > --- a/include/scsi/scsi_device.h
> > > +++ b/include/scsi/scsi_device.h
> > > @@ -155,6 +155,7 @@ struct scsi_device {
> > >  	unsigned skip_ms_page_8:1;	/* do not use MODE SENSE page 0x08
> > > */
> > >  	unsigned skip_ms_page_3f:1;	/* do not use MODE SENSE page 0x3f
> > > */
> > >  	unsigned skip_vpd_pages:1;	/* do not read VPD pages */
> > > +	unsigned try_vpd_pages:1;	/* attempt to read VPD pages */
> > >  	unsigned use_192_bytes_for_3f:1; /* ask for 192 bytes from page
> > 0x3f
> > > */
> > >  	unsigned no_start_on_add:1;	/* do not issue start on add */
> > >  	unsigned allow_restart:1; /* issue START_UNIT in error handler */
> > > diff --git a/include/scsi/scsi_devinfo.h
> > > b/include/scsi/scsi_devinfo.h index 8670c04e199e..1fdd6fc5492b
> > > 100644
> > > --- a/include/scsi/scsi_devinfo.h
> > > +++ b/include/scsi/scsi_devinfo.h
> > > @@ -34,4 +34,5 @@
> > >  #define BLIST_SKIP_VPD_PAGES	0x4000000 /* Ignore SBC-3 VPD pages
> > > */
> > >  #define BLIST_SCSI3LUN		0x8000000 /* Scan more than 256
> > > LUNs
> > >  					     for sequential scan */
> > > +#define BLIST_TRY_VPD_PAGES	0x10000000 /* Attempt to read VPD
> > > pages */
> > >  #endif
> _______________________________________________
> devel mailing list
> devel@...uxdriverproject.org
> http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists