ceph/ceph — pull request #2003 by ferustigris (2014-06-20 12:34:10+00:00)
Title: RGW memory leaks have been fixed

Memory leaks have been fixed:

Memory leaks detector's report:
`valgrind --leak-check=full /usr/bin/radosgw -c /etc/ceph/ceph.conf -n client.radosgw.gateway -f`
...
` ==117947== 11,725 (200 direct, 11,525 indirect) bytes in 25 blocks are definitely lost in loss
record 82 of 82`
`==117947== at 0x4A075BC: operator new(unsigned long) (vg_replace_malloc.c:298)`
`==117947== by 0x687CC1: RGWGC::process(int, int) (in /usr/bin/radosgw)`
`==117947== by 0x6884D1: RGWGC::process() (in /usr/bin/radosgw)`
`==117947== by 0x68875C: RGWGC::GCWorker::entry() (in /usr/bin/radosgw)`
`==117947== by 0x55F890A: Thread::_entry_func(void*) (in /usr/lib64/librados.so.2.0.0)`
`==117947== by 0x34D46079D0: start_thread (in /lib64/libpthread-2.12.so)`
`==117947== by 0x34D42E8B6C: clone (in /lib64/libc-2.12.so)`
...
`==16986== 8 bytes in 1 blocks are definitely lost in loss record 14 of 83`
`==16986== at 0x4A075BC: operator new(unsigned long) (vg_replace_malloc.c:298)`
`==16986== by 0x58980B8: ceph::log::Log::set_flush_on_exit() (in
/usr/lib64/librados.so.2.0.0)`
`==16986== by 0x6BE3CA: global_init(std::vector >*,
std::vector >&, unsigned int, code_environment_t, int) (
/usr/bin/radosgw)`
`==16986== by 0x5B6B0A: main (in /usr/bin/radosgw)`
`==16986== 1,262 (48 direct, 1,214 indirect) bytes in 1 blocks are definitely lost in loss record
of 83`
`==16986== at 0x4A075BC: operator new(unsigned long) (vg_replace_malloc.c:298)`
`==16986== by 0x618F0D: RGWRados::init_complete() (in /usr/bin/radosgw)`
`==16986== by 0x618FE6: RGWRados::initialize() (in /usr/bin/radosgw)`
`==16986== by 0x63BB23: RGWRados::initialize(CephContext*, bool) (in /usr/bin/radosgw)`
`==16986== by 0x634D20: RGWStoreManager::init_storage_provider(CephContext*, bool) (in
/usr/bin/radosgw)`
`==16986== by 0x5B8970: RGWStoreManager::get_storage(CephContext*, bool) (in /usr/bin/radosgw)`
`==16986== by 0x5B6D5D: main (in /usr/bin/radosgw)`
...