kern/167321: [sysctl] [patch] Implement sysctl to control kernel accounting log messages (e.g. acct(2))

Jeremy Chadwick jdc at koitsu.org
Fri Apr 27 05:30:16 UTC 2012


The following reply was made to PR kern/167321; it has been noted by GNATS.

From: Jeremy Chadwick <jdc at koitsu.org>
To: John Baldwin <jhb at freebsd.org>
Cc:  
Subject: Re: kern/167321: [sysctl] [patch] Implement sysctl to control kernel
 accounting log messages (e.g. acct(2))
Date: Thu, 26 Apr 2012 22:17:56 -0700

 On Thu, Apr 26, 2012 at 09:30:01AM -0400, John Baldwin wrote:
 > Hmm, reading the rc.d script and the kernel code, it is not clear to me why 
 > you are seeing "Accounting disabled" messages at all.  You should be seeing 
 > two "Accounting enabled" messages, but no disabled.
 
 Taken from our logs on one box (but they all show the same behaviour):
 
 /var/log/messages:Apr 26 00:39:47 ra kernel: Accounting enabled
 /var/log/messages:Apr 26 03:01:00 ra kernel: Accounting disabled
 /var/log/messages:Apr 26 03:01:00 ra kernel: Accounting enabled
 /var/log/messages:Apr 26 03:01:00 ra kernel: Accounting disabled
 /var/log/messages:Apr 26 03:01:00 ra kernel: Accounting enabled
 /var/log/messages:Apr 26 04:38:40 ra kernel: Accounting disabled
 
 00:39 = when we enabled accounting for the very first time
 03:01 = entries caused by periodic script
 04:38 = when we disabled accounting due to this problem.
 
 > However, it seems that the 'rotate_log' command in
 > /etc/rc.d/accounting can be simplified.  The kernel doesn't care about
 > the pathname, so it doesn't need to have accton re- run when the file
 > is renamed from its temporary filename to it's full name.
 > 
 > You could then update the acct() system call to not log the message
 > when accounting is switched from one file to another atomically.  I
 > think these two changes will address your problem while preserving the
 > useful logging:
 
 Your kernel patch looks a *lot* more elegant and logical (yep I
 understand it :-) ).  I'll give it a try on my home machine here and
 report back the results.  Might be a few days though given health
 problems and doctors visits going on.
 
 Thanks as usual, John!
 
 -- 
 | Jeremy Chadwick                                   jdc at koitsu.org |
 | UNIX Systems Administrator                http://jdc.koitsu.org/ |
 | Mountain View, CA, US                                            |
 | Making life hard for others since 1977.             PGP 4BD6C0CB |
 
 
 > Index: etc/rc.d/accounting
 > ===================================================================
 > --- etc/rc.d/accounting	(revision 234685)
 > +++ etc/rc.d/accounting	(working copy)
 > @@ -65,9 +65,7 @@
 >  	mv ${accounting_file} ${accounting_file}.0
 >  
 >  	if checkyesno accounting_enable; then
 > -		ln $_file ${accounting_file##*/}
 > -		${accounting_command} ${accounting_file}
 > -		unlink $_file
 > +		mv $_file ${accounting_file}
 >  	fi
 >  }
 >  
 > Index: sys/kern/kern_acct.c
 > ===================================================================
 > --- sys/kern/kern_acct.c	(revision 234685)
 > +++ sys/kern/kern_acct.c	(working copy)
 > @@ -297,9 +297,11 @@
 >  			return (error);
 >  		}
 >  	}
 > -	acct_configured = 1;
 > +	if (!acct_configured) {
 > +		acct_configured = 1;
 > +		log(LOG_NOTICE, "Accounting enabled\n");
 > +	}
 >  	sx_xunlock(&acct_sx);
 > -	log(LOG_NOTICE, "Accounting enabled\n");
 >  	return (error);
 >  }
 >  
 > 
 > -- 
 > John Baldwin


More information about the freebsd-bugs mailing list