diff options
| -rw-r--r-- | libglusterfs/src/mem-pool.c | 4 | ||||
| -rw-r--r-- | libglusterfs/src/statedump.c | 2 | ||||
| -rwxr-xr-x | tests/bugs/core/bug-834465.t | 7 | 
3 files changed, 11 insertions, 2 deletions
diff --git a/libglusterfs/src/mem-pool.c b/libglusterfs/src/mem-pool.c index 9533a733959..93a1415a75a 100644 --- a/libglusterfs/src/mem-pool.c +++ b/libglusterfs/src/mem-pool.c @@ -318,6 +318,10 @@ __gf_free (void *free_ptr)          {                  mem_acct->rec[header->type].size -= header->size;                  mem_acct->rec[header->type].num_allocs--; +                /* If all the instances are freed up then ensure typestr is set +                 * to NULL */ +                if (!mem_acct->rec[header->type].num_allocs) +                        mem_acct->rec[header->type].typestr = NULL;          }          UNLOCK (&mem_acct->rec[header->type].lock); diff --git a/libglusterfs/src/statedump.c b/libglusterfs/src/statedump.c index d4e7dbb3836..a292857fd10 100644 --- a/libglusterfs/src/statedump.c +++ b/libglusterfs/src/statedump.c @@ -234,7 +234,7 @@ gf_proc_dump_xlator_mem_info (xlator_t *xl)          gf_proc_dump_write ("num_types", "%d", xl->mem_acct->num_types);          for (i = 0; i < xl->mem_acct->num_types; i++) { -                if (xl->mem_acct->rec[i].total_allocs == 0) +                if (xl->mem_acct->rec[i].num_allocs == 0)                          continue;                  gf_proc_dump_add_section ("%s.%s - usage-type %s memusage", diff --git a/tests/bugs/core/bug-834465.t b/tests/bugs/core/bug-834465.t index e21e95393a6..996248d4116 100755 --- a/tests/bugs/core/bug-834465.t +++ b/tests/bugs/core/bug-834465.t @@ -33,8 +33,13 @@ build_tester $(dirname $0)/bug-834465.c  TEST $(dirname $0)/bug-834465 $M0/testfile  sdump2=$(generate_mount_statedump $V0); +nalloc2=0 +grep -A3 "fuse - usage-type gf_common_mt_fd_lk_ctx_node_t" $sdump2 +if [ $? -eq '0' ] +then +        nalloc2=`grep -A3 "fuse - usage-type gf_common_mt_fd_lk_ctx_node_t" $sdump2 | grep -E "^num_allocs" | cut -d '=' -f2` +fi -nalloc2=`grep -A3 "fuse - usage-type gf_common_mt_fd_lk_ctx_node_t" $sdump2 | grep -E "^num_allocs" | cut -d '=' -f2`  TEST [ $nalloc1 -eq $nalloc2 ];  TEST rm -rf $MOUNTDIR/*  | 
