diff options
author | Mohit Agrawal <moagrawal@redhat.com> | 2019-01-28 21:28:45 +0530 |
---|---|---|
committer | Amar Tumballi <amarts@redhat.com> | 2019-01-31 06:23:39 +0000 |
commit | b41cdeb638f9f9ec2fef13ec95c216faf52a9df9 (patch) | |
tree | 65692a065793a0241f0c23375af45bc0b46858cb /contrib/timer-wheel | |
parent | 09db11b0c020bc79d493c6d7e7ea4f3beb000c68 (diff) |
core: heketi-cli is throwing error "target is busy"
Problem: When rpc-transport-disconnect happens, server_connection_cleanup_flush_cbk()
is supposed to call rpc_transport_unref() after open-files on
that transport are flushed per transport.But open-fd-count is
maintained in bound_xl->fd_count, which can be incremented/decremented
cumulatively in server_connection_cleanup() by all transport
disconnect paths. So instead of rpc_transport_unref() happening
per transport, it ends up doing it only once after all the files
on all the transports for the brick are flushed leading to
rpc-leaks.
Solution: To avoid races maintain fd_cnt at client instead of maintaining
on brick
Credits: Pranith Kumar Karampuri
Change-Id: I6e8ea37a61f82d9aefb227c5b3ab57a7a36850e6
fixes: bz#1668190
Signed-off-by: Mohit Agrawal <moagrawal@redhat.com>
Diffstat (limited to 'contrib/timer-wheel')
0 files changed, 0 insertions, 0 deletions