On Fri, Dec 09, 2022 at 06:23:59PM +0000, Richard W.M. Jones wrote: > $ guestfish --format=raw -a ssh://foo/var/tmp/fedora-36.img -i -vx > > ... > > <disk device="disk" type="network"> > <source protocol="ssh" name="/var/tmp/fedora-36.img"> > <host name="foo"/> > </source> > <target dev="sda" bus="scsi"/> > <driver name="qemu" type="raw" cache="writeback"/> > <address type="drive" controller="0" bus="0" target="0" unit="0"/> > </disk> Actually I remembered in the "read-only"[1] case we do create a qcow2 overlay: $ guestfish --ro --format=raw -a ssh://foo/var/tmp/fedora-36.img -i ... libguestfs: trace: disk_create "/tmp/libguestfszdXqqC/overlay1.qcow2" "qcow2" -1 "backingfile:ssh://foo/var/tmp/fedora-36.img" "backingformat:raw" libguestfs: command: run: qemu-img libguestfs: command: run: \ create libguestfs: command: run: \ -f qcow2 libguestfs: command: run: \ -o backing_file=ssh://foo/var/tmp/fedora-36.img,backing_fmt=raw libguestfs: command: run: \ /tmp/libguestfszdXqqC/overlay1.qcow2 Formatting '/tmp/libguestfszdXqqC/overlay1.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=6442450944 backing_file=ssh://foo/var/tmp/fedora-36.img backing_fmt=raw lazy_refcounts=off refcount_bits=16 ... <disk device="disk" type="file"> <source file="/tmp/libguestfszdXqqC/overlay1.qcow2"/> <target dev="sda" bus="scsi"/> <driver name="qemu" type="qcow2" cache="unsafe"/> <address type="drive" controller="0" bus="0" target="0" unit="0"/> </disk> which might be what you were thinking about. Actually this doesn't work either: Original error from libvirt: internal error: process exited while connecting to monitor: 2022-12-09T20:17:41.074400Z qemu-kvm: -blockdev {"driver":"ssh","path":"var/tmp/fedora-36.img","server":{"host":"foo","port":"22"},"node-name":"libvirt-4-storage","cache":{"direct":false,"no-flush":true},"auto-read-only":true,"discard":"unmap"}: failed to authenticate using publickey authentication and the identities held by your ssh-agent [code=1 int1=-1] Rich. [1] Not really "read-only" - we must create a r/w overlay because otherwise replaying journals in filesystems does not work. The overlay is discarded afterwards. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com libguestfs lets you edit virtual machines. Supports shell scripting, bindings from many languages. http://libguestfs.org