WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] [PATCH 1/4] pvSCSI : Add white list to SCSI command emul

To: Steven Smith <steven.smith@xxxxxxxxxx>
Subject: Re: [Xen-devel] [PATCH 1/4] pvSCSI : Add white list to SCSI command emulation
From: Jun Kamada <kama@xxxxxxxxxxxxxx>
Date: Mon, 07 Jul 2008 19:57:35 +0900
Cc: kama@xxxxxxxxxxxxxx, xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Mon, 07 Jul 2008 03:58:12 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <20080704162154.GA21118@xxxxxxxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <20080703203710.8583.EB2C8575@xxxxxxxxxxxxxx> <20080704162154.GA21118@xxxxxxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Steven-san,

On Fri, 4 Jul 2008 17:21:54 +0100
Steven Smith <steven.smith@xxxxxxxxxx> wrote:

> > +   bitmap[ERASE] = VSCSIIF_NEED_CMD_EXEC;
> > +   pre_function[ERASE] = NULL;
> > +   post_function[ERASE] = NULL;
> > +
> > +   bitmap[MODE_SENSE] = VSCSIIF_NEED_CMD_EXEC;
> > +   pre_function[MODE_SENSE] = NULL;
> > +   post_function[MODE_SENSE] = NULL;
> > +
> > +   bitmap[SEND_DIAGNOSTIC] = VSCSIIF_NEED_CMD_EXEC;
> > +   pre_function[SEND_DIAGNOSTIC] = NULL;
> > +   post_function[SEND_DIAGNOSTIC] = NULL;
> Hmm, careful here.  If the DevOffL bit is set on a SEND DIAGNOSTIC
> command then it can cause interference in other LUNs on the target,
> which would be unfortunate if they're exposed to different VMs.
> 
> > +
> > +   bitmap[READ_CAPACITY] = VSCSIIF_NEED_CMD_EXEC;
> > +   pre_function[READ_CAPACITY] = NULL;
> > +   post_function[READ_CAPACITY] = NULL;
> > +
> > +   bitmap[READ_10] = VSCSIIF_NEED_CMD_EXEC;
> > +   pre_function[READ_10] = NULL;
> > +   post_function[READ_10] = NULL;
> > +
> > +   bitmap[WRITE_10] = VSCSIIF_NEED_CMD_EXEC;
> > +   pre_function[WRITE_10] = NULL;
> > +   post_function[WRITE_10] = NULL;
> Do you know what happens if the SCSI CDB is inconsistent with the
> scatter list?  For instance, if the CDB says to read 16 sectors but
> the frontend-supplied buffer is only big enough for 8, are we going to
> end up DMAing over random memory?

I consider that native SCSI driver, which generates DMA request, will 
reject such the inconsistent request. The native driver generates 
multiple CDB requests according to the number of scatter/gather 
segments. At the same time, doesn't the native driver check such the 
inconsistency?
So, if there are any inconsistency, pvSCSI backend driver will just 
get an error from native driver.

Perhaps, do you warry about inconsitency between size of some segment
frontend driver says, and size of the segment the frontend driver
actually allocated?

# Sorry, if I misundastood your question.


Best regards,


-----
Jun Kamada



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel