2004-06-16 15:14:11

by Steve Dickson

[permalink] [raw]
Subject: [PATCH] nfs-utils - Silencing mountd

--- src/utils/mountd/mountd.c.org 2003-09-12 18:14:16.000000000 -0400
+++ src/utils/mountd/mountd.c 2004-06-16 09:31:06.000000000 -0400
@@ -90,10 +90,11 @@ mount_dump_1_svc(struct svc_req *rqstp,
{
struct sockaddr_in *addr =
(struct sockaddr_in *) svc_getcaller(rqstp->rq_xprt);
- xlog(L_NOTICE, "dump request from %s",
- inet_ntoa(addr->sin_addr));

- *res = mountlist_list();
+ if ((*res = mountlist_list()) == NULL)
+ xlog(L_WARNING, "dump request from %s failed.",
+ inet_ntoa(addr->sin_addr));
+
return 1;
}

@@ -143,9 +144,11 @@ mount_export_1_svc(struct svc_req *rqstp
{
struct sockaddr_in *addr =
(struct sockaddr_in *) svc_getcaller(rqstp->rq_xprt);
- xlog(L_NOTICE, "export request from %s",
- inet_ntoa(addr->sin_addr));
- *resp = get_exportlist();
+
+ if ((*resp = get_exportlist()) == NULL)
+ xlog(L_WARNING, "export request from %s failed.",
+ inet_ntoa(addr->sin_addr));
+
return 1;
}

@@ -154,9 +157,10 @@ mount_exportall_1_svc(struct svc_req *rq
{
struct sockaddr_in *addr =
(struct sockaddr_in *) svc_getcaller(rqstp->rq_xprt);
- xlog(L_NOTICE, "exportall request from %s",
- inet_ntoa(addr->sin_addr));
- *resp = get_exportlist();
+
+ if ((*resp = get_exportlist()) == NULL)
+ xlog(L_WARNING, "exportall request from %s failed.",
+ inet_ntoa(addr->sin_addr));
return 1;
}

--- src/utils/mountd/auth.c.org 2004-06-16 08:54:32.000000000 -0400
+++ src/utils/mountd/auth.c 2004-06-16 08:55:15.000000000 -0400
@@ -194,9 +194,8 @@ auth_authenticate(char *what, struct soc
break;

case success:
- xlog(L_NOTICE, "authenticated %s request from %s:%d for %s (%s)",
- what, hp->h_name, ntohs(caller->sin_port), path, epath);
break;
+
default:
xlog(L_NOTICE, "%s request from %s:%d for %s (%s) gave %d",
what, hp->h_name, ntohs(caller->sin_port), path, epath, error);


Attachments:
nfs-utils-1.0.6-mountd-nonverbose.patch (1.81 kB)

2004-06-16 22:46:04

by Greg Banks

[permalink] [raw]
Subject: Re: [PATCH] nfs-utils - Silencing mountd

G'day,

On Wed, Jun 16, 2004 at 11:14:25AM -0400, Steve Dickson wrote:
> Here is a patch to the nfs-utils-1.0.6 rpc.mountd that
> eliminates 4 syslog messages that are logged during
> _successful_ mounts and showmount queries. This should
> save quite a bit of disk space w.r.t syslog logs.

Actually, I find the "authenticated mount request from..." message
useful in tracking down strange but nonfatal bugs on busy servers with
many mounts from many clients. Not all NFS or RPC error messages
tell you which client was involved, so correlating those messages
with mount messages can help narrow the list.

But the other 3 are noise.

Greg.
--
Greg Banks, R&D Software Engineer, SGI Australian Software Group.
I don't speak for SGI.


-------------------------------------------------------
This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference
Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer
Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA
REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs

2004-06-17 19:00:07

by Steve Dickson

[permalink] [raw]
Subject: Re: [PATCH] nfs-utils - Silencing mountd

Greg Banks wrote:

>Actually, I find the "authenticated mount request from..." message
>useful in tracking down strange but nonfatal bugs on busy servers with
>many mounts from many clients. Not all NFS or RPC error messages
>tell you which client was involved, so correlating those messages
>with mount messages can help narrow the list.
>
>
True... the authenticated message is a good way to see that
a client is able to communicate with the server... but
in reality it doesn't mean much... and every error message
in the same code path (i.e. in auth_authenticate()) gives a pretty
detail error message of who and what happen..


SteveD.


-------------------------------------------------------
This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference
Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer
Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA
REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs

2004-06-17 22:13:58

by Greg Banks

[permalink] [raw]
Subject: Re: [PATCH] nfs-utils - Silencing mountd

On Thu, Jun 17, 2004 at 03:00:26PM -0400, Steve Dickson wrote:
> Greg Banks wrote:
>
> >Actually, I find the "authenticated mount request from..." message
> >useful [...]
> >
> True... the authenticated message is a good way to see that
> a client is able to communicate with the server... but
> in reality it doesn't mean much... and every error message
> in the same code path (i.e. in auth_authenticate()) gives a pretty
> detail error message of who and what happen..

Sure, but I'm talking about cases where you get wacky interop
problems in NFS or NLM traffic in the few minutes after the mount
sequence.

Also, there are times when it's useful to "tail -f" the syslog
looking for these messages, e.g. at Cthon you can tell whose
testing against your server at any moment. If you see a strange
message you can wander over and talk to those guys and start a
debugging session. This was how the MacOS X lock cookie issue
was found at Cthon '03.

Greg.
--
Greg Banks, R&D Software Engineer, SGI Australian Software Group.
I don't speak for SGI.


-------------------------------------------------------
This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference
Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer
Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA
REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs

2004-06-18 13:02:26

by Steve Dickson

[permalink] [raw]
Subject: Re: [PATCH] nfs-utils - Silencing mountd

--- src/utils/mountd/mountd.c.org 2003-09-12 18:14:16.000000000 -0400
+++ src/utils/mountd/mountd.c 2004-06-16 09:31:06.000000000 -0400
@@ -90,10 +90,11 @@ mount_dump_1_svc(struct svc_req *rqstp,
{
struct sockaddr_in *addr =
(struct sockaddr_in *) svc_getcaller(rqstp->rq_xprt);
- xlog(L_NOTICE, "dump request from %s",
- inet_ntoa(addr->sin_addr));

- *res = mountlist_list();
+ if ((*res = mountlist_list()) == NULL)
+ xlog(L_WARNING, "dump request from %s failed.",
+ inet_ntoa(addr->sin_addr));
+
return 1;
}

@@ -143,9 +144,11 @@ mount_export_1_svc(struct svc_req *rqstp
{
struct sockaddr_in *addr =
(struct sockaddr_in *) svc_getcaller(rqstp->rq_xprt);
- xlog(L_NOTICE, "export request from %s",
- inet_ntoa(addr->sin_addr));
- *resp = get_exportlist();
+
+ if ((*resp = get_exportlist()) == NULL)
+ xlog(L_WARNING, "export request from %s failed.",
+ inet_ntoa(addr->sin_addr));
+
return 1;
}

@@ -154,9 +157,10 @@ mount_exportall_1_svc(struct svc_req *rq
{
struct sockaddr_in *addr =
(struct sockaddr_in *) svc_getcaller(rqstp->rq_xprt);
- xlog(L_NOTICE, "exportall request from %s",
- inet_ntoa(addr->sin_addr));
- *resp = get_exportlist();
+
+ if ((*resp = get_exportlist()) == NULL)
+ xlog(L_WARNING, "exportall request from %s failed.",
+ inet_ntoa(addr->sin_addr));
return 1;
}


Attachments:
nfs-utils-1.0.6-mountd-nonverbose2.patch (1.31 kB)