RE: Libvirt NVME support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----Original Message-----
> From: Peter Krempa <pkrempa@xxxxxxxxxx>
> Sent: 23 November 2020 17:47
> To: Thanos Makatos <thanos.makatos@xxxxxxxxxxx>
> Cc: Suraj Kasi <suraj.kasi@xxxxxxxxxxx>; libvirt-list@xxxxxxxxxx; John Levon
> <john.levon@xxxxxxxxxxx>
> Subject: Re: Libvirt NVME support
> 
> On Mon, Nov 23, 2020 at 17:40:58 +0000, Thanos Makatos wrote:
> >
> >
> > > -----Original Message-----
> > > From: Peter Krempa <pkrempa@xxxxxxxxxx>
> > > Sent: 23 November 2020 16:56
> > > To: Thanos Makatos <thanos.makatos@xxxxxxxxxxx>
> > > Cc: Suraj Kasi <suraj.kasi@xxxxxxxxxxx>; libvirt-list@xxxxxxxxxx; John
> Levon
> > > <john.levon@xxxxxxxxxxx>
> > > Subject: Re: Libvirt NVME support
> > >
> > > On Mon, Nov 23, 2020 at 16:48:55 +0000, Thanos Makatos wrote:
> > > > > On Mon, Nov 23, 2020 at 13:07:51 +0000, Thanos Makatos wrote:
> > > > > >
> > > > > > > On Mon, Nov 23, 2020 at 09:47:23 +0000, Thanos Makatos wrote:
> > > > > > > > > On Thu, Nov 19, 2020 at 10:17:56 +0000, Thanos Makatos
> wrote:
> > >
> > > > > > > >
> > > > > > > > Revistiting your initial suggestion, it should be something like this
> > > > > > > > (s/sdb/nvme0):
> > > > > > > >
> > > > > > > >     <disk type='file' device='disk'>
> > > > > > > >       <source dev='/Host/QEMUGuest2.qcow2'/>
> > > > > > > >       <target dev='nvme0' bus='nvme'/>
> > > > > > > >       <address type='drive' controller='1' bus='0' target='0'
> unit='1'/>
> > > > > > > >     </disk>
> > > > > > >
> > > > > > > Note that the parser for 'dev' is a bit quirky, old, and used in many
> > > > > > > places besides the qemu driver. It's also used with numbers in
> non-
> > > qemu
> > > > > > > cases. Extending that to parse numbers for nvme but not for sda
> > > might
> > > > > > > become ugly very quickly. Sticking with a letter at the end
> ('nvmea'
> > > > > > > might be a more straightforward approach.
> > > > > >
> > > > > > Then I think we should just stick with 'nvme'.
> > > > >
> > > > > You still need a way to "index" it somehow. The target must be
> unique
> > > > > for each disk.
> > > >
> > > > I think I've misunderstood something, I thought controller='1' in
> <address
> > > ...>
> > > > refers to index='1' in <controller ...>. So <address ...> should be:
> > > >
> > > >     <address type='nvme' index='1' controller='1' ns='2'/>
> > > >
> > > > What's controller='1' then?
> > >
> > > What I meant by the above is that the value of "<target dev='THIS'" must
> > > be unique for every <disk>. I also wanted to advice to not use numbers
> > > for making it unique. Numbers used for it have a legacy meaning.
> > >
> > > Your suggested <address type='nvme' design looks good.
> >
> > OK, so we definitely need dev='...' in target which is something like [a-zA-
> Z]+
> > and is unique. If this identifier is not controlled by the user, I think it
> > would be best not to prefix it with 'nvme' (thus resulting in strings like
> > 'nvmea' or 'nvmeabc'), as they can be rather confusing for people who
> don't
> > know the details.
> >
> > However, I still don't understand how index='1' and controller='1' in
> address
> > relate to index='1' in controller:
> >
> >     <address type='nvme' index='1' controller='1' ns='2'/>
> 
> index should not be here at all ..
> 
> 
> >
> > and
> >
> >     <controller type='nvme' index='1' model='nvme'>
> >
> >
> 
> ... then it makes sense.

Thanks, it makes perfect sense now.





[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux