On Thu, 2010-07-22 at 16:55 -0300, Leonardo Chiquitto wrote:
> On Wed, Jul 21, 2010 at 12:36:21PM +0800, Ian Kent wrote:
> > On Tue, 2010-07-06 at 15:11 -0300, Leonardo Chiquitto wrote:
> > > Hello AutoFS developers,
> > >
> > > I'm trying to improve the usefulness of "verbose" logs for a customer.
> > > The problem they currently face can be summarized as: they need some
> > > messages that are only logged with DEFAULT_LOGGING="verbose" (or debug),
> > > but enabling the verbose mode on busy servers (hundreds of users and
> > > AutoFS mount points) causes a significant traffic increase on their
> > > syslog infrastructure.
> > >
> > > My first idea was to introduce a new log level ("normal") and move the
> > > most important messages from "verbose" to "normal", but I realized later
> > > that this would require some redesign to allow some info() messages to
> > > be printed only on "verbose" mode. Since this would be more intrusive,
> > > I decided to go with a simpler proposal: move some "verbose" messages
> > > to "debug" level. Here are some examples of messages that would be
> > > demoted to debug (prefixed with -):
> >
> > Leonardo and Michael, as you've probably guessed, I've been avoiding
> > replying to this for a while now.
> >
> > The problem is that there are two different views on this, one saying
> > there isn't enough logging and others saying there is too much, *sigh*.
> >
> > >
> > > Successful mount:
> > >
> > > 14:49:13 n1 automount[1013]: attempting to mount entry /v/temp
> > > -14:49:13 n1 automount[1013]: mount(nfs): mounted libre:/temp on /v/temp
> > > 14:49:13 n1 automount[1013]: mounted /v/temp
> >
> > This is a good opportunity to eliminate some extra logging, good.
> >
> > >
> > > Invalid map:
> > >
> > > 14:51:15 n1 automount[1013]: attempting to mount entry /v/no
> > > -14:51:15 n1 automount[1013]: key "no" not found in map source(s).
> > > 14:51:15 n1 automount[1013]: failed to mount /v/no
> >
> > This is the problem for me.
> >
> > This annoying constant key not found logging was the result of a
> > customer complaining that they couldn't work out if a problem was due to
> > a non-existent key or some other issue, so I'd rather not remove it. It
> > should only be logged once on the first lookup of a non-existent key and
> > once again after the negative cache entry times out. There was however a
> > bug with the negative caching of non-existent keys, so we would need to
> > check that the source in use is up to date wrt. this issue, and that it
> > is working the way it is supposed to and then see how the logging goes.
>
> Ian,
>
> I believe the customer's complain makes sense. I missed this use case.
> Here's an updated patch without the "key not found" chunk.
Sure, I've had a quick look and it looks fine.
I'll get to it as soon as I can.
>
> Thanks,
> Leonardo
>
>
> Move some informational logs to debug level to avoid redundancy.
>
> ---
> daemon/lookup.c | 2 +-
> daemon/automount.c | 2 +-
> modules/mount_changer.c | 2 +-
> modules/mount_ext2.c | 2 +-
> modules/mount_generic.c | 2 +-
> modules/mount_nfs.c | 2 +-
> 6 files changed, 6 insertions(+), 6 deletions(-)
>
> Index: autofs/daemon/lookup.c
> ===================================================================
> --- autofs.orig/daemon/lookup.c
> +++ autofs/daemon/lookup.c
> @@ -688,7 +688,7 @@ static int lookup_name_file_source_insta
> char *type, *format;
>
> if (stat(map->argv[0], &st) == -1) {
> - warn(ap->logopt, "file map not found");
> + debug(ap->logopt, "file map not found");
> return NSS_STATUS_NOTFOUND;
> }
>
> Index: autofs/daemon/automount.c
> ===================================================================
> --- autofs.orig/daemon/automount.c
> +++ autofs/daemon/automount.c
> @@ -512,7 +512,7 @@ static int umount_subtree_mounts(struct
> * it already to ensure it's ok to remove any offset triggers.
> */
> if (!is_mm_root && is_mounted(_PATH_MOUNTED, path, MNTS_REAL)) {
> - info(ap->logopt, "unmounting dir = %s", path);
> + debug(ap->logopt, "unmounting dir = %s", path);
> if (umount_ent(ap, path)) {
> warn(ap->logopt, "could not umount dir %s", path);
> left++;
> Index: autofs/modules/mount_changer.c
> ===================================================================
> --- autofs.orig/modules/mount_changer.c
> +++ autofs/modules/mount_changer.c
> @@ -129,7 +129,7 @@ int mount_mount(struct autofs_point *ap,
>
> return 1;
> } else {
> - info(ap->logopt, MODPREFIX "mounted %s type %s on %s",
> + debug(ap->logopt, MODPREFIX "mounted %s type %s on %s",
> what, fstype, fullpath);
> return 0;
> }
> Index: autofs/modules/mount_ext2.c
> ===================================================================
> --- autofs.orig/modules/mount_ext2.c
> +++ autofs/modules/mount_ext2.c
> @@ -140,7 +140,7 @@ int mount_mount(struct autofs_point *ap,
>
> return 1;
> } else {
> - info(ap->logopt,
> + debug(ap->logopt,
> MODPREFIX "mounted %s type %s on %s",
> what, fstype, fullpath);
> return 0;
> Index: autofs/modules/mount_generic.c
> ===================================================================
> --- autofs.orig/modules/mount_generic.c
> +++ autofs/modules/mount_generic.c
> @@ -122,7 +122,7 @@ int mount_mount(struct autofs_point *ap,
>
> return 1;
> } else {
> - info(ap->logopt, MODPREFIX "mounted %s type %s on %s",
> + debug(ap->logopt, MODPREFIX "mounted %s type %s on %s",
> loc, fstype, fullpath);
> free(loc);
> return 0;
> Index: autofs/modules/mount_nfs.c
> ===================================================================
> --- autofs.orig/modules/mount_nfs.c
> +++ autofs/modules/mount_nfs.c
> @@ -251,7 +251,7 @@ int mount_mount(struct autofs_point *ap,
> }
>
> if (!err) {
> - info(ap->logopt, MODPREFIX "mounted %s on %s", loc,
> fullpath);
> + debug(ap->logopt, MODPREFIX "mounted %s on %s", loc,
> fullpath);
> free(loc);
> free_host_list(&hosts);
> return 0;
_______________________________________________
autofs mailing list
[email protected]
http://linux.kernel.org/mailman/listinfo/autofs