[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
Re: [Qemu-block] [Qemu-devel] [PATCH v4 0/4] block: Block driver callbacks fixes
Wed, 12 Jul 2017 11:10:22 +0300
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 */
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.
Description: PGP signature
- [Qemu-block] [PATCH v4 3/4] block: remove bdrv_truncate callback in blkdebug, (continued)