block: Move cache options into options QDict
commit91a097e7478940483e76d52217f05bc05b98d5a5
authorKevin Wolf <kwolf@redhat.com>
Fri, 8 May 2015 15:49:53 +0000 (8 17:49 +0200)
committerKevin Wolf <kwolf@redhat.com>
Fri, 18 Dec 2015 13:34:43 +0000 (18 14:34 +0100)
tree41e7a5b8c00033680f05789227c43fbcdb938600
parentccf9dc07b5c8f3b927d53e9ef8c712c2973d79c7
block: Move cache options into options QDict

This adds the cache mode options to the QDict, so that they can be
specified for child nodes (e.g. backing.cache.direct=off).

The cache modes are not removed from the flags at this point; instead,
options and flags are kept in sync. If the user specifies both flags and
options, the options take precedence.

Child node inherit cache modes as options now, they don't use flags any
more.

Note that this forbids specifying the cache mode for empty drives. It
didn't make sense anyway to specify it there, because it didn't have any
effect. blockdev_init() considers the cache options now bdrv_open()
options and therefore doesn't create an empty drive any more but calls
into bdrv_open(). This in turn will fail with no driver and filename
specified.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
block.c
blockdev.c