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,

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(-)


Reply via email to