diff options
author | Mohit Agrawal <moagrawa@redhat.com> | 2018-02-10 12:25:15 +0530 |
---|---|---|
committer | Amar Tumballi <amarts@redhat.com> | 2018-02-27 07:11:15 +0000 |
commit | 7c3cc485054e4ede1efb358552135b432fb7047a (patch) | |
tree | 5657500860f795b7c895bce14069545d8ba463e2 /xlators/storage/posix/src/posix-inode-handle.h | |
parent | 430bff7dc330eec9447423e95f2cae49744a79c3 (diff) |
glusterfsd: Memleak in glusterfsd process while brick mux is on
Problem: At the time of stopping the volume while brick multiplex is
enabled memory is not cleanup from all server side xlators.
Solution: To cleanup memory for all server side xlators call fini
in glusterfs_handle_terminate after send GF_EVENT_CLEANUP
notification to top xlator.
BUG: 1544090
Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
Note: Run all test-cases in separate build (https://review.gluster.org/19574)
with same patch after enable brick mux forcefully, all test cases are
passed.
Change-Id: Ia10dc7f2605aa50f2b90b3fe4eb380ba9299e2fc
Diffstat (limited to 'xlators/storage/posix/src/posix-inode-handle.h')
-rw-r--r-- | xlators/storage/posix/src/posix-inode-handle.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/xlators/storage/posix/src/posix-inode-handle.h b/xlators/storage/posix/src/posix-inode-handle.h index 6849276d3db..b6cb871e007 100644 --- a/xlators/storage/posix/src/posix-inode-handle.h +++ b/xlators/storage/posix/src/posix-inode-handle.h @@ -55,6 +55,12 @@ } while (0) #define MAKE_INODE_HANDLE(rpath, this, loc, iatt_p) do { \ + if (!this->private) { \ + gf_msg ("make_inode_handle", GF_LOG_ERROR, 0, \ + P_MSG_INODE_HANDLE_CREATE, \ + "private is NULL, fini is already called"); \ + break; \ + } \ if (gf_uuid_is_null (loc->gfid)) { \ gf_msg (this->name, GF_LOG_ERROR, 0, \ P_MSG_INODE_HANDLE_CREATE, \ |