Bogus out-of-space errors
Julien ÉLIE
julien at trigofacile.com
Mon Apr 13 09:05:38 UTC 2009
Hi Jeff,
> Not sure if this is related to anything, but...
>
> Apr 12 16:45:50 puck innd: SERVER cant write log_start No space left on device
Very strange. It is triggered in innd/art.c:
static void
ARTlog(const ARTDATA *data, char code, const char *text)
{
const HDRCONTENT *hc = data->HdrContent;
int i;
bool Done;
TMRstart(TMR_ARTLOG);
/* We could be a bit faster by not dividing Now.usec by 1000,
* but who really wants to log at the Microsec level? */
Done = code == ART_ACCEPT || code == ART_JUNK;
if (text)
i = fprintf(Log, "%.15s.%03d %c %s %s %s%s",
ctime(&Now.tv_sec) + 4, (int)(Now.tv_usec / 1000), code,
data->Feedsite != NULL ? data->Feedsite : "(null)",
HDR_FOUND(HDR__MESSAGE_ID) ? HDR(HDR__MESSAGE_ID) : "(null)",
text, Done ? "" : "\n");
else
i = fprintf(Log, "%.15s.%03d %c %s %s%s",
ctime(&Now.tv_sec) + 4, (int)(Now.tv_usec / 1000), code,
data->Feedsite != NULL ? data->Feedsite : "(null)",
HDR_FOUND(HDR__MESSAGE_ID) ? HDR(HDR__MESSAGE_ID) : "(null)",
Done ? "" : "\n");
if (i == EOF || (Done && !BufferedLogs && fflush(Log)) || ferror(Log)) {
i = errno;
syslog(L_ERROR, "%s cant write log_start %m", LogName);
IOError("logging article", i);
clearerr(Log);
}
TMRstop(TMR_ARTLOG);
}
Three possible cases then, to have this error.
--
Julien ÉLIE
« Et s'il n'en reste qu'un, je serai celui-là ! » (Victor Hugo)
More information about the inn-workers
mailing list