On Mon, 2011-08-01 at 12:39 +0200, Balazs Scheidler wrote:
Hi,
Thanks for the info, I'll try to look at this today.
On Fri, 2011-07-22 at 14:04 +0200, Gergely Nagy wrote:
Gergely Nagy <algernon@balabit.hu> writes:
Hendrik Visage <hvjunk@gmail.com> writes:
The patch wasn't the root cause for the leak, rather it was in the ref counter cache used to spare some atomic operations in the log processing fast path. This patch fixes that (I've pushed it just now): commit 13a87ed5548cb7b152b708d24bb5b3684771d7ca Author: Balazs Scheidler <bazsi@balabit.hu> Date: Mon Aug 1 20:13:45 2011 +0200 refcache: process the ref count differences in two steps The refcache may have caused a leak, when the ack callback performed an additional unref operation (which it does), because folding in the ref difference counter didn't take the additional unref into account. Thus the ref difference needs to be folded back into the atomic counter in two steps: 1) we add in the difference that was present when entering the function (e.g. the diffs accumulated before the function was entered) 2) we add in the difference that was created by the ACK callback Signed-off-by: Balazs Scheidler <bazsi@balabit.hu> -- Bazsi