From bdb7f9d2c8fdca9c5874a2569250de7b6a68fa57 Mon Sep 17 00:00:00 2001 From: Krutika Dhananjay Date: Wed, 28 Dec 2016 14:32:12 +0530 Subject: mount/fuse: Fix the place where graph-switch event is logged Backport of: http://review.gluster.org/16302 fuse-bridge changes the active subvol in fuse_graph_sync(), and not in fuse_graph_setup(). This patch is written to get more accurate timestamp in the logs as to when a graph switch actually happened and in the hope that this will help better in identifying the issue of VM corruption that users are seeing when they add-bricks. Change-Id: I3c8577b87db02a2a6ce6159e7d04cf58a2bda0c1 BUG: 1411613 Signed-off-by: Krutika Dhananjay Reviewed-on: http://review.gluster.org/16366 NetBSD-regression: NetBSD Build System CentOS-regression: Gluster Build System Smoke: Gluster Build System Reviewed-by: Raghavendra G --- xlators/mount/fuse/src/fuse-bridge.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'xlators') diff --git a/xlators/mount/fuse/src/fuse-bridge.c b/xlators/mount/fuse/src/fuse-bridge.c index eead33fbd55..525a6a6fbbc 100644 --- a/xlators/mount/fuse/src/fuse-bridge.c +++ b/xlators/mount/fuse/src/fuse-bridge.c @@ -4802,6 +4802,7 @@ fuse_graph_sync (xlator_t *this) fuse_private_t *priv = NULL; int need_first_lookup = 0; int ret = 0; + int new_graph_id = 0; xlator_t *old_subvol = NULL, *new_subvol = NULL; uint64_t winds_on_old_subvol = 0; @@ -4814,6 +4815,7 @@ fuse_graph_sync (xlator_t *this) old_subvol = priv->active_subvol; new_subvol = priv->active_subvol = priv->next_graph->top; + new_graph_id = priv->next_graph->id; priv->next_graph = NULL; need_first_lookup = 1; @@ -4832,6 +4834,8 @@ unlock: pthread_mutex_unlock (&priv->sync_mutex); if (need_first_lookup) { + gf_log ("fuse", GF_LOG_INFO, "switched to graph %d", + new_graph_id); fuse_first_lookup (this); } @@ -5237,9 +5241,6 @@ fuse_graph_setup (xlator_t *this, glusterfs_graph_t *graph) prev_graph->top, NULL); } - gf_log ("fuse", GF_LOG_INFO, "switched to graph %d", - ((graph) ? graph->id : 0)); - return ret; unlock: pthread_mutex_unlock (&priv->sync_mutex); -- cgit