Il 23/11/2012 08:42, Dietmar Maurer ha scritto:
>> > My plan was to have something like bs->job->job_type->{before,after}_write.
>> >
>> > int coroutine_fn (*before_write)(BlockDriverState *bs,
>> > int64_t sector_num, int nb_sectors, QEMUIOVector *qiov,
>> > void **cookie);
>> > int coroutine_fn (*after_write)(BlockDriverState *bs,
>> > int64_t sector_num, int nb_sectors, QEMUIOVector *qiov,
>> > void *cookie);
>> >
>> >
>> > The before_write could optionally return a "cookie" that is passed back to
>> > the after_write callback.
> I don't really understand why a filter is related to the job? This is
> sometimes useful,
> but not a generic filter infrastructure (maybe someone want to use filters
> without a job).
See the part you snipped:
Actually this was plan B, as a poor-man implementation of the filter
infrastructure. Plan A was that the block filters would materialize
suddenly in someone's git tree.
Paolo