Messages in this thread Patch in this message | | | From | (H.J. Lu) | Subject | Re: Please try knfsd-981010 | Date | Sun, 11 Oct 1998 18:59:45 -0700 (PDT) |
| |
> > > > On Sat, 10 Oct 1998, H.J. Lu wrote: > > > This is the Linux kernel NFS daemon. It is based on linux-nfs 0.4.22. > > It is tested on Linux/alpha and Linux/x86 running glibc 2.0.7. > > > > HJ, > > I built and installed knfsd-981010 and kernel 2.1.125 + nfs-related > patches. Initially, it seemed as if all was well, however there are > severe problems when mounting from an Alpha box. The mount will succeed, > but rpc.kmountd exits without fanfare (and without coredump nor log > messages) immediately after. From that point on, even after stopping and > restarting the knfs subsystem, anything that tickles kmountd (including > 'showmount') causes to it to disappear immediately.
Can you do me a favor by running gdb on mountd? You can do
1. Start mountd 2.
# gdb the_mountd_binary_from_src_dir
3. (gdb) att pid_of_mountd (gdb) continue
4. Mount the server from client.
5. gdb should stop mountd and you do
(gdb) bt
I need the output from gdb's backstrace.
> > The only recovery seems to be by forcibly zeroing out the > /var/lib/nfs/xtab and rmtab files and restarting. > > The problem is only occuring on a server which routes between two subnets, > if that is any help. I'd love to send log messages but, again, there are > none. > >
Could you please try this patch?
Thanks.
-- H.J. Lu (hjl@gnu.org) ----- Index: auth.c =================================================================== RCS file: /home/work/cvs/linux/knfsd/utils/mountd/auth.c,v retrieving revision 1.7 diff -u -p -r1.7 auth.c --- auth.c 1998/10/10 23:57:25 1.7 +++ auth.c 1998/10/12 01:54:56 @@ -70,11 +70,15 @@ auth_authenticate_internal(char *what, s if (!(exp = export_find(*hpp, path))) { xlog(L_WARNING, "refused %s request from %s: no export entry", what, (*hpp)->h_name); + free (*hpp) + *hpp = NULL; return NULL; } if (!exp->m_mayexport) { xlog(L_WARNING, "refused %s request from %s: not exported", what, (*hpp)->h_name); + free (*hpp) + *hpp = NULL; return NULL; } @@ -83,6 +87,8 @@ auth_authenticate_internal(char *what, s ntohs(caller->sin_port) >= IPPORT_RESERVED)) { xlog(L_WARNING, "refused %s request from %s: illegal port %d", what, (*hpp)->h_name, ntohs(caller->sin_port)); + free (*hpp) + *hpp = NULL; return NULL; } @@ -128,6 +134,8 @@ auth_authenticate(char *what, struct soc if (p == epath) p++; *p = '\0'; } + if (hp) + free (hp); return exp; } - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |