From ea8c9af0b4a91ef927bbeee9afdfa7d1cea6369f Mon Sep 17 00:00:00 2001 From: Niels de Vos Date: Tue, 29 Aug 2017 00:16:22 +0200 Subject: mem-pool: track glusterfs_ctx_t in struct mem_pool In order to generate statedumps per glusterfs_ctx_t, it is needed to place all the memory pools in a structure that the context can reach. The 'struct mem_pool' has been extended with a 'list_head owner' that is linked with the glusterfs_ctx_t->mempool_list. All callers of mem_pool_new() have been updated to pass the current glusterfs_ctx_t along. This context is needed to add the new memory pool to the list and for grabbing the ctx->lock while updating the glusterfs_ctx_t->mempool_list. Updates: #307 Change-Id: Ia9384424d8d1630ef3efc9d5d523bf739c356c6e Signed-off-by: Niels de Vos Reviewed-on: https://review.gluster.org/18075 Smoke: Gluster Build System CentOS-regression: Gluster Build System Reviewed-by: Jeff Darcy --- xlators/nfs/server/src/nfs3.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'xlators/nfs/server/src') diff --git a/xlators/nfs/server/src/nfs3.c b/xlators/nfs/server/src/nfs3.c index 040d31604bf..b053eb3250e 100644 --- a/xlators/nfs/server/src/nfs3.c +++ b/xlators/nfs/server/src/nfs3.c @@ -5786,7 +5786,8 @@ nfs3_init_state (xlator_t *nfsx) localpool = nfs->memfactor * GF_NFS_CONCURRENT_OPS_MULT; gf_msg_trace (GF_NFS3, 0, "local pool: %d", localpool); - nfs3->localpool = mem_pool_new (nfs3_call_state_t, localpool); + nfs3->localpool = mem_pool_new_ctx (nfsx->ctx, nfs3_call_state_t, + localpool); if (!nfs3->localpool) { gf_msg (GF_NFS3, GF_LOG_ERROR, ENOMEM, NFS_MSG_NO_MEMORY, "local mempool creation failed"); -- cgit