[Bug 344935] New: Can't "cd" into NFS mounted Tru64 directory
https://bugzilla.novell.com/show_bug.cgi?id=344935#c10 Summary: Can't "cd" into NFS mounted Tru64 directory Product: openSUSE 10.3 Version: Final Platform: x86-64 OS/Version: openSUSE 10.3 Status: NEW Severity: Major Priority: P5 - None Component: Network AssignedTo: bnc-team-screening@forge.provo.novell.com ReportedBy: kil@systema.ru QAContact: qa@suse.de Found By: --- NFS server (ver. 3): AlphaServer8400 OS: Tru64 v5.1B-4 (PK6) client: openSUSE 10.3 x86-64 openSUSE "h505-3" has been installed from this server "alpha2" via NFS. Updates from alpha2 works too. h505-3:/~ #mount alpha2:/usr1/suse /mnt h505-3:/~ #cd /mnt h505-3:/mnt #ls h505-3:/mnt #10.2 10.3 h505-3:/mnt #cd 10.3 h505-3:/mnt #-bash: cd: 10.3: Not a directory h505-3:/mnt #cd h505-3:/~ #umount /mnt h505-3:/~ #mount alpha2:/usr1/suse/10.3 /mnt h505-3:/~ #cd /mnt h505-3:/mnt #ls h505-3:/mnt #non-oss oss update h505-3:/mnt #cd oss h505-3:/mnt #-bash: cd: oss: Not a directory openSUSE 10.2 works fine. "cd" into directory mounted from Solaris 9, openSUSE 10.2 works too. reading and writing files works. h505-3:/mnt #mkdir temp ; cd temp ; cd .. works, but after "umount" "mount" don't works. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=344935 Mark Gordon <mtgordon@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mtgordon@novell.com AssignedTo|bnc-team-screening@forge.provo.novell.com |kernel-maintainers@forge.provo.novell.com Component|Network |Kernel -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=344935 Jeff Mahoney <jeffm@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|kernel-maintainers@forge.provo.novell.com |nfbrown@novell.com -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=344935#c1 Neil Brown <nfbrown@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |NEEDINFO Info Provider| |kil@systema.ru --- Comment #1 from Neil Brown <nfbrown@novell.com> 2007-12-02 17:31:33 MST --- Would it be possible to get a network trace of the NFS packet. On the client, run tcpdump -w /tmp/dump -s 0 host alpha2 then while that is running, mount the directory and try to access it. Then interrupt the 'tcpdump' and attach the "/tmp/dump" file that was created. Thanks, -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=344935#c2 --- Comment #2 from Igor Klechkovsky <kil@systema.ru> 2007-12-03 01:29:00 MST --- Created an attachment (id=185586) --> (https://bugzilla.novell.com/attachment.cgi?id=185586) tcpdump -w /tmp/dump0 -s 0 host alpha2 -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=344935#c3 --- Comment #3 from Igor Klechkovsky <kil@systema.ru> 2007-12-03 01:30:15 MST --- Created an attachment (id=185587) --> (https://bugzilla.novell.com/attachment.cgi?id=185587) tcpdump -w /tmp/dump1 -s 0 host alpha2 -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=344935#c4 --- Comment #4 from Igor Klechkovsky <kil@systema.ru> 2007-12-03 01:31:12 MST --- Created an attachment (id=185588) --> (https://bugzilla.novell.com/attachment.cgi?id=185588) tcpdump -w /tmp/dump2 -s 0 host alpha2 -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=344935#c5 Igor Klechkovsky <kil@systema.ru> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEEDINFO |NEW Info Provider|kil@systema.ru | --- Comment #5 from Igor Klechkovsky <kil@systema.ru> 2007-12-03 01:38:56 MST --- News: "cd" works without "ls" before first "cd". # tcpdump -w /tmp/dump0 -s 0 host alpha2 h505-3:~ # mount alpha2:/usr1/suse /mnt h505-3:~ # cd /mnt h505-3:/mnt # ls 10.2 10.3 h505-3:/mnt # cd 10.3 -bash: cd: 10.3: Not a directory # tcpdump -w /tmp/dump1 -s 0 host alpha2 h505-3:/ # mount alpha2:/usr1/suse /mnt h505-3:/ # cd /mnt h505-3:/mnt # cd 10.3 h505-3:/mnt/10.3 # ls non-oss oss other packman src-oss update vlc h505-3:/mnt/10.3 # cd .. h505-3:/mnt # ls 10.2 10.3 h505-3:/mnt # cd 10.3 h505-3:/mnt/10.3 # # tcpdump -w /tmp/dump2 -s 0 host alpha2 h505-3:~ # mount alpha2:/usr1/suse /mnt h505-3:~ # cd /mnt h505-3:/mnt # cd 10.3 h505-3:/mnt/10.3 # ls non-oss oss other packman src-oss update vlc h505-3:/mnt/10.3 # cd oss -bash: cd: oss: Not a directory -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=344935 User nfbrown@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=344935#c6 Neil Brown <nfbrown@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |NEEDINFO Info Provider| |kil@systema.ru --- Comment #6 from Neil Brown <nfbrown@novell.com> 2007-12-16 22:16:59 MST --- Thanks. This suggests there is something wrong with the READDIR_PLUS handling. The "ls" command causes a READDIR_PLUS NFS request which returns file names and attribute information. so the "cd" that happens afterwards should just use information from the cache rather than query the server again. However I see from the tcpdump trace that it does query the server. So something is wrong there. Then of course there is the "Not a directory" error which is even more wrong. However I cannot tell from the trace or the code what is going wrong so I'll have to ask for more details. 1/ Are there any kernel log message (run dmesg) produced by this sequence of events? 2/ Please turn on debugging with echo 32767 > /proc/sys/sunrpc/nfs_debug and then try the sequence again. This should produce lots of kernel logs which will hopefully contains something interesting. Please collect and attach them. You can turn debugging off again with echo 0 > /proc/sys/sunrpc/nfs_debug Thanks. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=344935 User kil@systema.ru added comment https://bugzilla.novell.com/show_bug.cgi?id=344935#c7 --- Comment #7 from Igor Klechkovsky <kil@systema.ru> 2007-12-17 00:52:07 MST --- Created an attachment (id=187803) --> (https://bugzilla.novell.com/attachment.cgi?id=187803) corresponds the dump0 -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=344935 User kil@systema.ru added comment https://bugzilla.novell.com/show_bug.cgi?id=344935#c8 Igor Klechkovsky <kil@systema.ru> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEEDINFO |NEW Info Provider|kil@systema.ru | --- Comment #8 from Igor Klechkovsky <kil@systema.ru> 2007-12-17 00:53:40 MST --- Created an attachment (id=187805) --> (https://bugzilla.novell.com/attachment.cgi?id=187805) corresponds the dump1 -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=344935 User nfbrown@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=344935#c9 Neil Brown <nfbrown@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |NEEDINFO Info Provider| |kil@systema.ru --- Comment #9 from Neil Brown <nfbrown@novell.com> 2007-12-17 15:57:32 MST --- Thanks. That helped a lot. It appears that your Tru64 server is returning bad replies to READDIRPLUS. If you run tshark -V -r dump0 | grep fsid to decode the NFS requests and replies and look at the 'fsid' field in each reply you will notice that they are not all the same. Some are fsid: 0x00000000e98632ee others are fsid: 0xffffffffe98632ee The ones with leading zeros are all in response to READDIRPLUS requests. This is clearly an error on the part of the server. Fortunately you can ask the Linux client not to use READDIRPLUS for exactly this sort of reason. If you mount the filesystem with "nordirplus", e.g. mount -o nordirplus alpha2:/usr1/suse /mnt then READDIR will be used instead of READDIRPLUS and it should work better. Please test and report. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=344935 User kil@systema.ru added comment https://bugzilla.novell.com/show_bug.cgi?id=344935#c10 Igor Klechkovsky <kil@systema.ru> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEEDINFO |NEW Info Provider|kil@systema.ru | --- Comment #10 from Igor Klechkovsky <kil@systema.ru> 2007-12-21 05:26:41 MST --- After "mount -o nordirplus alpha2:/usr1/suse /mnt" "cd" works well. I agree it is an error on the server side. But it seems to me the kernel has an error too. OpenSUSE 10.2 and Solaris 9 use READDIRPLUS, but both work fine. OpenSUSE 10.3 works too if to execute "cd ; ls ; cd". Only sequence "ls ; cd" with first command "ls" doesn't work. Do RFC1813 requires equal fsid between different requests? Thanks. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=344935 User nfbrown@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=344935#c11 Neil Brown <nfbrown@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |INVALID --- Comment #11 from Neil Brown <nfbrown@novell.com> 2008-01-02 15:42:18 MST --- I don't think this is a kernel error, just that different implementations or different operation sequences respond differently to erroneous behaviour by the server. In the "ls;cd" versus "cd;ls" case, the first fsid that Linux will see for a given file will come from READDIRPLUS in the first case, and from GETATTR in the second. As it makes significant use of this value, it will perform badly in the first case where the fsid is wrong, and better in the second case where the first fsid seen is correct. Similarly the Solaris/Linux different is due to handling the value in different way. And yes, the fsid of a particular object should always be the same. It should not change over time and should not change depending on which request is used to retrieve it. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@novell.com