On Wed, Apr 05, 2017 at 02:28:44PM -0400, Jeff Cody wrote:
> @@ -1173,7 +1171,18 @@ static int vvfat_open(BlockDriverState *bs, QDict
> *options, int flags,
> if (ret < 0) {
> goto fail;
> }
> - bdrv_set_read_only(bs, false);
> + ret = bdrv_set_read_only(bs, false, &local_err);
> + if (ret < 0) {
> + error_propagate(errp, local_err);
> + goto fail;
> + }I realized later in the series why you are doing this. The error code path introduces a resource leak: enable_write_target() has already been called and isn't cleaned up by the fail label. It would be cleaner to check that bs is writable before calling enable_write_target(). Stefan
signature.asc
Description: PGP signature
