21ab4e
From c8e78e589bd1ef90085d267f4732caf99450c0c5 Mon Sep 17 00:00:00 2001
21ab4e
From: Mohit Agrawal <moagrawa@redhat.com>
21ab4e
Date: Thu, 13 Jul 2017 12:23:13 +0530
21ab4e
Subject: [PATCH 563/566] posix: brick process crash after stop the volume
21ab4e
 while brick mux is on
21ab4e
21ab4e
Problem: sometime brick process is getting crash after stop the volume
21ab4e
         while brick mux is enabled and no. of volumes are high
21ab4e
21ab4e
Solution: In posix notify at the time close mount_lock dir , dir handle
21ab4e
          needs to set NULL to avoid the reuse of same dir handle.
21ab4e
21ab4e
> BUG: 1470533
21ab4e
> Change-Id: Ifd41c20b3c597317851f91049a7c801949840b16
21ab4e
> Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
21ab4e
> Reviewed-on: https://review.gluster.org/17767
21ab4e
> Smoke: Gluster Build System <jenkins@build.gluster.org>
21ab4e
> Reviewed-by: Amar Tumballi <amarts@redhat.com>
21ab4e
> CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
21ab4e
> Reviewed-by: Jeff Darcy <jeff@pl.atyp.us>
21ab4e
> (cherry pick from commit 61db7125a5b8db0bd4dd09b423bb54415c8bd484)
21ab4e
21ab4e
BUG: 1468514
21ab4e
Change-Id: Iaa4bdb46ae03fdb4663c0b8bf828a185c33ad155
21ab4e
Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
21ab4e
Reviewed-on: https://code.engineering.redhat.com/gerrit/112271
21ab4e
Reviewed-by: Atin Mukherjee <amukherj@redhat.com>
21ab4e
---
21ab4e
 xlators/storage/posix/src/posix.c | 4 +++-
21ab4e
 1 file changed, 3 insertions(+), 1 deletion(-)
21ab4e
21ab4e
diff --git a/xlators/storage/posix/src/posix.c b/xlators/storage/posix/src/posix.c
21ab4e
index a08d858..26038fc 100644
21ab4e
--- a/xlators/storage/posix/src/posix.c
21ab4e
+++ b/xlators/storage/posix/src/posix.c
21ab4e
@@ -6614,8 +6614,10 @@ notify (xlator_t *this,
21ab4e
                         (void) gf_thread_cleanup_xint (priv->fsyncer);
21ab4e
                         priv->fsyncer = 0;
21ab4e
                 }
21ab4e
-                if (priv->mount_lock)
21ab4e
+                if (priv->mount_lock) {
21ab4e
                         (void) sys_closedir (priv->mount_lock);
21ab4e
+                        priv->mount_lock = NULL;
21ab4e
+                }
21ab4e
 
21ab4e
         break;
21ab4e
         default:
21ab4e
-- 
21ab4e
1.8.3.1
21ab4e