qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 4/7] raw_bsd: introduce "special members"


From: Kevin Wolf
Subject: Re: [Qemu-devel] [PATCH 4/7] raw_bsd: introduce "special members"
Date: Tue, 20 Aug 2013 10:11:45 +0200
User-agent: Mutt/1.5.21 (2010-09-15)

Am 16.08.2013 um 16:15 hat Laszlo Ersek geschrieben:
> On 08/05/13 15:03, Paolo Bonzini wrote:
> >
> > [...]
> >
> > 3) These members are special
> >
> >     .format_name   is the string "raw"
> >     .bdrv_open     raw_open should set bs->sg to bs->file->sg and return 0
> >     .bdrv_close    raw_close should do nothing
> >     .bdrv_probe    raw_probe should just return 1.
> 
> Signed-off-by: Laszlo Ersek <address@hidden>
> ---
>  block/raw_bsd.c |   20 ++++++++++++++++++++
>  1 files changed, 20 insertions(+), 0 deletions(-)
> 
> diff --git a/block/raw_bsd.c b/block/raw_bsd.c
> index 5bcbe71..86e018d 100644
> --- a/block/raw_bsd.c
> +++ b/block/raw_bsd.c
> @@ -112,3 +112,23 @@ static TYPE raw_create(void)
>  {
>      return bdrv_create_file();
>  }
> +
> +static const char *raw_format_name(void)
> +{
> +    return "raw";
> +}
> +
> +static int raw_open(BlockDriverState *bs)
> +{
> +    bs->sg = bs->file->sg;

I know that Paolo explicitly made this requirement, but I think it is
ugly. We should instead fix bdrv_is_sg() to look at bs->file if it
exists, like many other functions already do, and change the two readers
of bs->sg in block.c to use bdrv_is_sg().

> +    return 0;
> +}
> +
> +static void raw_close(void)
> +{
> +}
> +
> +static int raw_probe(void)
> +{
> +    return 1;
> +}

Maybe add a comment here like "smallest possible positive score so that
raw is used if and only if no other block driver works".

Kevin



reply via email to

[Prev in Thread] Current Thread [Next in Thread]