Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 12 Jan 2014 19:02:48 -0600
From:      Bryan Venteicher <bryanv@freebsd.org>
To:        Nathan Whitehorn <nwhitehorn@freebsd.org>
Cc:        svn-src-head@freebsd.org, Bryan Venteicher <bryanv@freebsd.org>, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r260566 - head/sys/dev/virtio/scsi
Message-ID:  <CAGaYwLfsu=2giMffqJN7Fnt_exYGMSQRDJxXv68yQWd=VTGdoQ@mail.gmail.com>
In-Reply-To: <52D313F1.9010005@freebsd.org>
References:  <201401121740.s0CHelGk032373@svn.freebsd.org> <52D313F1.9010005@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Jan 12, 2014 at 4:15 PM, Nathan Whitehorn <nwhitehorn@freebsd.org>wrote:

> This looks like it is uses a two-level set of hierarchical LUNs. Does
> REPORT_LUNS not work? The new extended LUN support in CAM should be able
> to handle this kind of thing now without virtio knowing anything about it.
>


Details from the PR seem to suggest the Google Compute Engine hypervisor
(I'd guess it is some QEMU fork) doesn't support REPORT_LUNS.

-Nathan
>
> On 01/12/14 12:40, Bryan Venteicher wrote:
> > Author: bryanv
> > Date: Sun Jan 12 17:40:47 2014
> > New Revision: 260566
> > URL: http://svnweb.freebsd.org/changeset/base/260566
> >
> > Log:
> >   Remove incorrect bit shift when assigning the LUN request field
> >
> >   This caused duplicate targets appearing on Google Compute Engine
> >   instances.
> >
> >   PR:         kern/185626
> >   Submitted by:       Venkatesh Srinivas <venkateshs@google.com>
> >   MFC after:  3 days
> >
> > Modified:
> >   head/sys/dev/virtio/scsi/virtio_scsi.c
> >
> > Modified: head/sys/dev/virtio/scsi/virtio_scsi.c
> >
> ==============================================================================
> > --- head/sys/dev/virtio/scsi/virtio_scsi.c    Sun Jan 12 15:35:03 2014
>      (r260565)
> > +++ head/sys/dev/virtio/scsi/virtio_scsi.c    Sun Jan 12 17:40:47 2014
>      (r260566)
> > @@ -1539,7 +1539,7 @@ vtscsi_set_request_lun(struct ccb_hdr *c
> >       lun[0] = 1;
> >       lun[1] = ccbh->target_id;
> >       lun[2] = 0x40 | ((ccbh->target_lun >> 8) & 0x3F);
> > -     lun[3] = (ccbh->target_lun >> 8) & 0xFF;
> > +     lun[3] = ccbh->target_lun & 0xFF;
> >  }
> >
> >  static void
>
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAGaYwLfsu=2giMffqJN7Fnt_exYGMSQRDJxXv68yQWd=VTGdoQ>