[Top][All Lists]

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

Re: [Qemu-block] [Qemu-devel] [PATCH v4 0/4] block: Block driver callbac

From: Manos Pitsidianakis
Subject: Re: [Qemu-block] [Qemu-devel] [PATCH v4 0/4] block: Block driver callbacks fixes
Date: Wed, 12 Jul 2017 11:10:22 +0300
User-agent: NeoMutt/20170609-57-1e93be (1.8.3)

On Wed, Jul 12, 2017 at 09:49:20AM +0200, Markus Armbruster wrote:
Manos Pitsidianakis <address@hidden> writes:

This series makes implementing some of the bdrv_* callbacks easier for block
filters by passing requests to bs->file if bs->drv doesn't implement it instead
of failing, and adding default bdrv_co_get_block_status() implementations.

This is based against Kevin Wolf's block branch, commit

Haven't seen BlockDriver member is_filter before.  Interesting.  It's

   /* set to true if the BlockDriver is a block filter */
   bool is_filter;

is seriously lacking.  What does it *mean* to be a block filter?  Which
block layer facilities are affected, and how?

Currently it is only used in bdrv_recurse_is_first_non_filter.
Observation: driver "raw" is filter-like in the sense that all it does
is pass along method arguments and results.  Can't say whether that
makes it a filter in the sense of is_filter, because "the sense of
is_filter" is nebulous to me :)

I'm not very acquainted with raw, so I can't really comment. But the drivers I'm working on, throttle and before write notifier have that exact semantic, ie they do something when IO is intercepted and pass everything to the BDSes below. There was a mini discussion about raw and filters in the previous version's thread.

I might add documentation to block_int.h in the future. When I first read it it felt nebulous to me too.

Attachment: signature.asc
Description: PGP signature

reply via email to

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