In the current upstream Gluster, the write-behind cache supports a xlator option 'resync-failed-syncs-after-fsync', which has Gluster retain the cache on fsync failure, until the file descriptor is flushed/closed. With this QEMU, when using the libglusterfs library, can perform retries on a fsync failure. However, QEMU has no way of determining at runtime if this xlator option is supported. The api glfs_set_xlator_option() will return success even for unknown options. It would be very useful for us to be able to determine if we can use the new xlator option - until we can determine if it is support, QEMU must act as if it is not supported.
This will be addressed by upstream enhancement https://github.com/gluster/glusterfs/issues/263 in a more general context.