190130
From d54f087a2484695ff7ac214d39f2750fddcef2d5 Mon Sep 17 00:00:00 2001
190130
From: HuangShujun <549702281@qq.com>
190130
Date: Thu, 5 Dec 2019 10:07:10 +0200
190130
Subject: [PATCH 387/449] To fix readdir-ahead memory leak
190130
190130
Glusterfs client process has memory leak if create several files under
190130
one folder, and delete the folder. According to statedump, the ref
190130
counts of readdir-ahead is bigger than zero in the inode table.
190130
190130
Readdir-ahead get parent inode by inode_parent in rda_mark_inode_dirty
190130
when each rda_writev_cbk,the inode ref count of parent folder will be
190130
increased in inode_parent, but readdir-ahead do not unref it later.
190130
190130
The correction is unref the parent inode at the end of
190130
rda_mark_inode_dirty.
190130
190130
Upstream patch:
190130
> Upstream patch link: https://review.gluster.org/c/glusterfs/+/23815
190130
> Fixes: bz#1779055
190130
> Signed-off-by: HuangShujun <549702281@qq.com>
190130
> Change-Id: Iee68ab1089cbc2fbc4185b93720fb1f66ee89524
190130
190130
BUG: 1781550
190130
Change-Id: Iee68ab1089cbc2fbc4185b93720fb1f66ee89524
190130
Signed-off-by: Xavi Hernandez <xhernandez@redhat.com>
190130
Reviewed-on: https://code.engineering.redhat.com/gerrit/202312
190130
Tested-by: RHGS Build Bot <nigelb@redhat.com>
190130
Reviewed-by: Sunil Kumar Heggodu Gopala Acharya <sheggodu@redhat.com>
190130
---
190130
 xlators/performance/readdir-ahead/src/readdir-ahead.c | 1 +
190130
 1 file changed, 1 insertion(+)
190130
190130
diff --git a/xlators/performance/readdir-ahead/src/readdir-ahead.c b/xlators/performance/readdir-ahead/src/readdir-ahead.c
190130
index 7fd4f8d..933941d 100644
190130
--- a/xlators/performance/readdir-ahead/src/readdir-ahead.c
190130
+++ b/xlators/performance/readdir-ahead/src/readdir-ahead.c
190130
@@ -254,6 +254,7 @@ rda_mark_inode_dirty(xlator_t *this, inode_t *inode)
190130
             }
190130
         }
190130
         UNLOCK(&parent->lock);
190130
+        inode_unref(parent);
190130
     }
190130
 
190130
     return;
190130
-- 
190130
1.8.3.1
190130