On 08/21/13 12:41, Laszlo Ersek wrote: > v1->v2: > - added comment to raw_probe() [Kevin] > - fixed raw_reopen_prepare() [Paolo & Kevin] > - keeping BSDL: according to the v1 discussion, LGPLv2+ could work too, > but "but most of the block layer is BSD" [Paolo] and I haven't been > clearly instructed to switch to LGPLv2+. > > diff --git a/block/raw_bsd.c b/block/raw_bsd.c > index 07e6f06..ab2b0fd 100644 > --- a/block/raw_bsd.c > +++ b/block/raw_bsd.c > @@ -41,10 +41,7 @@ static QEMUOptionParameter raw_create_options[] = { > static int raw_reopen_prepare(BDRVReopenState *reopen_state, > BlockReopenQueue *queue, Error **errp) > { > - BDRVReopenState tmp = *reopen_state; > - > - tmp.bs = tmp.bs->file; > - return bdrv_reopen_prepare(&tmp, queue, errp); > + return 0; > } > > static int coroutine_fn raw_co_readv(BlockDriverState *bs, int64_t > sector_num, > @@ -150,6 +147,9 @@ static void raw_close(BlockDriverState *bs) > > static int raw_probe(const uint8_t *buf, int buf_size, const char > *filename) > { > + /* smallest possible positive score so that raw is used if and only if > no > + * other block driver works > + */ > return 1; > } > > v1 blurb: > > Paolo asked me to write such a driver based on his textual specification > alone. The first patch captures his email in full, the rest re-quotes > parts that are being implemented. > > The tree compiles at each patch. The series passes "make check-block". > > "block/raw.c" is not removed because I wanted to keep it out of my > series and out of my brain. > > Laszlo Ersek (7): > add skeleton for BSD licensed "raw" BlockDriver > raw_bsd: emit debug events in bdrv_co_readv() and bdrv_co_writev() > raw_bsd: add raw_create() > raw_bsd: introduce "special members" > raw_bsd: add raw_create_options > raw_bsd: register bdrv_raw > switch raw block driver from "raw.o" to "raw_bsd.o" > > block/Makefile.objs | 2 +- > block/raw_bsd.c | 186 > +++++++++++++++++++++++++++++++++++++++++++++++++++ > 2 files changed, 187 insertions(+), 1 deletions(-) > create mode 100644 block/raw_bsd.c
Ping. Laszlo