diff options
author | Atin Mukherjee <amukherj@redhat.com> | 2016-04-11 16:07:40 +0530 |
---|---|---|
committer | Atin Mukherjee <amukherj@redhat.com> | 2016-04-18 06:57:04 -0700 |
commit | 0a92f05021ac7e24a16b09ef326461e6deeb5fc8 (patch) | |
tree | 9b2ec68a36bf59a72f8626667bd5e13948462ae3 /xlators/mgmt/glusterd/src/glusterd-handler.c | |
parent | 80fd2a0d8b3da20755a38195f62fc4d7fc5f7b52 (diff) |
glusterd: populate brickinfo->real_path conditionally
Backport of http://review.gluster.org/13965
glusterd_brickinfo_new_from_brick () is called from multiple places and one of
them is glusterd_brick_rpc_notify where its very well possible that an
underlying brick's file system has crashed and a disconnect event has been
received. In this case glusterd tries to build the brickinfo from the brickid in
the RPC request, however the same fails as glusterd_brickinfo_new_from_brick ()
fails from realpath.
Fix is to skip populating real_path if its a disconnect event.
Change-Id: I9d9149c64a9cf2247abb731f219c1b1eef037960
BUG: 1326174
Signed-off-by: Atin Mukherjee <amukherj@redhat.com>
Reviewed-on: http://review.gluster.org/13965
Smoke: Gluster Build System <jenkins@build.gluster.com>
CentOS-regression: Gluster Build System <jenkins@build.gluster.com>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
Reviewed-on: http://review.gluster.org/13973
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd-handler.c')
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-handler.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-handler.c b/xlators/mgmt/glusterd/src/glusterd-handler.c index 0db9fbe15bb..4b35b6617f9 100644 --- a/xlators/mgmt/glusterd/src/glusterd-handler.c +++ b/xlators/mgmt/glusterd/src/glusterd-handler.c @@ -4949,7 +4949,8 @@ get_brickinfo_from_brickid (char *brickid, glusterd_brickinfo_t **brickinfo) } ret = glusterd_volume_brickinfo_get_by_brick (brick, volinfo, - brickinfo); + brickinfo, + _gf_false); if (ret) goto out; |