From patchwork Thu Jan 21 12:40:40 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [2/3] Ask for read-write permissions when opening files where needed Date: Thu, 21 Jan 2010 02:40:40 -0000 From: Naphtali Sprei X-Patchwork-Id: 43434 Message-Id: <1264077641-17902-7-git-send-email-nsprei@redhat.com> To: qemu-devel@nongnu.org Cc: Naphtali Sprei Found some places that seems needs this explicitly, now that read-write is not the default. Signed-off-by: Naphtali Sprei --- block/qcow2.c | 2 +- block/vvfat.c | 2 +- qemu-img.c | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/block/qcow2.c b/block/qcow2.c index 6622eba..91835f1 100644 --- a/block/qcow2.c +++ b/block/qcow2.c @@ -961,7 +961,7 @@ static int qcow_create2(const char *filename, int64_t total_size, if (prealloc) { BlockDriverState *bs; bs = bdrv_new(""); - bdrv_open(bs, filename, BDRV_O_CACHE_WB); + bdrv_open(bs, filename, BDRV_O_CACHE_WB | BDRV_O_RDWR); preallocate(bs); bdrv_close(bs); } diff --git a/block/vvfat.c b/block/vvfat.c index 063f731..8e12f92 100644 --- a/block/vvfat.c +++ b/block/vvfat.c @@ -2787,7 +2787,7 @@ static int enable_write_target(BDRVVVFATState *s) if (bdrv_create(bdrv_qcow, s->qcow_filename, options) < 0) return -1; s->qcow = bdrv_new(""); - if (s->qcow == NULL || bdrv_open(s->qcow, s->qcow_filename, 0) < 0) + if (s->qcow == NULL || bdrv_open(s->qcow, s->qcow_filename, BDRV_O_RDWR) < 0) return -1; #ifndef _WIN32 diff --git a/qemu-img.c b/qemu-img.c index 3cea8ce..cbba4fc 100644 --- a/qemu-img.c +++ b/qemu-img.c @@ -1116,7 +1116,7 @@ static int img_rebase(int argc, char **argv) if (!bs) error("Not enough memory"); - flags = BRDV_O_FLAGS | (unsafe ? BDRV_O_NO_BACKING : 0); + flags = BRDV_O_FLAGS | BDRV_O_RDWR | (unsafe ? BDRV_O_NO_BACKING : 0); if (bdrv_open2(bs, filename, flags, NULL) < 0) { error("Could not open '%s'", filename); } @@ -1157,7 +1157,7 @@ static int img_rebase(int argc, char **argv) } bs_new_backing = bdrv_new("new_backing"); - if (bdrv_open2(bs_new_backing, out_baseimg, BRDV_O_FLAGS, + if (bdrv_open2(bs_new_backing, out_baseimg, BRDV_O_FLAGS | BDRV_O_RDWR, new_backing_drv)) { error("Could not open new backing file '%s'", backing_name);