On Thu, Oct 25, 2012 at 6:58 AM, Paolo Bonzini <pbonz...@redhat.com> wrote: > Il 25/10/2012 15:41, ronnie sahlberg ha scritto: >> On Thu, Oct 25, 2012 at 1:02 AM, Kevin Wolf <kw...@redhat.com> 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. > > The problem is that bdrv_create is overloaded to mean both "create the > backing storage" and "format the image". Only the latter applies to > iSCSI and, in general, as far as protocols are concerned bdrv_create is > usually a no-op. > > However, Kevin said he prefers to have an explicit override of > bdrv_create for iSCSI. Can you implement that? (I'll then do the same > for NBD). >
Yepp. Since there is consensus. We can do a .bdrv_create for iscsi.c regards ronnie sahlberg