Revision ded9d2d5 qemu-nbd.c
b/qemu-nbd.c | ||
---|---|---|
33 | 33 |
#include <libgen.h> |
34 | 34 |
#include <pthread.h> |
35 | 35 |
|
36 |
#define SOCKET_PATH "/var/lock/qemu-nbd-%s" |
|
37 |
#define QEMU_NBD_OPT_CACHE 1 |
|
38 |
#define QEMU_NBD_OPT_AIO 2 |
|
36 |
#define SOCKET_PATH "/var/lock/qemu-nbd-%s" |
|
37 |
#define QEMU_NBD_OPT_CACHE 1 |
|
38 |
#define QEMU_NBD_OPT_AIO 2 |
|
39 |
#define QEMU_NBD_OPT_DISCARD 3 |
|
39 | 40 |
|
40 | 41 |
static NBDExport *exp; |
41 | 42 |
static int verbose; |
... | ... | |
330 | 331 |
#ifdef CONFIG_LINUX_AIO |
331 | 332 |
{ "aio", 1, NULL, QEMU_NBD_OPT_AIO }, |
332 | 333 |
#endif |
334 |
{ "discard", 1, NULL, QEMU_NBD_OPT_DISCARD }, |
|
333 | 335 |
{ "shared", 1, NULL, 'e' }, |
334 | 336 |
{ "persistent", 0, NULL, 't' }, |
335 | 337 |
{ "verbose", 0, NULL, 'v' }, |
... | ... | |
344 | 346 |
int ret; |
345 | 347 |
int fd; |
346 | 348 |
bool seen_cache = false; |
349 |
bool seen_discard = false; |
|
347 | 350 |
#ifdef CONFIG_LINUX_AIO |
348 | 351 |
bool seen_aio = false; |
349 | 352 |
#endif |
... | ... | |
389 | 392 |
} |
390 | 393 |
break; |
391 | 394 |
#endif |
395 |
case QEMU_NBD_OPT_DISCARD: |
|
396 |
if (seen_discard) { |
|
397 |
errx(EXIT_FAILURE, "--discard can only be specified once"); |
|
398 |
} |
|
399 |
seen_discard = true; |
|
400 |
if (bdrv_parse_discard_flags(optarg, &flags) == -1) { |
|
401 |
errx(EXIT_FAILURE, "Invalid discard mode `%s'", optarg); |
|
402 |
} |
|
403 |
break; |
|
392 | 404 |
case 'b': |
393 | 405 |
bindto = optarg; |
394 | 406 |
break; |
Also available in: Unified diff