On Sun, Oct 30, 2011 at 6:33 PM, Supriya Kannery <supri...@linux.vnet.ibm.com> wrote: > Currently cache setting of a block device cannot be changed > without restarting a running VM. Following patchset is for > enabling dynamic change of cache setting for block devices > through qemu monitor. Code changes are based on patches > from Christoph Hellwig and Prerna Saxena. > > This patchset introduces > a. monitor command 'block_set_hostcache' using which host > pagecache setting for a block device can be changed > dynamically. I got a bit confusion. Is it used to change host pagecache setting on hyperviser or on guest? This block device said by you is for guest, right?
> b. a new option for setting host cache from qemu > commandline option -drive "hostcache=on/off". > c. BDRVReopenState, a generic structure which can be > extended by each of the block drivers to reopen > respective image files. > Extension of this structure for drivers raw-posix > is done here. > d. 'hostcache and 'cache' options when used together, > cache=xx will override hostcache=yy. > > v8: > 1. Mandate implementation of all three reopen > related functions by block drivers. > 2. If 'cache=xx' and 'hostcache=yy' specified > in cmdline, 'cache=' overrides 'hostcache='. > > > v7: > 1. Added structure BDRVReopenState to support safe > reopening of image files. > 2. Implemented reopen functions for raw-posix driver > > v6: > 1. "block_set_hostcache" to replace "block_set" command > > v5: > 1. Defined qerror class for incorrect command syntax. > 2. Changed error_report() calls to qerror_report() > > v4: > Added 'hostcache' option to '-drive' commandline option. > > v3: > 1. Command "block_set" for changing various block params > 2. Enhanced info-block to display hostcache setting > 3. Added qmp interfaces for setting and querying hostcache > > v2: > 1. Support of dynamic cache change only for hostcache. > 2. Monitor command "hostcache_get" added to display cache setting > 3. Backed off the changes for display of cache setting in "info block" > > v1: > Dynamic cache change through monitor > > New block command added: > "block_set_hostcache" > -- Sets hostcache parameter for block device while guest is running. > > Usage: > block_set_hostcache <device> <option> > <device> = block device > <option> = on/off > > > New 'hostcache' option added to -drive: > -drive [file=file][,if=type][,bus=n][,unit=m][,media=d][,index=i]\n" > .... > " [,readonly=on|off][,hostcache=on|off]\n" > > qemu/block.c | 79 +++++++++++++++++++++++++++++++++++++++-------- > qemu/block.h | 3 ++ > qemu/block/raw-posix.c | 57 +++++++++++++++++++++++++++++++++++++++++ > qemu/block/raw.c | 23 +++++++++++++++- > qemu/block_int.h | 16 +++++++++++ > qemu/blockdev.c | 7 +++++ > qemu/qemu-common.h | 1 > qemu/qemu-config.c | 4 ++ > qemu/qemu-options.hx | 2 - > qemu/qerror.c | 8 +++++ > qemu/qerror.h | 6 ++++ > qemu/qmp-commands.hx | 4 ++ > 14 files changed, 194 insertions(+), 16 deletions(-) > ~ > ~ > ~ > ~ > ~ > ~ > ~ > ~ > ~ > ~ > "txt" 13L, 574C > > > > > > > -- Regards, Zhi Yong Wu