[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 9/9] block: Remove a special case for protocols
From: |
Kevin Wolf |
Subject: |
[Qemu-devel] [PATCH v2 9/9] block: Remove a special case for protocols |
Date: |
Wed, 25 Jun 2014 16:35:59 +0200 |
The only semantic change is that bs->open_flags gets BDRV_O_PROTOCOL set
now. This isn't useful, but it doesn't hurt either. The code that was
previously skipped by 'goto done' is automatically disabled because
protocol drivers don't support backing files (and if they did, this
would probably be a fix) and can't have snapshot_flags set.
Signed-off-by: Kevin Wolf <address@hidden>
---
block.c | 18 ++----------------
1 file changed, 2 insertions(+), 16 deletions(-)
diff --git a/block.c b/block.c
index abe81b9..186a4e9 100644
--- a/block.c
+++ b/block.c
@@ -831,7 +831,7 @@ static int bdrv_open_flags(BlockDriverState *bs, int flags)
* Clear flags that are internal to the block layer before opening the
* image.
*/
- open_flags &= ~(BDRV_O_SNAPSHOT | BDRV_O_NO_BACKING);
+ open_flags &= ~(BDRV_O_SNAPSHOT | BDRV_O_NO_BACKING | BDRV_O_PROTOCOL);
/*
* Snapshots should be writable.
@@ -928,6 +928,7 @@ static int bdrv_open_common(BlockDriverState *bs,
BlockDriverState *file,
bs->zero_beyond_eof = true;
open_flags = bdrv_open_flags(bs, flags);
bs->read_only = !(open_flags & BDRV_O_RDWR);
+ bs->growable = !!(flags & BDRV_O_PROTOCOL);
if (use_bdrv_whitelist && !bdrv_is_whitelisted(drv, bs->read_only)) {
error_setg(errp,
@@ -1466,19 +1467,6 @@ int bdrv_open(BlockDriverState **pbs, const char
*filename,
}
/* Open the image */
- if (flags & BDRV_O_PROTOCOL) {
- ret = bdrv_open_common(bs, NULL, options,
- flags & ~BDRV_O_PROTOCOL, drv, &local_err);
- if (!ret) {
- bs->growable = 1;
- goto done;
- } else if (bs->drv) {
- goto close_and_fail;
- } else {
- goto fail;
- }
- }
-
ret = bdrv_open_common(bs, file, options, flags, drv, &local_err);
if (ret < 0) {
goto fail;
@@ -1510,8 +1498,6 @@ int bdrv_open(BlockDriverState **pbs, const char
*filename,
}
}
-
-done:
/* Check if any unknown options were used */
if (options && (qdict_size(options) != 0)) {
const QDictEntry *entry = qdict_first(options);
--
1.8.3.1
- Re: [Qemu-devel] [PATCH v2 1/9] block: Create bdrv_fill_options(), (continued)
- [Qemu-devel] [PATCH v2 5/9] block: Use common driver selection code for bdrv_open_file(), Kevin Wolf, 2014/06/25
- [Qemu-devel] [PATCH v2 3/9] block: Move json: parsing to bdrv_fill_options(), Kevin Wolf, 2014/06/25
- [Qemu-devel] [PATCH v2 4/9] block: Always pass driver name through options QDict, Kevin Wolf, 2014/06/25
- [Qemu-devel] [PATCH v2 6/9] block: Inline bdrv_file_open(), Kevin Wolf, 2014/06/25
- [Qemu-devel] [PATCH v2 7/9] block: Remove second bdrv_open() recursion, Kevin Wolf, 2014/06/25
- [Qemu-devel] [PATCH v2 8/9] block: Catch backing files assigned to non-COW drivers, Kevin Wolf, 2014/06/25
- [Qemu-devel] [PATCH v2 9/9] block: Remove a special case for protocols,
Kevin Wolf <=
- Re: [Qemu-devel] [PATCH v2 0/9] bdrv_open() cleanups, part 1, Kevin Wolf, 2014/06/26
- Re: [Qemu-devel] [PATCH v2 0/9] bdrv_open() cleanups, part 1, Max Reitz, 2014/06/26