qemu-block
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]