From: "Tomáš Golembiovský" <tgolembi@redhat.com>
To: Kevin Wolf <kwolf@redhat.com>
Cc: "Daniel P. Berrange" <berrange@redhat.com>,
qemu-block@nongnu.org, qemu-devel@nongnu.org,
Max Reitz <mreitz@redhat.com>
Subject: Re: [Qemu-devel] [PATCH] raw-posix: add 'offset' and 'size' options
Date: Tue, 4 Oct 2016 13:48:06 +0200 [thread overview]
Message-ID: <20161004134806.56edeb16@fiorina> (raw)
In-Reply-To: <20161004085749.GA5316@noname.str.redhat.com>
On Tue, 4 Oct 2016 10:57:49 +0200
Kevin Wolf <kwolf@redhat.com> wrote:
> Am 03.10.2016 um 13:07 hat Tomáš Golembiovský geschrieben:
> > > > > > + if (((bs->drv != &bdrv_file) || !bs->read_only) &&
> > > > >
> > > > > Why the check against bdrv_file ?
> > > >
> > > > To limit it only to files. Maybe there is better way to do that? The
> > > > devices have a nasty habit to change the size. Sure, this can happen to
> > > > file too, e.g. if somebody truncates the file outside QEMU. But that's
> > > > rather a bad behaviour. For devices changing the size may be perfectly
> > > > valid operation, e.g. replacing CD in drive or card in a card reader.
> > >
> > > The raw driver is usable over any storage backend (file, rbd, iscsi,
> > > etc, etc) and it is valid to want to use a offset/size parameter in
> > > combination with any of them. So we should not restrict it to just
> > > files.
>
> Just to clear up some confusion here: There are the file/host_device/...
> protocol drivers, which only access local files. These are implemented
> in raw-posix.c, i.e. the file that this patch is touching. raw-win32.c
> implements the same kind of file access for Windows.
>
> And then there is the raw image format driver, which is raw_bsd.c. This
> one is what is layered on top of any of the protocol drivers, including
> raw-posix, raw-win32 and all the network protocols.
>
> This is why implementing the feature in the raw format driver would make
> it so much more useful. You could use it with any backend then.
>
Thanks Kevin, this really helped. I have to admit the naming is quite
confusing.
> > > > If we go with the second option then I have a another question. How
> > > > strict is (or should be) qemu about the sizes being block aligned? I'm
> > > > still little bit fuzzy on that. Somewhere it is assumed that the size is
> > > > multiple of 512, sometimes qemu automatically rounds up if it isn't and
> > > > sometimes it seems to me that the size can be arbitrary.
>
> Traditionally, the qemu block layer worked in 512 byte units and you
> still see places where this is true. But we're in a process of
> converting things to use bytes everywhere (which saves a lot of
> conversion back and forth and simplifies the code), and the basic
> read/write functions in the primary block drivers (raw, qcow2, file) can
> all work with byte granularity today.
Again thanks for clearing that up a bit.
Tomas
--
Tomáš Golembiovský <tgolembi@redhat.com>
next prev parent reply other threads:[~2016-10-04 11:48 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-02 19:13 [Qemu-devel] [PATCH] raw-posix: add 'offset' and 'size' options Tomáš Golembiovský
2016-10-03 8:52 ` Daniel P. Berrange
2016-10-03 9:20 ` Paolo Bonzini
2016-10-03 10:47 ` Tomáš Golembiovský
2016-10-03 11:20 ` Paolo Bonzini
2016-10-03 10:45 ` Tomáš Golembiovský
2016-10-03 10:52 ` Daniel P. Berrange
2016-10-03 11:07 ` Tomáš Golembiovský
2016-10-03 11:11 ` Daniel P. Berrange
2016-10-04 8:57 ` Kevin Wolf
2016-10-04 9:15 ` Daniel P. Berrange
2016-10-04 13:58 ` Eric Blake
2016-10-04 11:48 ` Tomáš Golembiovský [this message]
2016-10-03 15:28 ` Eric Blake
2016-10-04 9:24 ` Kevin Wolf
2016-10-04 10:12 ` Paolo Bonzini
2016-10-04 11:59 ` Kevin Wolf
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=20161004134806.56edeb16@fiorina \
--to=tgolembi@redhat.com \
--cc=berrange@redhat.com \
--cc=kwolf@redhat.com \
--cc=mreitz@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.