In libguestfs we have a few tests that require root privileges and they are skipped by default (normally you should not build or test as root), but you can do this to run them:
sudo make check-root In nbdkit I wanted to check that the file plugin works with block devices (this is not tested), and the only way I can sensibly think to do this is using a loopback device and root. This commit therefore adds a similar mechanism for running root tests and a test of the file plugin using loop. It's somewhat hard to say whether this is testing the full fallocate, trim and zero range paths that might be exercised by Nir's forthcoming patch. With the current codebase of nbdkit we can see that fallocate seems to do the right thing: commandrvf: stdout=e stderr=y flags=0x10000 commandrvf: /bin/sh -c "fallocate -nzl 64k /dev/sda" nbdkit: file.8: debug: zero count=65536 offset=0 may_trim=0 fua=0 nbdkit: file.7: debug: flush but fstrim possibly does not: commandrvf: fstrim -v /sysroot/ nbdkit: file.2: debug: pread count=1024 offset=336896 nbdkit: file.6: debug: pread count=1024 offset=343040 /sysroot/: 91.2 MiB (95629312 bytes) trimmed Another question is whether the Linux loop device supports all these ioctls (and indeed whether the Linux -> qemu -> loop path that libguestfs uses does too). I admit I did not yet look at the kernel and qemu code to find out. An easier way is probably to add debug messages to Nir's patch. (An alternative might have been to use scsi_debug, but that is a rather specialized device.) Rich. _______________________________________________ Libguestfs mailing list [email protected] https://www.redhat.com/mailman/listinfo/libguestfs
