Am 15.09.2010 18:03, schrieb Juan Quintela: > Kevin Wolf <kw...@redhat.com> wrote: >> Am 11.09.2010 16:04, schrieb Anthony Liguori: > >> There is a simple generic implementation: >> >> drv = bs->drv; >> drv->close(bs); >> drv->open(bs, bs->open_flags); >> >> Note that this only reopens e.g. the qcow2 layer, but not the image >> file, which is bs->file. >> >> This works for all simple case, that is, one format on top of one or >> more protocols, where the protocols don't need invalidation. I think >> this includes everything that is possible today. With -blockdev we might >> need to revise this to include the lower layers, too. (But only >> sometimes, because we don't want to reopen the file) > > we require it for nfs consistency. We need to: > > source: fsync() > target: open() (after the fsync). > > About your 1st comment, I am doing: > > bdrv_close(bdrv); > bdrv_open(bdrv); > > Do you mean that this don't close and open again the file with qcow2?
It does. bdrv_open/close take care of the whole stack. Kevin