On Thu, Jun 16, 2016 at 07:09:38PM +0300, Denis V. Lunev wrote: > Actually I have found this problem running iotest 132 for active async > mirror I have sent yesturday. Anyway, the problem is actual for current > backup/mirror implementation. > > bdrv_co_discard must mark areas dirty after writing zeroes, it must call > before_write_notifier chain to push underlying data to backup and it also > must properly fill tracked request information. > > Changes from v1: > - fixed problem in patch as pointed out by Vova > - ported to current (was made on top of active block mirror) > - minor spelling changes in commit messages > > Signed-off-by: Denis V. Lunev <[email protected]> > Reviewed-by: Vladimir Sementsov-Ogievskiy<[email protected]> > Reviewed-by: Fam Zheng <[email protected]> > CC: Stefan Hajnoczi <[email protected]> > CC: Kevin Wolf <[email protected]> > CC: Max Reitz <[email protected]> > > Denis V. Lunev (3): > block: fixed BdrvTrackedRequest filling in bdrv_co_discard > block: fix race in bdrv_co_discard with drive-mirror > block: process before_write_notifiers in bdrv_co_discard > > block/io.c | 12 +++++++++--- > 1 file changed, 9 insertions(+), 3 deletions(-)
Makes sense to me so I'm merging it provisionally instead of waiting for more reviews. If there are objections I will revert it so that discussion can continue. Thanks, applied to my block tree: https://github.com/stefanha/qemu/commits/block Stefan
signature.asc
Description: PGP signature
