According to 'guestfs_sync' API method documentation: "You should always call this if you have modified a disk image, before closing the handle." So, 'guestfish --remote sync' is required because changes made on the disk (guestfish --remote rm /tail) should be visible to 'virt-tail' which works in different process and also accessing the same disk. A you can see, other changes done via 'guestfish --remote' in this test are flushed via a 'sync' command.
The test is failing spontaneously beasue without 'sync' it very depends on outside factors like qemu caching policy, underlying host filesystem etc. --- cat/test-virt-tail.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/cat/test-virt-tail.sh b/cat/test-virt-tail.sh index 47a5edc..c091eaf 100755 --- a/cat/test-virt-tail.sh +++ b/cat/test-virt-tail.sh @@ -101,6 +101,7 @@ fi # Delete the file. This should cause virt-tail to exit gracefully. guestfish --remote rm /tail +guestfish --remote sync # Wait for virt-tail to finish and check the status. wait "$tailpid" -- 2.9.5 _______________________________________________ Libguestfs mailing list [email protected] https://www.redhat.com/mailman/listinfo/libguestfs
