14f8ab
From fe9159ee42f0f67b01e6a495df8105ea0f66738d Mon Sep 17 00:00:00 2001
14f8ab
From: Mohammed Rafi KC <rkavunga@redhat.com>
14f8ab
Date: Thu, 30 May 2019 23:48:05 +0530
14f8ab
Subject: [PATCH 183/192] glusterd/svc: Stop stale process using the
14f8ab
 glusterd_proc_stop
14f8ab
14f8ab
While restarting a glusterd process, when we have a stale pid
14f8ab
we were doing a simple kill. Instead we can use glusterd_proc_stop
14f8ab
Because it has more logging plus force kill in case if there is
14f8ab
any problem with kill signal handling.
14f8ab
14f8ab
Upstream patch: https://review.gluster.org/#/c/glusterfs/+/22791/
14f8ab
14f8ab
>Change-Id: I4a2dadc210a7a65762dd714e809899510622b7ec
14f8ab
>updates: bz#1710054
14f8ab
>Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com>
14f8ab
14f8ab
Change-Id: I3327528d8ebf90bbb2221265a0cf059c9359f141
14f8ab
BUG: 1720248
14f8ab
Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com>
14f8ab
Reviewed-on: https://code.engineering.redhat.com/gerrit/172290
14f8ab
Reviewed-by: Atin Mukherjee <amukherj@redhat.com>
14f8ab
Tested-by: RHGS Build Bot <nigelb@redhat.com>
14f8ab
---
14f8ab
 xlators/mgmt/glusterd/src/glusterd-svc-helper.c | 6 +++---
14f8ab
 1 file changed, 3 insertions(+), 3 deletions(-)
14f8ab
14f8ab
diff --git a/xlators/mgmt/glusterd/src/glusterd-svc-helper.c b/xlators/mgmt/glusterd/src/glusterd-svc-helper.c
14f8ab
index 6a3ca52..a6e662f 100644
14f8ab
--- a/xlators/mgmt/glusterd/src/glusterd-svc-helper.c
14f8ab
+++ b/xlators/mgmt/glusterd/src/glusterd-svc-helper.c
14f8ab
@@ -488,9 +488,9 @@ glusterd_shd_svc_mux_init(glusterd_volinfo_t *volinfo, glusterd_svc_t *svc)
14f8ab
 
14f8ab
             if (!mux_proc) {
14f8ab
                 if (pid != -1 && sys_access(svc->proc.pidfile, R_OK) == 0) {
14f8ab
-                    /* stale pid file, unlink it. */
14f8ab
-                    kill(pid, SIGTERM);
14f8ab
-                    sys_unlink(svc->proc.pidfile);
14f8ab
+                    /* stale pid file, stop and unlink it */
14f8ab
+                    glusterd_proc_stop(&svc->proc, SIGTERM, PROC_STOP_FORCE);
14f8ab
+                    glusterd_unlink_file(svc->proc.pidfile);
14f8ab
                 }
14f8ab
                 mux_proc = __gf_find_compatible_svc(GD_NODE_SHD);
14f8ab
             }
14f8ab
-- 
14f8ab
1.8.3.1
14f8ab