On Thu, Feb 28, 2013 at 08:15:08AM -0700, Ryan Barry wrote:
Run with LIBGUESTFS_ATTACH_METHOD=appliance
Fails with:
inspect_os: mount_ro: /dev/sda on / (options: 'ro'): mount: /dev/sda is already mounted or /sysroot busy at /usr/share/perl5/vendor_perl/Sys/VirtConvert/GuestfsHandle.pm line 194.
util-linux prints this when the mount syscall returns -EBUSY. The man page for mount(2) gives these reasons: EBUSY source is already mounted. [probably not] Or, it cannot be remounted read-only, because it still holds files open for writing. [while we are mounting r/o, we're not *re*mounting, and in any case we shouldn't have any files open for write] Or, it cannot be mounted on target because target is still busy (it is the working directory of some thread, the mount point of another device, has open files, etc.). [Could some other process have /sysroot open? The only candidate is udev.] I also looked at the Linux kernel code to see if there are any other reasons why do_mount would return -EBUSY. The only obvious ones are: - remounting read-only with files open for write - mounting the same filesystem a second time on the same mountpoint - mountpoint has open files, current working directories, chroots or sub-mounts None of these seem as if they are likely reasons. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming blog: http://rwmj.wordpress.com Fedora now supports 80 OCaml packages (the OPEN alternative to F#)