On Fri, 06/03 16:49, Fam Zheng wrote: > +static > +int raw_reopen_downgrade(BDRVReopenState *state, > + RawReopenOperation op, > + BdrvLockfCmd old_lock, > + BdrvLockfCmd new_lock, > + Error **errp) > +{ > + BDRVRawReopenState *raw_s = state->opaque; > + BDRVRawState *s = state->bs->opaque; > + int ret;
This should be initialized to 0 for the nop branches. Fam > + > + assert(old_lock == BDRV_LOCKF_EXCLUSIVE); > + assert(new_lock == BDRV_LOCKF_SHARED); > + switch (op) { > + case RAW_REOPEN_PREPARE: > + break; > + case RAW_REOPEN_COMMIT: > + ret = raw_lockf_fd(s->lock_fd, BDRV_LOCKF_SHARED); > + if (ret) { > + error_report("Failed to downgrade old lock"); > + break; > + } > + ret = raw_lockf_fd(raw_s->lock_fd, BDRV_LOCKF_SHARED); > + if (ret) { > + error_report("Failed to lock new fd"); > + break; > + } > + break; > + case RAW_REOPEN_ABORT: > + break; > + } > + > + return ret; > +}