Le Tuesday 29 Jan 2013 à 13:22:12 (+0100), Kevin Wolf a écrit :
> Am 28.01.2013 18:04, schrieb Benoît Canet:
> > Protocols like quorum will be able to queue multiple reopens.
> >
> > Signed-off-by: Benoit Canet <[email protected]>
>
> -EPARSE for the subject line.
>
> Also, what's the difference between this and a normal reopen?
With this patch protocols like quorum can do something like :
+static int quorum_snapshot_reopen(BlockDriverState *bs, int bdrv_flags,
+ Error **errp)
+{
+ BDRVQuorumState *s = bs->file->opaque;
+ int i, ret = -1;
+ Error *local_err = NULL;
+ BlockReopenQueue *queue = NULL;
+
+ for (i = 0; i < s->total; i++) {
+ queue = bdrv_reopen_queue(queue, s->bs[i], bdrv_flags);
+ }
+
+ ret = bdrv_reopen_multiple(queue, &local_err);
+ if (local_err != NULL) {
+ error_propagate(errp, local_err);
+ }
+ return ret;
+}
It allows to handle the reopening of multiple bs without duplicating a part of
bdrv_reopen_multiple's code.
Benoît
>
> Kevin
>