On 05.12.2013 18:41, Max Reitz wrote:
[…]

Second, if specifying a reference to an existing device should really be supported, bdrv_open() should ideally not call bdrv_file_open() anymore, but a function bdrv_find_ref() instead which resolves a BlockdevRef structure (for simplicity, it appears to be easier to use a QDict equivalent to a BlockdevRef instead of the latter itself (since that results in many effectively redundant conversions to and from those representations)). However, bdrv_file_open() supports parsing protocol filenames, which bdrv_find_ref() would not. As a result, it is probably best to call bdrv_find_ref() from bdrv_file_open() instead and leave bdrv_open() generally the way it is right now – yes, this is a question. ;-) (“Do you agree?”)

I noticed only just now that the current design does not seem to allow nesting of files (i.e., driver=blkdebug-qmp, file.driver=qcow2, file.file.driver=file). Perhaps I do have to call bdrv_find_ref() in bdrv_open() and only resort to bdrv_file_open() if a filename that must be parsed was given...?

Max

Reply via email to