2GB log file size restrictions 1.9 tree
Is there a way to configure this restriction, nothin is mentioned about it in the doc's. Up until recently I deployed 1.6 tree across all my devices and i never ran into this problem. I just recently upgraded to the 1.9 tree and now syslog-ng just crashes when a 2gb file is reached. If anyone has ANY ideas there are greatly accepted. William Bell CWIE Security
On Wed, 2006-03-29 at 11:15 -0700, William Bell wrote:
Is there a way to configure this restriction, nothin is mentioned about it in the doc's. Up until recently I deployed 1.6 tree across all my devices and i never ran into this problem. I just recently upgraded to the 1.9 tree and now syslog-ng just crashes when a 2gb file is reached. If anyone has ANY ideas there are greatly accepted.
I have just committed a fix for this issue, the next snapshot due this midnight will contain the fix, or you can use the patch below. After applying you need to rerun autoconf, configure and rebuild. --- orig/configure.in +++ mod/configure.in @@ -105,6 +105,20 @@ I_CONSLOG ], blb_cv_c_i_conslog=no, blb_cv_c_i_conslog=yes)]) +old_CPPFLAGS=$CPPFLAGS +CPPFLAGS=-D_GNU_SOURCE +AC_CACHE_CHECK(for O_LARGEFILE, blb_cv_c_o_largefile, + [AC_EGREP_CPP(O_LARGEFILE, +[ +#include <fcntl.h> +O_LARGEFILE +], + blb_cv_c_o_largefile=no, blb_cv_c_o_largefile=yes)]) +CPPFLAGS=$old_CPPFLAGS + +if test "x$blb_cv_c_o_largefile" = "xyes"; then + AC_DEFINE(HAVE_O_LARGEFILE, 1, [O_LARGEFILE is present]) +fi dnl Checks for library functions. AC_CHECK_LIB(door, door_create) --- orig/src/affile.c +++ mod/src/affile.c @@ -34,6 +34,10 @@ #include <errno.h> #include <time.h> +#if !HAVE_O_LARGEFILE +#define O_LARGEFILE 0 +#endif + static gboolean affile_open_file(gchar *name, int flags, int uid, int gid, int mode, @@ -92,11 +96,9 @@ affile_sd_init(LogPipe *s, GlobalConfig int fd, flags; if (self->flags & AFFILE_PIPE) - flags = O_RDWR | O_NOCTTY | O_NONBLOCK; + flags = O_RDWR | O_NOCTTY | O_NONBLOCK | O_LARGEFILE; else - { - flags = O_RDONLY | O_NOCTTY | O_NONBLOCK; - } + flags = O_RDONLY | O_NOCTTY | O_NONBLOCK | O_LARGEFILE; log_reader_options_init(&self->reader_options, cfg); @@ -189,9 +191,9 @@ affile_dw_init(LogPipe *s, GlobalConfig NULL); if (self->owner->flags & AFFILE_PIPE) - flags = O_RDWR | O_NOCTTY | O_NONBLOCK; + flags = O_RDWR | O_NOCTTY | O_NONBLOCK | O_LARGEFILE; else - flags = O_WRONLY | O_CREAT | O_APPEND | O_NOCTTY | O_NONBLOCK; + flags = O_WRONLY | O_CREAT | O_APPEND | O_NOCTTY | O_NONBLOCK | O_LARGEFILE; if (affile_open_file(self->filename->str, flags, self->owner->file_uid, self->owner->file_gid, self->owner->file_perm, -- Bazsi
participants (2)
-
Balazs Scheidler
-
William Bell