On Tue, 2 Aug 2005, Michael Marion wrote:
> Had a similar problem in the past that turned out to be my fault, wrong
> /etc/auto.net script in place. Today, I'm seeing similar mount issue, but
> I've made sure the right script is in place.
>
> If a host has >1 export, it works sort of as expected:
> kydland mmarion {728}$ /etc/auto.net cornholio
> -fstype=nfs,rsize=8192,wsize=8192,hard,intr,acdirmin=1,acdirmax=5,acregmin=1,acregmax=5,nodev,nosuid
> \
> /local/mnt cornholio:/local/mnt \
> /tftpboot cornholio:/tftpboot
> kydland mmarion {729}$ ls /net/cornholio
> local tftpboot
> kydland mmarion {730}$ mount | grep cornholio
> cornholio:/local/mnt on /net/cornholio/local/mnt type nfs
> (rw,nosuid,nodev,rsize=8192,wsize=8192,hard,intr,acdirmin=1,acdirmax=5,acregmin=1,acregmax=5,addr=129.46.234.38)
>
> but /tftpboot isn't there and debug/verbose output in syslog shows:
> Aug 2 13:43:01 kydland automount[32588]: attempting to mount entry
> /net/cornholio
> Aug 2 13:43:01 kydland kernel: nfs_get_root: getattr error = 116
> Aug 2 13:43:01 kydland kernel: nfs_read_super: get root inode failed
> Aug 2 13:43:01 kydland kernel: nfs_get_root: getattr error = 116
> Aug 2 13:43:01 kydland kernel: nfs_read_super: get root inode failed
> Aug 2 13:43:01 kydland automount[581]: >> mount: wrong fs type, bad option,
> bad superblock on cornholio:/tftpboot,
> Aug 2 13:43:01 kydland automount[581]: >> or too many mounted file
> systems
> Aug 2 13:43:01 kydland automount[581]: mount(nfs): nfs: mount failure
> cornholio:/tftpboot on /net/cornholio/tftpboot
>
> trying to ls that tftpboot path gives more logs:
> Aug 2 13:43:54 kydland automount[32588]: attempting to mount entry
> /net/cornholio/tftpboot
> Aug 2 13:43:54 kydland automount[631]: >> showmount: can't get address for
> cornholio/tftpboot
> Aug 2 13:43:54 kydland automount[631]: lookup(program): lookup for
> cornholio/tftpboot failed
^^^^^^^^^^^^^^^^^^
This looks a bit like the bad lookup bug.
The patch below is for 2.6 so you may need to apply it by had for a 2.4
kernel.
Give it a try.
Ian
diff -Nurp linux-2.6.12-rc5-mm1.orig/fs/autofs4/root.c
linux-2.6.12-rc5-mm1/fs/autofs4/root.c
--- linux-2.6.12-rc5-mm1.orig/fs/autofs4/root.c 2005-05-29 14:46:30.000000000
+0800
+++ linux-2.6.12-rc5-mm1/fs/autofs4/root.c 2005-05-29 14:47:04.000000000
+0800
@@ -306,7 +306,14 @@ static int try_to_fill_dentry(struct den
DPRINTK("expire done status=%d", status);
- return 0;
+ /*
+ * If the directory still exists the mount request must
+ * continue otherwise it can't be followed at the right
+ * time during the walk.
+ */
+ status = d_invalidate(dentry);
+ if (status != -EBUSY)
+ return 0;
}
DPRINTK("dentry=%p %.*s ino=%p",
_______________________________________________
autofs mailing list
[email protected]
http://linux.kernel.org/mailman/listinfo/autofs