[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] qemu-img convert with block driver without .bdrv_create
From: |
Kevin Wolf |
Subject: |
Re: [Qemu-devel] qemu-img convert with block driver without .bdrv_create (like iscsi) |
Date: |
Thu, 25 Oct 2012 15:54:55 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:13.0) Gecko/20120605 Thunderbird/13.0 |
Am 25.10.2012 15:41, schrieb ronnie sahlberg:
> On Thu, Oct 25, 2012 at 1:02 AM, Kevin Wolf <address@hidden> wrote:
>> Am 25.10.2012 09:52, schrieb Paolo Bonzini:
>>> Il 25/10/2012 09:46, Kevin Wolf ha scritto:
>>>>>> 1)add a .bdrv_create in block/iscsi.c ?
>>>>>>
>>>>>> (like host_device block driver, only open/close the device and check if
>>>>>> size if big enough)
>>>> Yes, this is the right way.
>>>
>>> Could it be a default implementation of .bdrv_create (i.e. something
>>> you'd do in bdrv_create if the protocol doesn't have it)?
>>
>> No, there are block drivers that really can't create images. They should
>> keep failing.
>
> Technically, you can not create new LUNs via the iscsi protocol
> itself, you can only access pre-existing luns
> that have been created by some out-of-band method.
>
> So basically, with iscsi you can only ever access already preexisting luns.
>
> In that case I think requiring a .bdrv_create feels wrong. We are not
> creating a new LUN here but just opening an already existing LUN.
This is the very same as with host_device, which has always worked like
this. Obviously it can't create new block devices, but it can check that
the preexisting block device is suitable for the requested size and options.
> What about changing bdrv_create() so that IF there is no .bdrv_create
> method, then assume it might be a pre-existing file in which case we
> fallback to use .bdrv_open instead.
I don't think this is the correct behaviour for all block drivers. It's
wrong for any driver that would actually require a specific content of
the image file. For example let's overwrite an existing image:
$ touch /tmp/test.dmg # Or this could be a real DMG image as well
$ ./qemu-img create -f dmg /tmp/test.dmg 64M
Formatting '/tmp/test.dmg', fmt=dmg size=67108864
qemu-img: Formatting or formatting option not supported for file format
'dmg'
After your change it would appear to have succeeded, whereas of course
it still wouldn't have created the image.
Kevin
- [Qemu-devel] qemu-img convert with block driver without .bdrv_create (like iscsi), Alexandre DERUMIER, 2012/10/25
- Re: [Qemu-devel] qemu-img convert with block driver without .bdrv_create (like iscsi), Paolo Bonzini, 2012/10/25
- Re: [Qemu-devel] qemu-img convert with block driver without .bdrv_create (like iscsi), Kevin Wolf, 2012/10/25
- Re: [Qemu-devel] qemu-img convert with block driver without .bdrv_create (like iscsi), Paolo Bonzini, 2012/10/25
- Re: [Qemu-devel] qemu-img convert with block driver without .bdrv_create (like iscsi), Kevin Wolf, 2012/10/25
- Re: [Qemu-devel] qemu-img convert with block driver without .bdrv_create (like iscsi), ronnie sahlberg, 2012/10/25
- Re: [Qemu-devel] qemu-img convert with block driver without .bdrv_create (like iscsi),
Kevin Wolf <=
- Re: [Qemu-devel] qemu-img convert with block driver without .bdrv_create (like iscsi), Paolo Bonzini, 2012/10/25
- Re: [Qemu-devel] qemu-img convert with block driver without .bdrv_create (like iscsi), ronnie sahlberg, 2012/10/25
- Re: [Qemu-devel] qemu-img convert with block driver without .bdrv_create (like iscsi), Alexandre DERUMIER, 2012/10/26