If you wish to try it, pick a guest or image and do (as root) the
following command. You'll have to adjust the drives and mount
point(s) suitably, just like with guestfish.
# ./fuse/guestmount -a guest.img -m /dev/sda1 --ro --trace -- -f /mnt/tmp
Those parameters will produce lots of debugging information and the
guestmount command will stay in the foreground so you can see what's
going on.
Then, also as root, look around the /mnt/tmp directory.
read(2) and write(2) aren't implemented (will return EINVAL) so you
can't actually read any of the files.
From my limited observations it seems like nothing much is cached. If
we added a big "get absolutely everything about this directory" call
to the guestfs(3) API and invoked that the first time that FUSE does
an lstat(2) (or readdir(2)) call on a directory, that would massively
speed up directory listings. There are likely to be lots of
opportunities like that.
It's not segfaulted on me yet, but I'm guessing there's a first time
for everything ...
Rich.
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
virt-top is 'top' for virtual machines. Tiny program with many
powerful monitoring features, net stats, disk stats, logging, etc.
http://et.redhat.com/~rjones/virt-top