[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [Qemu-block] [PATCH 05/34] block: Use macro for cache o
From: |
Jeff Cody |
Subject: |
Re: [Qemu-devel] [Qemu-block] [PATCH 05/34] block: Use macro for cache option names |
Date: |
Tue, 12 May 2015 15:14:17 -0400 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Fri, May 08, 2015 at 07:21:37PM +0200, Kevin Wolf wrote:
> Signed-off-by: Kevin Wolf <address@hidden>
> ---
> blockdev.c | 24 ++++++++++++------------
> include/block/block.h | 8 ++++++++
> 2 files changed, 20 insertions(+), 12 deletions(-)
>
> diff --git a/blockdev.c b/blockdev.c
> index 5eaf77e..77cbe72 100644
> --- a/blockdev.c
> +++ b/blockdev.c
> @@ -391,13 +391,13 @@ static BlockBackend *blockdev_init(const char *file,
> QDict *bs_opts,
> }
> }
>
> - if (qemu_opt_get_bool(opts, "cache.writeback", true)) {
> + if (qemu_opt_get_bool(opts, BDRV_OPT_CACHE_WB, true)) {
> bdrv_flags |= BDRV_O_CACHE_WB;
> }
> - if (qemu_opt_get_bool(opts, "cache.direct", false)) {
> + if (qemu_opt_get_bool(opts, BDRV_OPT_CACHE_DIRECT, false)) {
> bdrv_flags |= BDRV_O_NOCACHE;
> }
> - if (qemu_opt_get_bool(opts, "cache.no-flush", false)) {
> + if (qemu_opt_get_bool(opts, BDRV_OPT_CACHE_NO_FLUSH, false)) {
> bdrv_flags |= BDRV_O_NO_FLUSH;
> }
>
> @@ -733,16 +733,16 @@ DriveInfo *drive_new(QemuOpts *all_opts,
> BlockInterfaceType block_default_type)
> }
>
> /* Specific options take precedence */
> - if (!qemu_opt_get(all_opts, "cache.writeback")) {
> - qemu_opt_set_bool(all_opts, "cache.writeback",
> + if (!qemu_opt_get(all_opts, BDRV_OPT_CACHE_WB)) {
> + qemu_opt_set_bool(all_opts, BDRV_OPT_CACHE_WB,
> !!(flags & BDRV_O_CACHE_WB), &error_abort);
> }
> - if (!qemu_opt_get(all_opts, "cache.direct")) {
> - qemu_opt_set_bool(all_opts, "cache.direct",
> + if (!qemu_opt_get(all_opts, BDRV_OPT_CACHE_DIRECT)) {
> + qemu_opt_set_bool(all_opts, BDRV_OPT_CACHE_DIRECT,
> !!(flags & BDRV_O_NOCACHE), &error_abort);
> }
> - if (!qemu_opt_get(all_opts, "cache.no-flush")) {
> - qemu_opt_set_bool(all_opts, "cache.no-flush",
> + if (!qemu_opt_get(all_opts, BDRV_OPT_CACHE_NO_FLUSH)) {
> + qemu_opt_set_bool(all_opts, BDRV_OPT_CACHE_NO_FLUSH,
> !!(flags & BDRV_O_NO_FLUSH), &error_abort);
> }
> qemu_opt_unset(all_opts, "cache");
> @@ -3106,15 +3106,15 @@ QemuOptsList qemu_common_drive_opts = {
> .type = QEMU_OPT_STRING,
> .help = "discard operation (ignore/off, unmap/on)",
> },{
> - .name = "cache.writeback",
> + .name = BDRV_OPT_CACHE_WB,
> .type = QEMU_OPT_BOOL,
> .help = "enables writeback mode for any caches",
> },{
> - .name = "cache.direct",
> + .name = BDRV_OPT_CACHE_DIRECT,
> .type = QEMU_OPT_BOOL,
> .help = "enables use of O_DIRECT (bypass the host page cache)",
> },{
> - .name = "cache.no-flush",
> + .name = BDRV_OPT_CACHE_NO_FLUSH,
> .type = QEMU_OPT_BOOL,
> .help = "ignore any flush requests for the device",
> },{
> diff --git a/include/block/block.h b/include/block/block.h
> index 7d1a717..86bdac8 100644
> --- a/include/block/block.h
> +++ b/include/block/block.h
> @@ -90,6 +90,14 @@ typedef struct HDGeometry {
>
> #define BDRV_O_CACHE_MASK (BDRV_O_NOCACHE | BDRV_O_CACHE_WB |
> BDRV_O_NO_FLUSH)
>
> +
> +/* Option names of options parsed by the block layer */
> +
> +#define BDRV_OPT_CACHE_WB "cache.writeback"
> +#define BDRV_OPT_CACHE_DIRECT "cache.direct"
> +#define BDRV_OPT_CACHE_NO_FLUSH "cache.no-flush"
> +
> +
> #define BDRV_SECTOR_BITS 9
> #define BDRV_SECTOR_SIZE (1ULL << BDRV_SECTOR_BITS)
> #define BDRV_SECTOR_MASK ~(BDRV_SECTOR_SIZE - 1)
> --
> 1.8.3.1
>
>
Reviewed-by: Jeff Cody <address@hidden>