Bug 185350 - LTC22066-NFSv4 mount reports "mount: Cannot allocate memory" after delete export point on server
Summary: LTC22066-NFSv4 mount reports "mount: Cannot allocate memory" after delete exp...
Keywords:
Status: CLOSED DEFERRED
Alias: None
Product: Fedora
Classification: Fedora
Component: nfs-utils
Version: rawhide
Hardware: powerpc
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Steve Dickson
QA Contact: Ben Levenson
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2006-03-13 22:02 UTC by IBM Bug Proxy
Modified: 2007-11-30 22:11 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2006-07-25 20:24:08 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description IBM Bug Proxy 2006-03-13 22:02:08 UTC
LTC Owner is: uketinen.com
LTC Originator is: jiangchh.com


Problem description:
	on NFSv4 Server,I export a folder using exportfs, then mount from NFS 
client,it is fine. but after I delete exportpoint on server and make mount from 
client, it shows the wrong error messages:"mount: Cannot allocate memory", and 
I run the steps using NFSv2/3, it looks fine.

      Provide output from "uname -a", if possible:
[root@medusalp2 ~]# uname  -a
Linux medusalp2.upt.austin.ibm.com 2.6.9-32.EL #1 SMP Tue Feb 14 18:49:03 EST 
2006 ppc64 ppc64 ppc64 GNU/Linux
[root@medusalp3 ~]# uname -a
Linux medusalp3.upt.austin.ibm.com 2.6.9-32.EL #1 SMP Tue Feb 14 18:49:03 EST 
2006 ppc64 ppc64 ppc64 GNU/Linux


Hardware Environment
    Machine type (p650, x235, SF2, etc.):Squadron B70+
    Cpu type (Power4, Power5, IA-64, etc.):power5


Please provide contact information if the submitter is not the primary contact.
Backups are Shen Lin Feng(mail:shenlinf.com) in China and Dennis Reed
(reedd.com) in Austin.

Is this reproducible? Yes
    Describe the steps:

	1)config medusalp3 as NFS server
		modprobe auth_rpcgss
		modprobe  rpcsec_gss_krb5
		rpc.mountd
		rpc.idmapd
		rpc.svcgssd
		rpc.nfsd 6
		rpc.gssd -m
		/etc/init.d/nfs restart
	2)export /home/NFS4 (make sure that /home/NFS4 exist)
	exportfs -orw,fsid=0,insecure,no_subtree_check 
*.upt.austin.ibm.com:/home/NFS4
	
	3)mount from medusalp2 successfully and umount.
		mount -t nfs4 medusalp3:/ /mnt
		umount /mnt	
	4)on medusalp3,delete the fold /home/NFS4
	5)mount from medusalp2 with wrong messages
	
[root@medusalp2 ~]# mount -t nfs4 medusalp3:/ /mnt   	
mount: Cannot allocate memory		
	6)if I create folder again, /home/NFS4 on server, I could not make 
mount on NFS client any more.
[root@medusalp2 ~]# mount -t nfs4 medusalp3:/ /mnt   
mount: Cannot allocate memory	
	


Additional information:
I post the steps/result using non-NFSv4:
	1)config medusalp3 as NFS server
		/etc/init.d/nfs restart
	2)export /home/nfs3	
exportfs  -orw,insecure,no_subtree_check *.upt.austin.ibm.com:/home/nfs3
	3)mount from medusalp2 successfully,and make umount.
	mount medusalp2:/home/nfs3 /mnt
	umount /mnt
	4)on medusalp3,delete the fold /home/nfs3
	5)mount from medusalp2, it shows the correct error:"No such file or 
directory"
[root@medusalp2 ~]# mount  medusalp3:/home/nfs3  /mnt
mount: medusalp3:/home/nfs3 failed, reason given by server: No such file or 
directory
	6)if I create  the folder /home/nfs3 again on server, I may make mount 
