Message ID | 20170131115734.5244.64846.stgit@PASHA-ISP (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Am 31.01.2017 um 12:57 hat Pavel Dovgalyuk geschrieben: > This patch enables making snapshots with blkreplay used in > block devices. > > Signed-off-by: Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru> Specifically, I think it avoids the blkreplay_open/close sequence. Is this what is needed to make it work? We should probably mention in the commit message the exact reason why implementing .bdrv_snapshot_goto, but not the other snapshot related callbacks, fixes things. If you confirm my assumption, I can add that while applying. Kevin
> From: Kevin Wolf [mailto:kwolf@redhat.com] > Am 31.01.2017 um 12:57 hat Pavel Dovgalyuk geschrieben: > > This patch enables making snapshots with blkreplay used in > > block devices. > > > > Signed-off-by: Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru> > > Specifically, I think it avoids the blkreplay_open/close sequence. Is > this what is needed to make it work? Then I'll need to implement bdrv_open, because there is only bdrv_file_open for blkreplay now. Which way is better? > We should probably mention in the commit message the exact reason why > implementing .bdrv_snapshot_goto, but not the other snapshot related > callbacks, fixes things. If you confirm my assumption, I can add that > while applying. Pavel Dovgalyuk
Am 27.02.2017 um 13:07 hat Pavel Dovgalyuk geschrieben: > > From: Kevin Wolf [mailto:kwolf@redhat.com] > > Am 31.01.2017 um 12:57 hat Pavel Dovgalyuk geschrieben: > > > This patch enables making snapshots with blkreplay used in > > > block devices. > > > > > > Signed-off-by: Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru> > > > > Specifically, I think it avoids the blkreplay_open/close sequence. Is > > this what is needed to make it work? > > Then I'll need to implement bdrv_open, because there is only bdrv_file_open > for blkreplay now. > > Which way is better? I was just checking whether I understood the reason for this correctly. If I did, then I think your solution is fine and we should just make the commit message a bit more explicit. Kevin > > We should probably mention in the commit message the exact reason why > > implementing .bdrv_snapshot_goto, but not the other snapshot related > > callbacks, fixes things. If you confirm my assumption, I can add that > > while applying. > > Pavel Dovgalyuk >
diff --git a/block/blkreplay.c b/block/blkreplay.c index a741654..8a03d62 100644 --- a/block/blkreplay.c +++ b/block/blkreplay.c @@ -130,6 +130,12 @@ static int coroutine_fn blkreplay_co_flush(BlockDriverState *bs) return ret; } +static int blkreplay_snapshot_goto(BlockDriverState *bs, + const char *snapshot_id) +{ + return bdrv_snapshot_goto(bs->file->bs, snapshot_id); +} + static BlockDriver bdrv_blkreplay = { .format_name = "blkreplay", .protocol_name = "blkreplay", @@ -145,6 +151,8 @@ static BlockDriver bdrv_blkreplay = { .bdrv_co_pwrite_zeroes = blkreplay_co_pwrite_zeroes, .bdrv_co_pdiscard = blkreplay_co_pdiscard, .bdrv_co_flush = blkreplay_co_flush, + + .bdrv_snapshot_goto = blkreplay_snapshot_goto, }; static void bdrv_blkreplay_init(void)
This patch enables making snapshots with blkreplay used in block devices. Signed-off-by: Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru> --- block/blkreplay.c | 8 ++++++++ 1 file changed, 8 insertions(+)