Am 11.09.2010 16:04, schrieb Anthony Liguori: > The use of protocols in backing_files is currently broken because of some > checks for adjusting relative pathnames. > > Additionally, there's a spurious read when using an nbd protocol that can be > quite destructive when using copy-on-read. Potentially, this can lead to > probing an image file over top of NBD but this is completely wrong as NBD > devices are not growable. > > Signed-off-by: Anthony Liguori <aligu...@us.ibm.com> > --- > NB: this is absolutely not ideal. A more elegant suggestion would be > appreciated. I don't think NBD cleanly fits the model of a protocol as it > stands today. > > diff --git a/block.c b/block.c > index cd2ee31..a32d5dd 100644 > --- a/block.c > +++ b/block.c > @@ -344,6 +344,12 @@ static int find_image_format(const char *filename, > BlockDriver **pdrv) > return ret; > } > > + if (strcmp(bs->drv->protocol_name, "nbd") == 0) { > + drv = bs->drv; > + bdrv_delete(bs); > + goto out; > + }
Is nbd really the only protocol that behaves like this? I don't like hardcoding driver names in generic block layer code. Kevin