[Bug 229607] New: NFS: nfs_lookup - don't hash dentry when optimising away the lookup
https://bugzilla.novell.com/show_bug.cgi?id=229607 Summary: NFS: nfs_lookup - don't hash dentry when optimising away the lookup Product: openSUSE 10.2 Version: Final Platform: Other URL: http://kernel.org/git/gitweb.cgi?p=linux/kernel/git/torv alds/linux- 2.6.git;a=commitdiff;h=fd6840714d9cf6e93f1d42b904860a94d f316b85 OS/Version: Linux Status: NEW Keywords: dogfood, test_case_needed, patch Severity: Critical Priority: P5 - None Component: Kernel AssignedTo: kernel-maintainers@forge.provo.novell.com ReportedBy: suse@hopnet.net QAContact: qa@suse.de autofs /net breaks automount[nnnnn]: mount(nfs): mkdir_path /net/hostname.lan/mnt/tmp failed: Read-only file system Patch needs to be back ported to openSuSE 10.2 kernel. http://kernel.org/git/gitweb.cgi?p=linux/kernel/git/torvalds/linux-2.6.git;a... --- a/fs/nfs/dir.c +++ b/fs/nfs/dir.c @@ -904,9 +904,15 @@ static struct dentry *nfs_lookup(struct lock_kernel(); - /* If we're doing an exclusive create, optimize away the lookup */ - if (nfs_is_exclusive_create(dir, nd)) - goto no_entry; + /* + * If we're doing an exclusive create, optimize away the lookup + * but don't hash the dentry. + */ + if (nfs_is_exclusive_create(dir, nd)) { + d_instantiate(dentry, NULL); + res = NULL; + goto out_unlock; + } error = NFS_PROTO(dir)->lookup(dir, &dentry->d_name, &fhandle, &fattr); if (error == -ENOENT) @@ -1161,6 +1167,8 @@ int nfs_instantiate(struct dentry *dentr if (IS_ERR(inode)) return error; d_instantiate(dentry, inode); + if (d_unhashed(dentry)) + d_rehash(dentry); return 0; } -- 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, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=229607 suse@hopnet.net changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|Critical |Major -- 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, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=229607 gregkh@novell.com changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|kernel- |nfbrown@novell.com |maintainers@forge.provo.nove| |ll.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, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=229607 nfbrown@novell.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |NEEDINFO Info Provider| |suse@hopnet.net ------- Comment #1 from nfbrown@novell.com 2006-12-21 19:58 MST ------- That patch is already in the SuSE 10.2 kernel source tree. It went in as part of 2.8.18.1-2 patch set. What kernel version are you running (uname -a) ?? -- 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, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=229607 suse@hopnet.net changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEEDINFO |NEW Info Provider|suse@hopnet.net | ------- Comment #2 from suse@hopnet.net 2006-12-22 09:00 MST ------- Ok...thought that was going to be way too easy. I made the assumption that patch was needed on the client. Is needed on the server instead? Is it in the SuSE 10.1 kernel source tree? I didn't see this problem until I upgraded the client from 10.1 to 10.2. apollo (client) is openSuSE 10.2: keithh@apollo:~> uname -a Linux apollo 2.6.18.2-34-default #1 SMP Mon Nov 27 11:46:27 UTC 2006 i686 athlon i386 GNU/Linux keithh@apollo:~> ll /net/hades.hopnet.lan/mnt/mp3/ total 0 keithh@apollo:~> sudo tail /var/log/messages Dec 22 23:47:44 apollo automount[26317]: mount(nfs): mkdir_path /net/hades.hopnet.lan/mnt/iso failed: Read-only file system Dec 22 23:47:44 apollo automount[26317]: mount(nfs): mkdir_path /net/hades.hopnet.lan/mnt/prog failed: Read-only file system Dec 22 23:47:44 apollo automount[26317]: mount(nfs): mkdir_path /net/hades.hopnet.lan/mnt/video failed: Read-only file system Dec 22 23:47:44 apollo automount[26317]: mount(nfs): mkdir_path /net/hades.hopnet.lan/mnt/share failed: Read-only file system Dec 22 23:47:44 apollo automount[26317]: mount(nfs): mkdir_path /net/hades.hopnet.lan/mnt/linux failed: Read-only file system Dec 22 23:47:44 apollo automount[26317]: mount(nfs): mkdir_path /net/hades.hopnet.lan/mnt/huggy failed: Read-only file system Dec 22 23:47:44 apollo automount[26317]: mount(nfs): mkdir_path /net/hades.hopnet.lan/mnt/SuSE93 failed: Read-only file system Dec 22 23:47:44 apollo automount[26317]: mount(nfs): mkdir_path /net/hades.hopnet.lan/mnt/winstall failed: Read-only file system Dec 22 23:47:44 apollo automount[26317]: mount(nfs): mkdir_path /net/hades.hopnet.lan/mnt/graphics failed: Read-only file system Dec 22 23:47:50 apollo sudo: keithh : TTY=pts/0 ; PWD=/home/keithh ; USER=root ; COMMAND=/usr/bin/tail /var/log/messages keithh@apollo:~> hades (nfs server) is openSuSE 10.1: hades:~ # uname -a Linux hades 2.6.16.21-0.25-default #1 Tue Sep 19 07:26:15 UTC 2006 i686 athlon i386 GNU/Linux hades:~ # tail /var/log/messages Dec 22 23:50:46 hades rpc.mountd: export request from 192.168.101.20 Dec 22 23:50:46 hades rpc.mountd: authenticated mount request from apollo.hopnet.lan:972 for /tmp (/tmp) Dec 22 23:50:46 hades rpc.mountd: authenticated mount request from apollo.hopnet.lan:973 for /mnt (/mnt) Dec 22 23:50:46 hades rpc.mountd: authenticated mount request from apollo.hopnet.lan:974 for /srv/www (/srv/www) Dec 22 23:50:46 hades rpc.mountd: authenticated mount request from apollo.hopnet.lan:975 for /srv/ftp (/srv/ftp) hades:~ # cat /etc/exports /mnt *(ro,sync,fsid=0,no_root_squash) /mnt/SuSE93 *(ro,async,no_root_squash) /tmp *(rw,sync,no_root_squash) /srv/www *(rw,sync,no_root_squash) /srv/ftp *(rw,sync,no_root_squash) /mnt/graphics *(rw,sync,no_root_squash) /mnt/huggy *(rw,sync,no_root_squash) /mnt/linux 192.168.101.1(rw,sync,no_root_squash) *(rw,sync,no_root_squash) /mnt/mp3 *(rw,sync,no_root_squash) /mnt/prog *(rw,sync,no_root_squash) /mnt/share *(rw,sync,no_root_squash) /mnt/video *(rw,sync,no_root_squash) /mnt/winstall *(rw,sync,no_root_squash) /mnt/tmp *(rw,sync,no_root_squash) /mnt/iso/ *(rw,no_root_squash,sync) hades:~ # rpcinfo -p localhost program vers proto port 100000 2 tcp 111 portmapper 100000 2 udp 111 portmapper 100007 2 udp 738 ypbind 100007 1 udp 738 ypbind 100007 2 tcp 739 ypbind 100007 1 tcp 739 ypbind 100003 2 udp 2049 nfs 100003 3 udp 2049 nfs 100003 4 udp 2049 nfs 100003 2 tcp 2049 nfs 100003 3 tcp 2049 nfs 100003 4 tcp 2049 nfs 100024 1 udp 32774 status 100021 1 udp 32774 nlockmgr 100021 3 udp 32774 nlockmgr 100021 4 udp 32774 nlockmgr 100024 1 tcp 45600 status 100021 1 tcp 45600 nlockmgr 100021 3 tcp 45600 nlockmgr 100021 4 tcp 45600 nlockmgr 100005 1 udp 643 mountd 100005 1 tcp 647 mountd 100005 2 udp 643 mountd 100005 2 tcp 647 mountd 100005 3 udp 643 mountd 100005 3 tcp 647 mountd -- 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, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=229607 nfbrown@novell.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mkoenig@novell.com ------- Comment #3 from nfbrown@novell.com 2006-12-22 13:57 MST ------- The patch is needed in the client, and is definitely in the kernel version you report. Thanks for all the other really useful information. It appears that "/mnt/mp3" isn't being mounted. The "/var/log/messages" mentions several other filesystems but not that one. It appears that automount is getting confused - Unfortunately I don't have much experience with automount. You could possibly try add the "crossmnt" flag to the export of "/mnt". Alternately the bug should be reassigned to the autofs maintainer (who I have added as a 'cc'). -- 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, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=229607 nfbrown@novell.com changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|nfbrown@novell.com |mkoenig@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, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=229607 mkoenig@novell.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED ------- Comment #4 from mkoenig@novell.com 2007-01-31 04:04 MST ------- This bug gets triggered by a different behaviour of mkdir for nfs mounted filesystems. mkdir fails with EROFS, while it is expected to fail only with EEXIST by autofs. This seems to be a change in new kernels: the error code depends on the state. After a mount mkdir will fail with EROFS instead of EEXIST. But after reading the directory mkdir again fails with EEXIST. With the 10.1 kernel mkdir always fails with EEXIST. autofs checks only for EEXIST. I think this will have to be changed in autofs. But I am still not sure if this mkdir error behaviour is really intentional. -- 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, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=229607 ------- Comment #5 from mkoenig@novell.com 2007-01-31 07:46 MST ------- Ok, this is already fixed in upstream autofs. fixed in stable. -- 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, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=229607 aj@novell.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEEDINFO |ASSIGNED Info Provider|aj@novell.com | ------- Comment #10 from aj@novell.com 2007-02-02 01:20 MST ------- please release a fixed package for 10.2: MaintenanceTracker-8229 -- 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, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=229607 mkoenig@novell.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution| |FIXED ------- Comment #11 from mkoenig@novell.com 2007-02-02 07:32 MST ------- submitted to 10.2 -- 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, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=229607 ------- Comment #12 from ast@novell.com 2007-02-07 09:35 MST ------- released -- 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, or are watching someone who is.
participants (1)
-
bugzilla_noreply@novell.com