libceph: fix msgpool
authorSage Weil <sage@newdream.net>
Tue, 9 Aug 2011 21:48:11 +0000 (14:48 -0700)
committerSage Weil <sage@newdream.net>
Tue, 9 Aug 2011 22:26:17 +0000 (15:26 -0700)
commit5185352c163a72cf969b2fbbfb89801b398896fd
tree1b90d4b7ec1b3b117a43c3c6980c9140bb4b2097
parentd79698da32b317e96216236f265a9b72b78ae568
libceph: fix msgpool

There were several problems here:

 1- we weren't tagging allocations with the pool, so they were never
    returned to the pool.
 2- msgpool_put didn't add back to the mempool, even it were called.
 3- msgpool_release didn't clear the pool pointer, so it would have looped
    had #1 not been broken.

These may or may not have been responsible for #1136 or #1381 (BUG due to
non-empty mempool on umount).  I can't seem to trigger the crash now using
the method I was using before.

Signed-off-by: Sage Weil <sage@newdream.net>
net/ceph/msgpool.c