On 05/14/2012 05:16 AM, Richard W.M. Jones wrote:
On Sun, May 13, 2012 at 11:55:34AM +0800, Nok wrote:
> Hi
>
> I`ve been trying this guestfs_mount_local api for quite a few days,
> but still can`t get over it.
> Now it seems to have enter the fuse loop but have some problems with
> 'mount',
> and stops at guestfs_mount_local_run(g).
>
> Here`s corresponding code in the test program:
> ……
> if(guestfs_mount_local(g,"/mnt/libg")==-1)
> exit(EXIT_FAILURE);
> else
> guestfs_mount_local_run(g);
> ……
>
> Below is a part of the debug dump information,
>
> ……
> version = 1.17.40.Root device: /dev/vda1 (this is test output)
>
> libguestfs: guestfs__mount_local: fuse_mount /mnt/libg
> libguestfs: guestfs__mount_local: fuse_new
> libguestfs: guestfs__mount_local: leaving fuse_mount_local
> libguestfs: guestfs__mount_local_run: entering fuse_loop
> libguestfs: send_to_daemon: 56 bytes: 00 00 00 34 | 20 00 f5 f5 | 00
> 00 00 04 | 00 00 00 35 | 00 00 00 00 | ...
> guestfsd: main_loop: proc 11 (lvs) took 0.04 seconds
> guestfsd: main_loop: new request, len 0x34
> guestfsd: error: lstat_stub: you must call 'mount' first to mount
> the root filesystem
Are you actually mounting any filesystem before calling
guestfs_mount_local?
I just realized that I didn`t mount the /dev/sda to guestfs
appliance
mount point
as you wrote in the example "
guestfs_mount_options(g,"acl,user_xattr","/dev/sda1","/")".
i guess that must be the problem in my testcase and the reason why
it kept prompting "must call' mount' first".
I'll try to write a small example program and send it.
> guestfsd: main_loop: proc 53 (lstat) took 0.00 seconds
> libguestfs: recv_from_daemon: 116 bytes: 20 00 f5 f5 | 00 00 00 04 |
> 00 00 00 35 | 00 00 00 01 | 00 12 34 36 | ...
> libguestfs: error: lstat: lstat_stub: you must call 'mount' first to
> mount the root filesystem
> libguestfs: send_to_daemon: 56 bytes: 00 00 00 34 | 20 00 f5 f5 | 00
> 00 00 04 | 00 00 00 35 | 00 00 00 00 | ...
> guestfsd: main_loop: new request, len 0x34
>
> ……
>
> Any idea what might be wrong with it?the fuse?
Rich.
Thanks for your nice example program!
Nok