[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-block] [PATCH v2] Add 'offset' and 'size' options
From: |
Tomáš Golembiovský |
Subject: |
[Qemu-block] [PATCH v2] Add 'offset' and 'size' options |
Date: |
Tue, 18 Oct 2016 00:25:16 +0200 |
This is a follow-up to the patch:
[PATCH] raw-posix: add 'offset' and 'size' options
The main changes are:
- options were moved from 'file' driver into 'raw' driver as suggested
- added support for writing, reopen and truncate when possible
If I forgot to address somebody's comments feel free to raise them again,
please.
Some general notes to the code:
1) The size is rounded *down* to the 512 byte boundary. It's not that
the raw driver really cares about this, but if we don't do it then
bdrv_getlength() will do that instead of us. The problem is that
bdrv_getlength() does round *up* and this can lead to reads/writes
outside the specified 'size'.
2) We don't provide '.bdrv_get_allocated_file_size' function. As a
result the information about allocated disk size reports size of the
whole file. This is, rather confusingly, larger than the provided
'size'. But I don't think this matters much. Note that we don't have
any easy way how to get the correct information here apart from
checking all the block with bdrv_co_get_block_status() (as suggested
by Kevin Wolf).
3) No options for raw_create(). The 'size' and 'offset' options were
added only to open/reopen. In my opinion there is no real reason for
them there. AFAIK you cannot create embeded QCOW2/VMDK/etc. image
that way anyway.
Tomáš Golembiovský (1):
raw_bsd: add offset and size options
block/raw_bsd.c | 169 ++++++++++++++++++++++++++++++++++++++++++++++++++-
qapi/block-core.json | 16 ++++-
2 files changed, 181 insertions(+), 4 deletions(-)
--
2.10.0
- [Qemu-block] [PATCH v2] Add 'offset' and 'size' options,
Tomáš Golembiovský <=