svn commit: r261401 - head/usr.sbin/newsyslog

Bryan Drewery bdrewery at FreeBSD.org
Sun Feb 2 14:11:35 UTC 2014


Author: bdrewery
Date: Sun Feb  2 14:11:34 2014
New Revision: 261401
URL: http://svnweb.freebsd.org/changeset/base/261401

Log:
  Fix newsyslog(8) to use the size of the file instead of the blocks it
  takes on disk, as advertised in newsyslog.conf(5).
  
  This fixes newsyslog(8) on ZFS with compression enabled to not have
  large files compared to the expected rotation size.
  
    # grep remotes/messages /etc/newsyslog.conf
    /var/log/remote/messages       root:info       640  5     500  *     JC
    # ls -alh /var/log/remote/messages
    -rw-r-----  1 root  info    3.2M Jan 31 20:02 /var/log/remote/messages
    # newsyslog -vN|grep remote/messages
    /var/log/remote/messages <5J>: size (Kb): 464 [500] --> skipping
    # stat -f "st_size: %z st_blocks: %b" /var/log/remote/messages
    st_size: 3372627 st_blocks: 928
    # zfs get -H compressratio zroot/syslogs
    zroot/syslogs    compressratio   3.77x   -
  
  With fix:
  
    # newsyslog -v | grep remote/messages
    /var/log/remote/messages <5J>: size (Kb): 3338 [500] --> trimming log....
  
  Approved by:	bapt (mentor)
  PR:		docs/150877
  Reported by:	Joshua Isom <jrisom at gmail.com>
  MFC after:	2 weeks

Modified:
  head/usr.sbin/newsyslog/newsyslog.c

Modified: head/usr.sbin/newsyslog/newsyslog.c
==============================================================================
--- head/usr.sbin/newsyslog/newsyslog.c	Sun Feb  2 07:28:04 2014	(r261400)
+++ head/usr.sbin/newsyslog/newsyslog.c	Sun Feb  2 14:11:34 2014	(r261401)
@@ -2284,7 +2284,7 @@ sizefile(const char *file)
 
 	if (stat(file, &sb) < 0)
 		return (-1);
-	return (kbytes(dbtob(sb.st_blocks)));
+	return (kbytes(sb.st_size));
 }
 
 /*


More information about the svn-src-head mailing list