From: Kevin Wolf <kwolf@redhat.com>
To: Paul Durrant <Paul.Durrant@citrix.com>
Cc: Anthony Perard <anthony.perard@citrix.com>,
Stefano Stabellini <sstabellini@kernel.org>,
"qemu-block@nongnu.org" <qemu-block@nongnu.org>,
"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
Max Reitz <mreitz@redhat.com>,
"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [Qemu-devel] [PATCH v7 16/18] xen: automatically create XenBlockDevice-s
Date: Tue, 8 Jan 2019 16:25:51 +0100 [thread overview]
Message-ID: <20190108152551.GF11492@linux.fritz.box> (raw)
In-Reply-To: <3d36565f9e7646d08f9b02bf5b5474d7@AMSPEX02CL03.citrite.net>
Am 08.01.2019 um 15:20 hat Paul Durrant geschrieben:
> > -----Original Message-----
> > From: Xen-devel [mailto:xen-devel-bounces@lists.xenproject.org] On Behalf
> > Of Paul Durrant
> > Sent: 08 January 2019 14:11
> > To: Anthony Perard <anthony.perard@citrix.com>
> > Cc: 'Kevin Wolf' <kwolf@redhat.com>; Stefano Stabellini
> > <sstabellini@kernel.org>; qemu-block@nongnu.org; qemu-devel@nongnu.org;
> > Max Reitz <mreitz@redhat.com>; xen-devel@lists.xenproject.org
> > Subject: Re: [Xen-devel] [PATCH v7 16/18] xen: automatically create
> > XenBlockDevice-s
> >
> > > -----Original Message-----
> > > From: Anthony PERARD [mailto:anthony.perard@citrix.com]
> > > Sent: 08 January 2019 13:28
> > > To: Paul Durrant <Paul.Durrant@citrix.com>
> > > Cc: 'Kevin Wolf' <kwolf@redhat.com>; qemu-devel@nongnu.org; qemu-
> > > block@nongnu.org; xen-devel@lists.xenproject.org; Max Reitz
> > > <mreitz@redhat.com>; Stefano Stabellini <sstabellini@kernel.org>
> > > Subject: Re: [PATCH v7 16/18] xen: automatically create XenBlockDevice-s
> > >
> > > On Tue, Jan 08, 2019 at 01:07:49PM +0000, Paul Durrant wrote:
> > > > > -----Original Message-----
> > > > > From: Kevin Wolf [mailto:kwolf@redhat.com]
> > > > > Sent: 08 January 2019 12:53
> > > > > To: Paul Durrant <Paul.Durrant@citrix.com>
> > > > > Cc: Anthony Perard <anthony.perard@citrix.com>; qemu-
> > devel@nongnu.org;
> > > > > qemu-block@nongnu.org; xen-devel@lists.xenproject.org; Max Reitz
> > > > > <mreitz@redhat.com>; Stefano Stabellini <sstabellini@kernel.org>
> > > > > Subject: Re: [PATCH v7 16/18] xen: automatically create
> > > XenBlockDevice-s
> > > > >
> > > > > Am 04.01.2019 um 17:40 hat Paul Durrant geschrieben:
> > > > > > > -----Original Message-----
> > > > > > > From: Anthony PERARD [mailto:anthony.perard@citrix.com]
> > > > > > > Sent: 04 January 2019 16:31
> > > > > > > To: Paul Durrant <Paul.Durrant@citrix.com>
> > > > > > > Cc: qemu-devel@nongnu.org; qemu-block@nongnu.org; xen-
> > > > > > > devel@lists.xenproject.org; Kevin Wolf <kwolf@redhat.com>; Max
> > > Reitz
> > > > > > > <mreitz@redhat.com>; Stefano Stabellini <sstabellini@kernel.org>
> > > > > > > Subject: Re: [PATCH v7 16/18] xen: automatically create
> > > > > XenBlockDevice-s
> > > > > > >
> > > > > > > Almost done, there is one thing left which I believe is an
> > issue.
> > > > > > > Whenever I attach a raw file to QEMU, it print:
> > > > > > > qemu-system-i386: warning: Opening a block device as a file
> > > using
> > > > > the
> > > > > > > 'file' driver is deprecated
> > > > > >
> > > > > > Oh, I'd not noticed that... but then I only use raw files
> > > occasionally.
> > > > >
> > > > > Strictly speaking, this is not about raw (regular) files, but raw
> > > block
> > > > > devices. 'file' is fine for actual regular files, but the protocol
> > > > > driver for block devices is 'host_device'.
> > > > >
> > > > > > > raw files should use the "raw" driver, so we aren't done yet.
> > > > > >
> > > > > > Ok. Having a strictly 2-layer stack actually makes things simpler
> > > anyway
> > > > > :-)
> > > > >
> > > > > Using 'raw' there will make the block layer auto-detect the right
> > > > > protocol layer, so this works. If you want to avoid the second
> > layer,
> > > > > you'd have to figure out manually whether to use 'file' or
> > > > > 'host_device'.
> > > >
> > > > Thanks for the explanation. I'll give it a spin using a device... I've
> > > posted v8 but, given what you say, I'm still not sure I have it right.
> > >
> > > Indeed, in v8, even with the extra 'raw' layer, the warning is still
> > > there. I was trying to understand why, and I only found out today that
> > > we would need to use the 'host_device' driver as explain by Kevin.
> > >
> > >
> > > BTW Paul, we can simplify the code that manage layers, by not managing
> > > them.
> > > Instead of (in JSON / QMP term):
> > > { 'driver': 'file', 'filename': '/file', 'node-name': 'node-file' }
> > > { 'driver': 'qcow2', 'file': 'node-file', 'node-name': 'node-qcow2'
> > }
> > > we can have:
> > > { 'driver': 'qcow2', 'node-name': 'node-qcow2',
> > > 'file': { 'driver': 'file', 'filename': '/file' } }
> > >
> >
> > I kind of like the clean separation though... From what Kevin said, it
> > sounds like the lowest layer should use 'raw' instead of 'file' to DTRT,
> > and then we should be back to only needing the single layer in that case.
> > I'll revert back to v7 and give it a try.
>
> No, that doesn't work as we can't deal with locking correctly unless
> we use driver=file so maybe I misunderstood.
The lowest layer should use 'host_device' there. 'raw' is the format
layer that is stacked on top.
I'm not sure what your locking requirements are, but 'host_device'
supports the same options as 'file'.
Kevin
next prev parent reply other threads:[~2019-01-08 15:26 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-12-20 17:14 [Qemu-devel] [PATCH v7 00/18] Xen PV backend 'qdevification' Paul Durrant
2018-12-20 17:14 ` [Qemu-devel] [PATCH v7 01/18] xen: re-name XenDevice to XenLegacyDevice Paul Durrant
2018-12-20 17:14 ` [Qemu-devel] [PATCH v7 02/18] xen: introduce new 'XenBus' and 'XenDevice' object hierarchy Paul Durrant
2018-12-20 17:14 ` [Qemu-devel] [PATCH v7 03/18] xen: introduce 'xen-block', 'xen-disk' and 'xen-cdrom' Paul Durrant
2018-12-20 17:14 ` [Qemu-devel] [PATCH v7 04/18] xen: create xenstore areas for XenDevice-s Paul Durrant
2018-12-20 17:14 ` [Qemu-devel] [PATCH v7 05/18] xen: add xenstore watcher infrastructure Paul Durrant
2018-12-20 17:14 ` [Qemu-devel] [PATCH v7 06/18] xen: add grant table interface for XenDevice-s Paul Durrant
2018-12-20 17:14 ` [Qemu-devel] [PATCH v7 07/18] xen: add event channel " Paul Durrant
2018-12-20 17:14 ` [Qemu-devel] [PATCH v7 08/18] xen: duplicate xen_disk.c as basis of dataplane/xen-block.c Paul Durrant
2018-12-20 17:14 ` [Qemu-devel] [PATCH v7 09/18] xen: remove unnecessary code from dataplane/xen-block.c Paul Durrant
2019-01-04 9:09 ` Paul Durrant
2019-01-04 15:56 ` Anthony PERARD
2018-12-20 17:14 ` [Qemu-devel] [PATCH v7 10/18] xen: add header and build dataplane/xen-block.c Paul Durrant
2018-12-20 17:14 ` [Qemu-devel] [PATCH v7 11/18] xen: remove 'XenBlkDev' and 'blkdev' names from dataplane/xen-block Paul Durrant
2018-12-20 17:14 ` [Qemu-devel] [PATCH v7 12/18] xen: remove 'ioreq' struct/varable/field names from dataplane/xen-block.c Paul Durrant
2018-12-20 17:14 ` [Qemu-devel] [PATCH v7 13/18] xen: purge 'blk' and 'ioreq' from function names in dataplane/xen-block.c Paul Durrant
2018-12-20 17:14 ` [Qemu-devel] [PATCH v7 14/18] xen: add implementations of xen-block connect and disconnect functions Paul Durrant
2018-12-20 17:14 ` [Qemu-devel] [PATCH v7 15/18] xen: add a mechanism to automatically create XenDevice-s Paul Durrant
2018-12-20 17:14 ` [Qemu-devel] [PATCH v7 16/18] xen: automatically create XenBlockDevice-s Paul Durrant
2019-01-04 9:13 ` Paul Durrant
2019-01-04 16:31 ` Anthony PERARD
2019-01-04 16:40 ` Paul Durrant
2019-01-08 12:53 ` Kevin Wolf
2019-01-08 13:07 ` Paul Durrant
2019-01-08 13:28 ` Anthony PERARD
2019-01-08 14:11 ` Paul Durrant
2019-01-08 14:20 ` Paul Durrant
2019-01-08 15:25 ` Kevin Wolf [this message]
2019-01-08 14:38 ` Paul Durrant
2019-01-08 14:41 ` Anthony PERARD
2018-12-20 17:14 ` [Qemu-devel] [PATCH v7 17/18] MAINTAINERS: add myself as a Xen maintainer Paul Durrant
2018-12-20 17:14 ` [Qemu-devel] [PATCH v7 18/18] xen: remove the legacy 'xen_disk' backend Paul Durrant
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190108152551.GF11492@linux.fritz.box \
--to=kwolf@redhat.com \
--cc=Paul.Durrant@citrix.com \
--cc=anthony.perard@citrix.com \
--cc=mreitz@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=sstabellini@kernel.org \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).