Logfiles: open with O_APPEND
authorChristof Hanke <christof.hanke@rzg.mpg.de>
Thu, 24 Apr 2014 04:19:32 +0000 (06:19 +0200)
committerD Brashear <shadow@your-file-system.com>
Wed, 21 May 2014 14:12:41 +0000 (10:12 -0400)
This does not change the current (normal) behaviour, but allows
logrotation via "copy and truncate" as offered by logrotate.
Otherwise the processes will remember the offset of the last write
and a truncated file is filled with '\0' until the current offset.
The mrafsStyleLogs are untouched, since they can be rotated by a
kill -HUP and are deprecated anyway.

Change-Id: I09437aac63205fee3d97850507531e6833fed14f
Reviewed-on: http://gerrit.openafs.org/11092
Reviewed-by: Nathaniel Filardo <nwfilardo@gmail.com>
Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
Reviewed-by: D Brashear <shadow@your-file-system.com>
Tested-by: D Brashear <shadow@your-file-system.com>

src/util/serverLog.c

index e2529f5..877f488 100644 (file)
@@ -332,7 +332,7 @@ OpenLog(const char *fileName)
        /* don't check error */
        if (!isfifo)
            rk_rename(fileName, oldName);
-       tempfd = open(fileName, O_WRONLY | O_TRUNC | O_CREAT | (isfifo?O_NONBLOCK:0), 0666);
+       tempfd = open(fileName, O_WRONLY | O_TRUNC | O_CREAT | O_APPEND | (isfifo?O_NONBLOCK:0), 0666);
     }
 
     if (tempfd < 0) {