From c04df79dc453ef5cb7b3a0ca8ba14598da6189ac Mon Sep 17 00:00:00 2001 From: Shyam Date: Fri, 27 May 2016 14:00:40 -0400 Subject: io-stats: Fix io-stat dump to dump at all levels Previous commit to fix the bug, where io-stat-dump was overwriting the dump file when the client and a brick was on the same host, failed to consider the existing behaviour where io-stats can help generate closely correlated set of stats across clients and bricks, by triggering the dump using the same command. This was introduced in commit: 0facb11220aea20a6573b656785922219c9650cf Further, by limiting the first io-stat to unwind the dump request, there is no way to trigger other io-stat xlators in the stack to dump their stat information. This bug hence is being fixed by this commit keeping the following in mind, - We need to trigger io-stat-dump for all instances in the graph when this attr is set - We need to write the output to different files, so that they do not overwrite each others data - We need to prevent this xattr from being set on the path that is used to trigger the io-stat-dump information Change-Id: I31ec380f0d85e10313a9d7b977da0e1ec74638a6 BUG: 1322825 Signed-off-by: Shyam Reviewed-on: http://review.gluster.org/14552 Smoke: Gluster Build System NetBSD-regression: NetBSD Build System Reviewed-by: Ravishankar N CentOS-regression: Gluster Build System Reviewed-by: Jeff Darcy --- xlators/storage/posix/src/posix.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'xlators/storage') diff --git a/xlators/storage/posix/src/posix.c b/xlators/storage/posix/src/posix.c index 2320bf13449..4294fa4fe36 100644 --- a/xlators/storage/posix/src/posix.c +++ b/xlators/storage/posix/src/posix.c @@ -3746,6 +3746,8 @@ posix_setxattr (call_frame_t *frame, xlator_t *this, dict_del (dict, GFID_XATTR_KEY); dict_del (dict, GF_XATTR_VOL_ID_KEY); + /* the io-stats-dump key should not reach disk */ + dict_del (dict, GF_XATTR_IOSTATS_DUMP_KEY); filler.real_path = real_path; filler.this = this; -- cgit