on client successfully again.
[root@medusalp2 ~]# mount  medusalp3:/home/nfs3  /mnt
[root@medusalp2 ~]#

added mount with strace:

[root@medusalp2 ~]# strace mount -t nfs4 medusalp3:/ /mnt
execve("/bin/mount", ["mount", "-t", "nfs4", "medusalp3:/", "/mnt"], [/* 40 
vars */]) = 0
uname({sys="Linux", node="medusalp2.upt.austin.ibm.com", ...}) = 0
brk(0)                                  = 0x10035000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/usr/local/staf/lib/tls/libc.so.6", O_RDONLY) = -1 ENOENT (No such file 
or directory)
stat64("/usr/local/staf/lib/tls", 0xffffda30) = -1 ENOENT (No such file or 
directory)
open("/usr/local/staf/lib/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or 
directory)
stat64("/usr/local/staf/lib", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("tls/libc.so.6", O_RDONLY)         = -1 ENOENT (No such file or directory)
open("libc.so.6", O_RDONLY)             = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=178083, ...}) = 0
mmap(NULL, 178083, PROT_READ, MAP_PRIVATE, 3, 0) = 0xf7fd3000
close(3)                                = 0
open("/lib/tls/libc.so.6", O_RDONLY)    = 3
read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\24\0\0\0\1\17\347"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1507875, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0xf7fd2000
mmap(0xfe60000, 1361348, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) 
= 0xfe60000
mprotect(0xff95000, 95684, PROT_NONE)   = 0
mmap(0xffa5000, 24576, PROT_READ|PROT_WRITE|PROT_EXEC, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x135000) = 0xffa5000
mmap(0xffab000, 5572, PROT_READ|PROT_WRITE|PROT_EXEC, 
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xffab000
close(3)                                = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0xf7fd1000
mprotect(0xffa5000, 4096, PROT_READ)    = 0
mprotect(0xfff6000, 4096, PROT_READ)    = 0
munmap(0xf7fd3000, 178083)              = 0
brk(0)                                  = 0x10035000
brk(0x10056000)                         = 0x10056000
open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=48512448, ...}) = 0
mmap2(NULL, 2097152, PROT_READ, MAP_PRIVATE, 3, 0) = 0xf7dd1000
close(3)                                = 0
umask(022)                              = 022
open("/dev/null", O_RDWR|O_LARGEFILE)   = 3
close(3)                                = 0
getuid()                                = 0
geteuid()                               = 0
lstat64("/etc/mtab", {st_mode=S_IFREG|0644, st_size=906, ...}) = 0
stat64("/sbin/mount.nfs4", 0xffffdfa0)  = -1 ENOENT (No such file or directory)
gettimeofday({1141429199, 942523}, NULL) = 0
getpid()                                = 6039
open("/etc/resolv.conf", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=71, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0xf7dd0000
read(3, "nameserver 9.3.111.243\nsearch up"..., 4096) = 71
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0xf7dd0000, 4096)                = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 3
fcntl64(3, F_GETFL)                     = 0x2 (flags O_RDWR)
fcntl64(3, F_SETFL, O_RDWR|O_NONBLOCK)  = 0
connect(3, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT 
(No such file or directory)
close(3)                                = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 3
fcntl64(3, F_GETFL)                     = 0x2 (flags O_RDWR)
fcntl64(3, F_SETFL, O_RDWR|O_NONBLOCK)  = 0
connect(3, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT 
(No such file or directory)
close(3)                                = 0
open("/etc/nsswitch.conf", O_RDONLY)    = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=1623, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0xf7dd0000
read(3, "#\n# /etc/nsswitch.conf\n#\n# An ex"..., 4096) = 1623
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0xf7dd0000, 4096)                = 0
open("/usr/local/staf/lib/libnss_files.so.2", O_RDONLY) = -1 ENOENT (No such 
file or directory)
open("tls/libnss_files.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
open("libnss_files.so.2", O_RDONLY)     = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=178083, ...}) = 0
mmap(NULL, 178083, PROT_READ, MAP_PRIVATE, 3, 0) = 0xf7da5000
close(3)                                = 0
open("/lib/libnss_files.so.2", O_RDONLY) = 3
read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\24\0\0\0\1\0\0\36"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=57803, ...}) = 0
mmap(0xfe34000, 111984, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 
0xfe34000
mprotect(0xfe3f000, 66928, PROT_NONE)   = 0
mmap(0xfe4e000, 8192, PROT_READ|PROT_WRITE|PROT_EXEC, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa000) = 0xfe4e000
close(3)                                = 0
mprotect(0xfe4e000, 4096, PROT_READ)    = 0
munmap(0xf7da5000, 178083)              = 0
open("/etc/host.conf", O_RDONLY)        = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=17, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0xf7dd0000
read(3, "order hosts,bind\n", 4096)     = 17
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0xf7dd0000, 4096)                = 0
open("/etc/hosts", O_RDONLY)            = 3
fcntl64(3, F_GETFD)                     = 0
fcntl64(3, F_SETFD, FD_CLOEXEC)         = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=199, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0xf7dd0000
read(3, "# Do not remove the following li"..., 4096) = 199
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0xf7dd0000, 4096)                = 0
open("/usr/local/staf/lib/libnss_dns.so.2", O_RDONLY) = -1 ENOENT (No such file 
or directory)
open("tls/libnss_dns.so.2", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("libnss_dns.so.2", O_RDONLY)       = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=178083, ...}) = 0
mmap(NULL, 178083, PROT_READ, MAP_PRIVATE, 3, 0) = 0xf7da5000
close(3)                                = 0
open("/lib/libnss_dns.so.2", O_RDONLY)  = 3
read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\24\0\0\0\1\0\0\16"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=24730, ...}) = 0
mmap(0xfe0f000, 82472, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 
0xfe0f000
mprotect(0xfe13000, 66088, PROT_NONE)   = 0
mmap(0xfe22000, 8192, PROT_READ|PROT_WRITE|PROT_EXEC, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0xfe22000
close(3)                                = 0
open("/usr/local/staf/lib/libresolv.so.2", O_RDONLY) = -1 ENOENT (No such file 
or directory)
open("tls/libresolv.so.2", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("libresolv.so.2", O_RDONLY)        = -1 ENOENT (No such file or directory)
open("/lib/libresolv.so.2", O_RDONLY)   = 3
read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\24\0\0\0\1\17\273"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=87794, ...}) = 0
mmap(0xfbb0000, 146472, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 
0xfbb0000
mprotect(0xfbc1000, 76840, PROT_NONE)   = 0
mmap(0xfbd0000, 8192, PROT_READ|PROT_WRITE|PROT_EXEC, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x10000) = 0xfbd0000
mmap(0xfbd2000, 7208, PROT_READ|PROT_WRITE|PROT_EXEC, 
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xfbd2000
close(3)                                = 0
mprotect(0xfbd0000, 4096, PROT_READ)    = 0
mprotect(0xfe22000, 4096, PROT_READ)    = 0
munmap(0xf7da5000, 178083)              = 0
gettimeofday({1141429199, 955608}, NULL) = 0
socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 3
connect(3, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr
("9.3.111.243")}, 28) = 0
fcntl64(3, F_GETFL)                     = 0x2 (flags O_RDWR)
fcntl64(3, F_SETFL, O_RDWR|O_NONBLOCK)  = 0
gettimeofday({1141429199, 956077}, NULL) = 0
poll([{fd=3, events=POLLOUT, revents=POLLOUT}], 1, 0) = 1
send(3, "\245\343\1\0\0\1\0\0\0\0\0\0\tmedusalp3\3upt\6austi"..., 46, 0) = 46
poll([{fd=3, events=POLLIN, revents=POLLIN}], 1, 5000) = 1
ioctl(3, FIONREAD, [99])                = 0
recvfrom(3, "\245\343\205\200\0\1\0\1\0\1\0\1\tmedusalp3\3upt\6aust"..., 1024, 
0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("9.3.111.243")}, 
[16]) = 99
close(3)                                = 0
uname({sys="Linux", node="medusalp2.upt.austin.ibm.com", ...}) = 0
open("/etc/hosts", O_RDONLY)            = 3
fcntl64(3, F_GETFD)                     = 0
fcntl64(3, F_SETFD, FD_CLOEXEC)         = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=199, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0xf7dd0000
read(3, "# Do not remove the following li"..., 4096) = 199
close(3)                                = 0
munmap(0xf7dd0000, 4096)                = 0
access("/var/lock/subsys/rpc.idmapd", F_OK) = 0
socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 3
bind(3, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("0.0.0.0")}, 
16) = 0
connect(3, {sa_family=AF_INET, sin_port=htons(2049), sin_addr=inet_addr
("9.3.111.102")}, 16) = 0
gettimeofday({1141429199, 958333}, NULL) = 0
write(3, "\200\0\0(m\264\373R\0\0\0\0\0\0\0\2\0\1\206\243\0\0\0\4"..., 44) = 44
poll([{fd=3, events=POLLIN, revents=POLLIN}], 1, 20000) = 1
read(3, "\200\0\0\30m\264\373R\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 400) = 28
close(3)                                = 0
mount("medusalp3:/", "/mnt", "nfs4", MS_POSIXACL|MS_ACTIVE|MS_NOUSER|0xec0000, 
0x10025420) = 268656544
mount("medusalp3:/", "/mnt", "nfs4", MS_POSIXACL|MS_ACTIVE|MS_NOUSER|0xec0000, 
0x10025420) = -1 ENOMEM (Cannot allocate memory)
rt_sigprocmask(SIG_UNBLOCK, ~[TRAP SEGV RTMIN RT_1], NULL, 8) = 0
open("/usr/share/locale/locale.alias", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=2528, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0xf7dd0000
read(3, "# Locale name alias data base.\n#"..., 4096) = 2528
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0xf7dd0000, 4096)                = 0
open("/usr/share/locale/en_US.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT 
(No such file or directory)
open("/usr/share/locale/en_US.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT 
(No such file or directory)
open("/usr/share/locale/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No 
such file or directory)
open("/usr/share/locale/en.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT 
(No such file or directory)
open("/usr/share/locale/en.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No 
such file or directory)
open("/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such 
file or directory)
write(2, "mount: Cannot allocate memory\n", 30mount: Cannot allocate memory
) = 30
exit_group(32)                          = ?
Process 6039 detached
[root@medusalp2 ~]# 

post mount non-NFSv4 with strace. I think it is fine:show "No such file or 
directory"

[root@medusalp2 ~]# strace mount  medusalp3:/home/nfs3  /mnt
execve("/bin/mount", ["mount", "medusalp3:/home/nfs3", "/mnt"], [/* 40 vars 
*/]) = 0
uname({sys="Linux", node="medusalp2.upt.austin.ibm.com", ...}) = 0
brk(0)                                  = 0x10035000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/usr/local/staf/lib/tls/libc.so.6", O_RDONLY) = -1 ENOENT (No such file 
or directory)
stat64("/usr/local/staf/lib/tls", 0xffffda40) = -1 ENOENT (No such file or 
directory)
open("/usr/local/staf/lib/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or 
directory)
stat64("/usr/local/staf/lib", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("tls/libc.so.6", O_RDONLY)         = -1 ENOENT (No such file or directory)
open("libc.so.6", O_RDONLY)             = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=178083, ...}) = 0
mmap(NULL, 178083, PROT_READ, MAP_PRIVATE, 3, 0) = 0xf7fd3000
close(3)                                = 0
open("/lib/tls/libc.so.6", O_RDONLY)    = 3
read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\24\0\0\0\1\17\347"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1507875, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0xf7fd2000
mmap(0xfe60000, 1361348, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) 
= 0xfe60000
mprotect(0xff95000, 95684, PROT_NONE)   = 0
mmap(0xffa5000, 24576, PROT_READ|PROT_WRITE|PROT_EXEC, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x135000) = 0xffa5000
mmap(0xffab000, 5572, PROT_READ|PROT_WRITE|PROT_EXEC, 
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xffab000
close(3)                                = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0xf7fd1000
mprotect(0xffa5000, 4096, PROT_READ)    = 0
mprotect(0xfff6000, 4096, PROT_READ)    = 0
munmap(0xf7fd3000, 178083)              = 0
brk(0)                                  = 0x10035000
brk(0x10056000)                         = 0x10056000
open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=48512448, ...}) = 0
mmap2(NULL, 2097152, PROT_READ, MAP_PRIVATE, 3, 0) = 0xf7dd1000
close(3)                                = 0
umask(022)                              = 022
open("/dev/null", O_RDWR|O_LARGEFILE)   = 3
close(3)                                = 0
getuid()                                = 0
geteuid()                               = 0
lstat64("/etc/mtab", {st_mode=S_IFREG|0644, st_size=906, ...}) = 0
stat64("/sbin/mount.nfs", 0xffffdfb0)   = -1 ENOENT (No such file or directory)
uname({sys="Linux", node="medusalp2.upt.austin.ibm.com", ...}) = 0
gettimeofday({1141429504, 242315}, NULL) = 0
getpid()                                = 6069
open("/etc/resolv.conf", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=71, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0xf7dd0000
read(3, "nameserver 9.3.111.243\nsearch up"..., 4096) = 71
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0xf7dd0000, 4096)                = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 3
fcntl64(3, F_GETFL)                     = 0x2 (flags O_RDWR)
fcntl64(3, F_SETFL, O_RDWR|O_NONBLOCK)  = 0
connect(3, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT 
(No such file or directory)
close(3)                                = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 3
fcntl64(3, F_GETFL)                     = 0x2 (flags O_RDWR)
fcntl64(3, F_SETFL, O_RDWR|O_NONBLOCK)  = 0
connect(3, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT 
(No such file or directory)
close(3)                                = 0
open("/etc/nsswitch.conf", O_RDONLY)    = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=1623, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0xf7dd0000
read(3, "#\n# /etc/nsswitch.conf\n#\n# An ex"..., 4096) = 1623
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0xf7dd0000, 4096)                = 0
open("/usr/local/staf/lib/libnss_files.so.2", O_RDONLY) = -1 ENOENT (No such 
file or directory)
open("tls/libnss_files.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
open("libnss_files.so.2", O_RDONLY)     = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=178083, ...}) = 0
mmap(NULL, 178083, PROT_READ, MAP_PRIVATE, 3, 0) = 0xf7da5000
close(3)                                = 0
open("/lib/libnss_files.so.2", O_RDONLY) = 3
read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\24\0\0\0\1\0\0\36"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=57803, ...}) = 0
mmap(0xfe34000, 111984, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 
0xfe34000
mprotect(0xfe3f000, 66928, PROT_NONE)   = 0
mmap(0xfe4e000, 8192, PROT_READ|PROT_WRITE|PROT_EXEC, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa000) = 0xfe4e000
close(3)                                = 0
mprotect(0xfe4e000, 4096, PROT_READ)    = 0
munmap(0xf7da5000, 178083)              = 0
open("/etc/host.conf", O_RDONLY)        = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=17, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0xf7dd0000
read(3, "order hosts,bind\n", 4096)     = 17
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0xf7dd0000, 4096)                = 0
open("/etc/hosts", O_RDONLY)            = 3
fcntl64(3, F_GETFD)                     = 0
fcntl64(3, F_SETFD, FD_CLOEXEC)         = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=199, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0xf7dd0000
read(3, "# Do not remove the following li"..., 4096) = 199
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0xf7dd0000, 4096)                = 0
open("/usr/local/staf/lib/libnss_dns.so.2", O_RDONLY) = -1 ENOENT (No such file 
or directory)
open("tls/libnss_dns.so.2", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("libnss_dns.so.2", O_RDONLY)       = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=178083, ...}) = 0
mmap(NULL, 178083, PROT_READ, MAP_PRIVATE, 3, 0) = 0xf7da5000
close(3)                                = 0
open("/lib/libnss_dns.so.2", O_RDONLY)  = 3
read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\24\0\0\0\1\0\0\16"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=24730, ...}) = 0
mmap(0xfe0f000, 82472, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 
0xfe0f000
mprotect(0xfe13000, 66088, PROT_NONE)   = 0
mmap(0xfe22000, 8192, PROT_READ|PROT_WRITE|PROT_EXEC, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0xfe22000
close(3)                                = 0
open("/usr/local/staf/lib/libresolv.so.2", O_RDONLY) = -1 ENOENT (No such file 
or directory)
open("tls/libresolv.so.2", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("libresolv.so.2", O_RDONLY)        = -1 ENOENT (No such file or directory)
open("/lib/libresolv.so.2", O_RDONLY)   = 3
read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\24\0\0\0\1\17\273"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=87794, ...}) = 0
mmap(0xfbb0000, 146472, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 
0xfbb0000
mprotect(0xfbc1000, 76840, PROT_NONE)   = 0
mmap(0xfbd0000, 8192, PROT_READ|PROT_WRITE|PROT_EXEC, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x10000) = 0xfbd0000
mmap(0xfbd2000, 7208, PROT_READ|PROT_WRITE|PROT_EXEC, 
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xfbd2000
close(3)                                = 0
mprotect(0xfbd0000, 4096, PROT_READ)    = 0
mprotect(0xfe22000, 4096, PROT_READ)    = 0
munmap(0xf7da5000, 178083)              = 0
gettimeofday({1141429504, 253498}, NULL) = 0
socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 3
connect(3, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr
("9.3.111.243")}, 28) = 0
fcntl64(3, F_GETFL)                     = 0x2 (flags O_RDWR)
fcntl64(3, F_SETFL, O_RDWR|O_NONBLOCK)  = 0
gettimeofday({1141429504, 253850}, NULL) = 0
poll([{fd=3, events=POLLOUT, revents=POLLOUT}], 1, 0) = 1
send(3, "p>\1\0\0\1\0\0\0\0\0\0\tmedusalp3\3upt\6austi"..., 46, 0) = 46
poll([{fd=3, events=POLLIN, revents=POLLIN}], 1, 5000) = 1
ioctl(3, FIONREAD, [99])                = 0
recvfrom(3, "p>\205\200\0\1\0\1\0\1\0\1\tmedusalp3\3upt\6austi"..., 1024, 0, 
{sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("9.3.111.243")}, 
[16]) = 99
close(3)                                = 0
time(NULL)                              = 1141429504
socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 3
bind(3, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("0.0.0.0")}, 
16) = 0
connect(3, {sa_family=AF_INET, sin_port=htons(111), sin_addr=inet_addr
("9.3.111.102")}, 16) = 0
gettimeofday({1141429504, 255216}, NULL) = 0
write(3, "\200\0\0008.N\243\5\0\0\0\0\0\0\0\2\0\1\206\240\0\0\0\2"..., 60) = 60
poll([{fd=3, events=POLLIN, revents=POLLIN}], 1, 20000) = 1
read(3, "\200\0\0\34.N\243\5\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 500) = 32
close(3)                                = 0
socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 3
bind(3, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("0.0.0.0")}, 
16) = 0
connect(3, {sa_family=AF_INET, sin_port=htons(2049), sin_addr=inet_addr
("9.3.111.102")}, 16) = 0
write(3, "\200\0\0(IB7w\0\0\0\0\0\0\0\2\0\1\206\243\0\0\0\3\0\0\0"..., 44) = 44
poll([{fd=3, events=POLLIN, revents=POLLIN}], 1, 20000) = 1
read(3, "\200\0\0\30IB7w\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 400) = 28
close(3)                                = 0
socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP) = 3
bind(3, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("0.0.0.0")}, 
16) = 0
sendto(3, "u\30\357c\0\0\0\0\0\0\0\2\0\1\206\240\0\0\0\2\0\0\0\3\0"..., 56, 0, 
{sa_family=AF_INET, sin_port=htons(111), sin_addr=inet_addr("9.3.111.102")}, 
16) = 56
poll([{fd=3, events=POLLIN, revents=POLLIN}], 1, 20000) = 1
recvfrom(3, "u\30\357c\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\2"..., 8800, 
0, {sa_family=AF_INET, sin_port=htons(111), sin_addr=inet_addr("9.3.111.102")}, 
[16]) = 28
close(3)                                = 0
socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP) = 3
bind(3, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("0.0.0.0")}, 
16) = 0
sendto(3, "X.\230\n\0\0\0\0\0\0\0\2\0\1\206\245\0\0\0\3\0\0\0\0\0"..., 40, 0, 
{sa_family=AF_INET, sin_port=htons(613), sin_addr=inet_addr("9.3.111.102")}, 
16) = 40
poll([{fd=3, events=POLLIN, revents=POLLIN}], 1, 3000) = 1
recvfrom(3, "X.\230\n\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 400, 0, 
{sa_family=AF_INET, sin_port=htons(613), sin_addr=inet_addr("9.3.111.102")}, 
[16]) = 24
close(3)                                = 0
socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP) = 3
bind(3, {sa_family=AF_INET, sin_port=htons(733), sin_addr=inet_addr
("0.0.0.0")}, 16) = 0
uname({sys="Linux", node="medusalp2.upt.austin.ibm.com", ...}) = 0
geteuid()                               = 0
getegid()                               = 0
getgroups(0, NULL)                      = 7
getgroups(7, [0, 1, 2, 3, 4, 6, 10])    = 7
gettimeofday({1141429504, 725827}, NULL) = 0
sendto(3, "\1,\207\351\0\0\0\0\0\0\0\2\0\1\206\245\0\0\0\3\0\0\0\1"..., 132, 0, 
{sa_family=AF_INET, sin_port=htons(613), sin_addr=inet_addr("9.3.111.102")}, 
16) = 132
poll([{fd=3, events=POLLIN, revents=POLLIN}], 1, 3000) = 1
recvfrom(3, "\1,\207\351\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1024, 
0, {sa_family=AF_INET, sin_port=htons(613), sin_addr=inet_addr("9.3.111.102")}, 
[16]) = 28
close(3)                                = 0
open("/usr/share/locale/locale.alias", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=2528, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0xf7dd0000
read(3, "# Locale name alias data base.\n#"..., 4096) = 2528
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0xf7dd0000, 4096)                = 0
open("/usr/share/locale/en_US.UTF-8/LC_MESSAGES/util-linux.mo", O_RDONLY) = -1 
ENOENT (No such file or directory)
open("/usr/share/locale/en_US.utf8/LC_MESSAGES/util-linux.mo", O_RDONLY) = -1 
ENOENT (No such file or directory)
open("/usr/share/locale/en_US/LC_MESSAGES/util-linux.mo", O_RDONLY) = -1 ENOENT 
(No such file or directory)
open("/usr/share/locale/en.UTF-8/LC_MESSAGES/util-linux.mo", O_RDONLY) = -1 
ENOENT (No such file or directory)
open("/usr/share/locale/en.utf8/LC_MESSAGES/util-linux.mo", O_RDONLY) = -1 
ENOENT (No such file or directory)
open("/usr/share/locale/en/LC_MESSAGES/util-linux.mo", O_RDONLY) = -1 ENOENT 
(No such file or directory)
open("/usr/share/locale/en_US.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT 
(No such file or directory)
open("/usr/share/locale/en_US.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT 
(No such file or directory)
open("/usr/share/locale/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No 
such file or directory)
open("/usr/share/locale/en.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT 
(No such file or directory)
open("/usr/share/locale/en.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No 
such file or directory)
open("/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such 
file or directory)
write(2, "mount: medusalp3:/home/nfs3 fail"..., 86mount: medusalp3:/home/nfs3 
failed, reason given by server: No such file or directory
) = 86
exit_group(32)                          = ?
Process 6069 detached
[root@medusalp2 ~]# 

Created an attachment (id=15217)
Patch makes nfs_fhget() to return appropriate error values 

When nfs_fhget() returns NULL inode in nfs_get_root(), it is returning ENOMEM
instead of ENOENT. The above patch fixes this problem and other host of issues
as well.

Created mirror request (id=5603)Red Hat Issue Tracker

I tested the patch against the mainline kernel and the mount command is
returning the error properly. Can Redhat pick up the patch provided in comment
#5?

Created an attachment (id=15402)
Patch makes nfs_fhget () to return appropriate error values

Chang,

This patch can be applied to RHEL4_U3 kernel (linux-2.6.9-32.EL.src.rpm). Can
you try testing the patch?

Thanks

I made patch on medusalp3(server) and medusalp2(client):

(1)do it following the initial steps, make mount after delete /home/NFS4 on 
Server:
[root@medusalp2 ~]# mount -t nfs4 medusalp3:/ /mnt
mount: special device medusalp3:/ does not exist	<<<show the messages
[root@medusalp2 ~]#
(2)after I create the /home/NFS4, make mount without starting NFS service: 
[root@medusalp2 ~]# mount -t nfs4 medusalp3:/ /mnt
<<<<<hang here and may exit mount after press CTRL +c >>>>>>>

appended comment 14:
>>>>>>>>	(2)after I created /home/NFS4 on server again, make mount without 
re-starting NFS service: 
>>>>>>>>        [root@medusalp2 ~]# mount -t nfs4 medusalp3:/ /mnt
>>>>>>>>        <<<<<hang here and may exit mount after press CTRL +c >>>>>
hang because I found two  rpc.idmapd process on server(I do not know why? I 
only start one of them). I kill them, and restart one new rpc.idmapd. then redo 
step 2,
[root@medusalp2 ~]# mount -t nfs4 medusalp3:/ /mnt
mount: special device medusalp3:/ does not exist <<<still show the message
[root@medusalp2 ~]#                             <<<after Irecreate /home/NFS4.


Note that after you re-create the directory, you will need to run "exportfs -r" 
again.

Chang mentioned couple of problems here:

1. After recreating the directory, we have to unexport the directories and 
rexport them using "#exportfs -au" followed by "#exportfs -r". Otherwise you 
cannot be able to succeed the mounts on the client.
2. When I tried to mount without starting the service I am also seeing the 
hang on the client followed by a crash. After analyzing the stack trace of the 
crash, frank and me found that it's the same problem that client has been 
crashing for the bug #21993. 

So, let's debug this problem and make sure this works fine before mirror 
requesting to redhat.





Actually when we try removing the directory and tried to mount the filesystem
it is hitting the problems that has been filed for the bug #21993 or #22039.
In order to avoid further crashes or hangs which is unrelated to the patch that 
is submitted for this bug, you have to apply the patches that has been 
submitted for the above bugs. 


I AM TOLD THAT I SHOULD HAVE CREATED A RED HAT ISSUE TRACKER RATHER
THAN A BUGZILLA.  PLEASE DELETE THIS.


Note You need to log in before you can comment on or make changes to this bug.