Ian Kent <[EMAIL PROTECTED]> writes:
> On Tue, 2007-09-25 at 18:21 +0200, Matthias Koenig wrote:
>> Hi,
>>
>> we noticed a problem concerning loop mounts on locations that
>> have to be mounted before. E.g. consider the following situation,
>> a NFS server exporting a cd image, which we want to loop mount
>> locally to get access to the content:
>>
>> auto.master:
>> /cdimage auto.cdimage
>> /cdcontent auto.cdcontent
>>
>> auto.cdimage:
>> foo nfsserver:/cdimage/foo.img
>>
Yes, sorry. It is nfsserver:/cdimage/foo of course.
I invented this testcase in place, because the original setup
was less readable.
>> auto.cdcontent:
>> foo -fstype=auto,loop :/cdimage/foo/foo.img
>>
>> The access to /cdcontent/foo will fail, when /cdimage/foo is not
>> mounted before, because spawn_mount does not use SPAWN_OPT_ACCESS
>> in this case.
>
> This test case seems broken to me.
> Can you check you've described this correctly please.
> Maybe even try this exact setup yourself.
I checked this again and adapt it to the testcase described here.
auto.master remaining as shown above.
giuliani:/ # cat /etc/auto.cdimage
foo dist:/dist/install/openSUSE-10.3-GM/
giuliani:/ # cat /etc/auto.cdcontent
foo -fstype=auto,loop,ro :/cdimage/foo/openSUSE-10.3-GM-DVD-i386.iso
> Even if the maps were correct the procedure you describe wouldn't call
> spawn_mount first, it would call spawn_bind_mount, which would then
> trigger the mount through the access call.
Hmm, with the above setup, I am only able to access the content after I
have triggered the mount of the image separately.
giuliani:/ # ls /cdcontent/foo
ls: cannot open directory /cdcontent/foo: No such file or directory
giuliani:/ # ls /cdimage/foo/
[...]
giuliani:/ # ls /cdcontent/foo
ARCHIVES.gz dosutils INDEX.gz
[...]
Here is the log of the failure:
Oct 8 14:25:17 giuliani automount[16597]: lookup_mount: lookup(file): looking
up foo
Oct 8 14:25:17 giuliani automount[16597]: lookup_mount: lookup(file): foo ->
-fstype=auto,loop,ro :/cdimage/foo/openSUSE-10.3-GM-DVD-i386.iso
Oct 8 14:25:17 giuliani automount[16597]: parse_mount: parse(sun): expanded
entry: -fstype=auto,loop,ro :/cdimage/foo/openSUSE-10.3-GM-DVD-i386.iso
Oct 8 14:25:17 giuliani automount[16597]: parse_mount: parse(sun): gathered
options: fstype=auto,loop,ro
Oct 8 14:25:17 giuliani automount[16597]: parse_mount: parse(sun):
dequote(":/cdimage/foo/openSUSE-10.3-GM-DVD-i386.iso") ->
:/cdimage/foo/openSUSE-10.3-GM-DVD-i386.iso
Oct 8 14:25:17 giuliani automount[16597]: parse_mount: parse(sun): core of
entry: options=fstype=auto,loop,ro,
loc=:/cdimage/foo/openSUSE-10.3-GM-DVD-i386.iso
Oct 8 14:25:17 giuliani automount[16597]: sun_mount: parse(sun): mounting root
/cdcontent, mountpoint foo, what /cdimage/foo/openSUSE-10.3-GM-DVD-i386.iso,
fstype auto, options loop,ro
Oct 8 14:25:17 giuliani automount[16597]: open_mount: (mount):cannot open
mount module auto (/usr/lib/autofs/mount_auto.so: cannot open shared object
file: No such file or directory)
Oct 8 14:25:17 giuliani automount[16597]: do_mount:
/cdimage/foo/openSUSE-10.3-GM-DVD-i386.iso /cdcontent/foo type auto options
loop,ro using module generic
Oct 8 14:25:17 giuliani automount[16597]: mount_mount: mount(generic): calling
mkdir_path /cdcontent/foo
Oct 8 14:25:17 giuliani automount[16597]: mount_mount: mount(generic): calling
mount -t auto -s -o loop,ro /cdimage/foo/openSUSE-10.3-GM-DVD-i386.iso
/cdcontent/foo
Oct 8 14:25:17 giuliani automount[16597]: >>
/cdimage/foo/openSUSE-10.3-GM-DVD-i386.iso: No such file or directory
Oct 8 14:25:17 giuliani automount[16597]: mount(generic): failed to mount
/cdimage/foo/openSUSE-10.3-GM-DVD-i386.iso (type auto) on /cdcontent/foo
Oct 8 14:25:17 giuliani automount[16597]: send_fail: token = 61
Oct 8 14:25:17 giuliani automount[16597]: failed to mount /cdcontent/foo
Thanks,
Matthias
_______________________________________________
autofs mailing list
[email protected]
http://linux.kernel.org/mailman/listinfo/autofs