Am 07.05.2020 um 11:33 hat Max Reitz geschrieben: > On 06.05.20 19:04, Kevin Wolf wrote: > > Am 18.02.2020 um 13:42 hat Max Reitz geschrieben: > >> Replace child_file by child_of_bds in all remaining places (excluding > >> tests). > >> > >> Signed-off-by: Max Reitz > >> Reviewed-by: Eric Blake > > > >> diff --git a/block/blkreplay.c b/block/blkreplay.c > >> index f97493f45a..71628f4d56 100644 > >> --- a/block/blkreplay.c > >> +++ b/block/blkreplay.c > >> @@ -27,8 +27,9 @@ static int blkreplay_open(BlockDriverState *bs, QDict *options, int flags, > >> int ret; > >> > >> /* Open the image file */ > >> - bs->file = bdrv_open_child(NULL, options, "image", > >> - bs, &child_file, 0, false, &local_err); > >> + bs->file = bdrv_open_child(NULL, options, "image", bs, &child_of_bds, > >> + BDRV_CHILD_DATA | BDRV_CHILD_PRIMARY, > >> + false, &local_err); > > > > Why isn't blkreplay a filter? > I don’t know, but that’s pre-existing. (It doesn’t set .is_filter.) > > I’m afraid I have little insight into what blkreplay actually does. I > thought maybe in conjunction with the whole replay stuff it might turn > out not to be a filter. > > So is it a filter? If so, no problem. I suppose we can fix it up in > the same patch that marks mirror-top and commit-top as filters. I think it is one. If I understand correctly, it basically just changes the timing of requests, but nothing about their data. Adding .is_filter to it in the same patch with mirror-top/commit-top makes sense to me. Kevin