From: "Alan D. Brunelle" <Alan.Brunelle@hp.com>
To: linux-btrace@vger.kernel.org
Subject: [PATCH] Removed empty data files
Date: Tue, 17 Feb 2009 14:04:05 +0000 [thread overview]
Message-ID: <499AC3D5.8050008@hp.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 101 bytes --]
Does anybody rely upon _all_ of the blktrace.X files being generated
(even if they are 0-lengthed)?
[-- Attachment #2: 0001-Removed-empty-data-files.patch --]
[-- Type: text/x-diff, Size: 1380 bytes --]
From 1da4effb9b61928b6475ac0cba05a1f32468185e Mon Sep 17 00:00:00 2001
From: Alan D. Brunelle <alan.brunelle@hp.com>
Date: Tue, 17 Feb 2009 09:01:04 -0500
Subject: [PATCH] Removed empty data files
It's not unusual to have lots of empty blktrace files, this unlinks
files at the end of the run that are empty.
Signed-off-by: Alan D. Brunelle <alan.brunelle@hp.com>
---
blktrace.c | 16 +++++++++++++---
1 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/blktrace.c b/blktrace.c
index 26b3afd..2695a33 100644
--- a/blktrace.c
+++ b/blktrace.c
@@ -1509,6 +1509,17 @@ static int set_vbuf(struct io_info *iop, int mode, size_t size)
return 0;
}
+static void iop_close(struct io_info *iop)
+{
+ if (iop) {
+ struct stat buf;
+
+ fclose(iop->ofp);
+ if (!stat(iop->ofn, &buf) && (buf.st_size == 0))
+ unlink(iop->ofn);
+ }
+}
+
static int iop_open(struct io_info *iop, int cpu)
{
iop->ofd = -1;
@@ -1525,7 +1536,7 @@ static int iop_open(struct io_info *iop, int cpu)
if (set_vbuf(iop, _IOLBF, FILE_VBUF_SIZE)) {
fprintf(stderr, "set_vbuf for file %s failed: %d/%s\n",
iop->ofn, errno, strerror(errno));
- fclose(iop->ofp);
+ iop_close(iop);
return 1;
}
@@ -1548,8 +1559,7 @@ static void close_iop(struct io_info *iop)
}
}
- if (iop->ofp)
- fclose(iop->ofp);
+ iop_close(iop);
if (iop->obuf)
free(iop->obuf);
}
--
1.5.6.3
next reply other threads:[~2009-02-17 14:04 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-02-17 14:04 Alan D. Brunelle [this message]
2009-02-19 9:21 ` [PATCH] Removed empty data files Jens Axboe
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=499AC3D5.8050008@hp.com \
--to=alan.brunelle@hp.com \
--cc=linux-btrace@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.