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