[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 14/14] nbd: Check against invalid option combination
From: |
Kevin Wolf |
Subject: |
[Qemu-devel] [PATCH 14/14] nbd: Check against invalid option combinations |
Date: |
Fri, 22 Mar 2013 18:41:23 +0100 |
A file name may only specified if no host or socket path is specified.
The latter two may not appear at the same time either.
Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
---
block/nbd.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/block/nbd.c b/block/nbd.c
index 67f1df2..3d711b2 100644
--- a/block/nbd.c
+++ b/block/nbd.c
@@ -148,6 +148,15 @@ static void nbd_parse_filename(const char *filename, QDict
*options,
const char *host_spec;
const char *unixpath;
+ if (qdict_haskey(options, "host")
+ || qdict_haskey(options, "port")
+ || qdict_haskey(options, "path"))
+ {
+ error_setg(errp, "host/port/path and a file name may not be specified "
+ "at the same time");
+ return;
+ }
+
if (strstr(filename, "://")) {
int ret = nbd_parse_uri(filename, options);
if (ret < 0) {
@@ -204,6 +213,11 @@ static int nbd_config(BDRVNBDState *s, QDict *options)
Error *local_err = NULL;
if (qdict_haskey(options, "path")) {
+ if (qdict_haskey(options, "host")) {
+ qerror_report(ERROR_CLASS_GENERIC_ERROR, "path and host may not "
+ "be used at the same time.");
+ return -EINVAL;
+ }
s->is_unix = true;
} else if (qdict_haskey(options, "host")) {
s->is_unix = false;
--
1.8.1.4
- [Qemu-devel] [PATCH 02/14] block: complete all IOs before resizing a device, (continued)
- [Qemu-devel] [PATCH 02/14] block: complete all IOs before resizing a device, Kevin Wolf, 2013/03/22
- [Qemu-devel] [PATCH 04/14] block: Pass bdrv_file_open() options to block drivers, Kevin Wolf, 2013/03/22
- [Qemu-devel] [PATCH 07/14] nbd: Remove unused functions, Kevin Wolf, 2013/03/22
- [Qemu-devel] [PATCH 08/14] nbd: Accept -drive options for the network connection, Kevin Wolf, 2013/03/22
- [Qemu-devel] [PATCH 05/14] qemu-socket: Make socket_optslist public, Kevin Wolf, 2013/03/22
- [Qemu-devel] [PATCH 10/14] block: Rename variable to avoid shadowing, Kevin Wolf, 2013/03/22
- [Qemu-devel] [PATCH 11/14] block: Make find_image_format safe with NULL filename, Kevin Wolf, 2013/03/22
- [Qemu-devel] [PATCH 03/14] block: Add options QDict to bdrv_file_open() prototypes, Kevin Wolf, 2013/03/22
- [Qemu-devel] [PATCH 14/14] nbd: Check against invalid option combinations,
Kevin Wolf <=
- [Qemu-devel] [PATCH 06/14] nbd: Keep hostname and port separate, Kevin Wolf, 2013/03/22
- [Qemu-devel] [PATCH 09/14] block: Introduce .bdrv_parse_filename callback, Kevin Wolf, 2013/03/22
- [Qemu-devel] [PATCH 12/14] block: Allow omitting the file name when using driver-specific options, Kevin Wolf, 2013/03/22
- [Qemu-devel] [PATCH 13/14] nbd: Use default port if only host is specified, Kevin Wolf, 2013/03/22