Description of problem:
memory-leak in crypt xlator (glusterfs client)
Version-Release number of selected component (if applicable):
create/delete large amounts of files
Steps to Reproduce:
I created ~70K files and memory (RSS) started up from 435208 to 1663336 then rm and leave only 10K in the dir but RSS remained.
RSS should decrease after file deletion.
From the client statedumps I see that inode cache is released
[encryption/crypt.oam_enc-crypt - usage-type gf_crypt_mt_inode memusage]
but local allocations seem still present...
[encryption/crypt.oam_enc-crypt - usage-type gf_crypt_mt_local memusage]
As i have seen in crypt xlator GF_CALLOC allocates memory from gf_crypt_mt_local pool.
local = GF_CALLOC (sizeof (*local), 1, gf_crypt_mt_local);
but in FRAME_DESTROY only mem_put(local) is called thus gf_common_mt_mem_pool is released which results of errors like 0-mem-pool: mem-pool ptr is NULL from glusterfs client.
with latest glusterfs builds, crypt xlator is no more loaded in graph, and is present in codebase.