On Fri, Jan 19, 2018 at 10:45:51AM -0600, Eric Blake wrote:
I'm wondering if we're missing documentation here (and/or in
the plugins
document) that if .can_write returns true, the plugin must supply a
.pwrite; likewise for .can_trim implying a .trim, and .can_flush
implying a .flush.
It's a strange one.
For example if a plugin returns .can_pwrite == 1 but doesn't implement
.pwrite then the NBD connection will appear to be writable, but any
attempt to write will return EROFS.
On the other hand (a) plugins don't usually implement can_write
because the "autosensing" usually works, and (b) it doesn't crash or
do anything particularly bad.
can_trim/trim and can_flush/flush are similar.
However unfortunately src/plugins.c now assert-fails if the FUA flag
is present but plugin.flush does not exist. Is this a bug?
Rich.
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
Read my programming and virtualization blog:
http://rwmj.wordpress.com
virt-top is 'top' for virtual machines. Tiny program with many
powerful monitoring features, net stats, disk stats, logging, etc.
http://people.redhat.com/~rjones/virt-top