X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=stat.c;h=fec363964f29270a374bc0732423d13e8194bbc6;hp=10d9efead57176bee8aeba9abfbccc617520e2c4;hb=3c568239a319087a965b06bc2ed94d058810100f;hpb=de8f6de97438d5664cd8765e60102b9109a273e2 diff --git a/stat.c b/stat.c index 10d9efea..fec36396 100644 --- a/stat.c +++ b/stat.c @@ -1504,13 +1504,23 @@ static void __add_log_sample(struct io_log *iolog, unsigned long val, { const int nr_samples = iolog->nr_samples; + if (iolog->disabled) + return; + if (!iolog->nr_samples) iolog->avg_last = t; if (iolog->nr_samples == iolog->max_samples) { int new_size = sizeof(struct io_sample) * iolog->max_samples*2; + void *new_log; - iolog->log = realloc(iolog->log, new_size); + new_log = realloc(iolog->log, new_size); + if (!new_log) { + log_err("fio: failed extending iolog! Will stop logging.\n"); + iolog->disabled = 1; + return; + } + iolog->log = new_log; iolog->max_samples <<= 1; }