01.04.2015 12:26, Michael Tokarev пишет: > 30.03.2015 18:36, Kevin Wolf wrote: >> Am 27.03.2015 um 18:12 hat Eric Blake geschrieben: >>> On 03/27/2015 09:36 AM, Michael Tokarev wrote: >>>> Wonder how to specify cache mode, or should I open these with proper >>>> O_DIRECT/O_SYNC/whatever? It looks like it's possible to change O_DIRECT >>>> at runtime but not O_SYNC. >>>> >>>> And the more interesting question is how to do that from shell. >>> >>> Redirections only get you so far in shell; you may need a wrapper C >>> program go get O_DIRECT and/or O_SYNC pre-set. Then again, if you use >>> QMP and pass over the Unix socket, you need a C program anyways. >> >> O_DIRECT can be set with fcntl(), so qemu takes care of that. O_SYNC >> is completely unused on Linux these days, so that shouldn't be a problem
Do you mean it is unused in qemu or in kernel? :) >> either. (Other platforms use it as a misguided attempt of approximating >> O_DIRECT. We should really error out instead.) >> >> So if I'm not mistaken, just having one read-only and one read-write fd >> should be enough for any configuration in practice. Yes, O_DIRECT appears to work with fdsets. > Probably yes. Except the thing doesn't actually work. ;) > > When flushing changes to the base image, that base image needs to be > reopened. So I should convince qemu that the base image of this qcow > file is /dev/fdset/foo, not the one recorded in the header. qemu-system-x86_64: -drive file=w7x64.qcow2,backing_file=/dev/fdset/2,if=none,id=dr,cache=none: \ could not open disk image w7x64.qcow2: Block format 'qcow2' used by device 'dr' \ doesn't support the option 'backing_file' hmm?.. > Is it possible? Thanks, /mjt >