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

From: Jeremy Chadwick <[email protected]>
To: [email protected], [email protected]
Cc:  
Subject: Re: kern/167321: Implement sysctl to control kernel accounting log
 messages (e.g. acct(2))
Date: Thu, 26 Apr 2012 05:00:08 -0700

 Proposed patch is attached, as well as available at the below URL.
 Please note I HAVE NOT tested this, but it seems simple enough.
 
 http://jdc.koitsu.org/freebsd/167321/
 
 Patch written for RELENG_8, may/may not patch cleanly on others.
 
 -- 
 | Jeremy Chadwick                                   [email protected] |
 | UNIX Systems Administrator                http://jdc.koitsu.org/ |
 | Mountain View, CA, US                                            |
 | Making life hard for others since 1977.             PGP 4BD6C0CB |
 
 --- SNIP ---
 
 --- src/sys/kern/kern_acct.c.orig      2009-08-03 01:13:06.000000000 -0700
 +++ src/sys/kern/kern_acct.c   2012-04-26 04:53:31.428339406 -0700
 @@ -146,6 +146,9 @@
  #define       ACCT_RUNNING    1       /* Accounting kthread is running. */
  #define       ACCT_EXITREQ    2       /* Accounting kthread should exit. */
  
 +/* sysctl variable used for controlling non-critical log() calls */
 +static int             acct_logging = 1;
 +
  /*
   * Values associated with enabling and disabling accounting
   */
 @@ -188,6 +191,9 @@
  SYSCTL_INT(_kern, OID_AUTO, acct_suspended, CTLFLAG_RD, &acct_suspended, 0,
        "Accounting suspended or not");
  
 +SYSCTL_INT(_kern, OID_AUTO, acct_logging, CTLFLAG_RW, &acct_logging, 0
 +      "Log non-critical accounting messages");
 +
  /*
   * Accounting system call.  Written based on the specification and previous
   * implementation done by Mark Tinguely.
 @@ -299,7 +305,8 @@
        }
        acct_configured = 1;
        sx_xunlock(&acct_sx);
 -      log(LOG_NOTICE, "Accounting enabled\n");
 +      if (acct_logging)
 +              log(LOG_NOTICE, "Accounting enabled\n");
        return (error);
  }
  
 @@ -319,7 +326,8 @@
        acct_vp = NULL;
        acct_cred = NULL;
        acct_flags = 0;
 -      log(LOG_NOTICE, "Accounting disabled\n");
 +      if (acct_logging)
 +              log(LOG_NOTICE, "Accounting disabled\n");
        return (error);
  }
  
 @@ -593,13 +601,15 @@
                if (sb.f_bavail > (int64_t)(acctresume * sb.f_blocks /
                    100)) {
                        acct_suspended = 0;
 -                      log(LOG_NOTICE, "Accounting resumed\n");
 +                      if (acct_logging)
 +                              log(LOG_NOTICE, "Accounting resumed\n");
                }
        } else {
                if (sb.f_bavail <= (int64_t)(acctsuspend * sb.f_blocks /
                    100)) {
                        acct_suspended = 1;
 -                      log(LOG_NOTICE, "Accounting suspended\n");
 +                      if (acct_logging)
 +                              log(LOG_NOTICE, "Accounting suspended\n");
                }
        }
  }
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "[email protected]"

Reply via email to