lkml.org 
[lkml]   [1998]   [Oct]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
SubjectRe: Please try knfsd-981010
Date
> 
>
>
> 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/

\
 
 \ /
  Last update: 2005-03-22 13:44    [W:0.048 / U:0.168 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site