Browse Source

block: Fix multiwrite memory leak in error case

Previously multiwrite_user_cb was never called if a request in the multiwrite
batch failed right away because it did set mcb->error immediately. Make it look
more like a normal callback to fix this.

Reported-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
stable-0.13
Kevin Wolf 16 years ago
committed by Aurelien Jarno
parent
commit
7eb58a6c55
  1. 3
      block.c

3
block.c

@ -1884,7 +1884,8 @@ int bdrv_aio_multiwrite(BlockDriverState *bs, BlockRequest *reqs, int num_reqs)
reqs[i].error = -EIO;
goto fail;
} else {
mcb->error = -EIO;
mcb->num_requests++;
multiwrite_cb(mcb, -EIO);
break;
}
} else {

Loading…
Cancel
Save