]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
rados.py: keep reference to python callbacks 3935/head
authorJosh Durgin <jdurgin@redhat.com>
Tue, 10 Feb 2015 04:50:23 +0000 (20:50 -0800)
committerLoic Dachary <ldachary@redhat.com>
Thu, 12 Mar 2015 21:17:12 +0000 (22:17 +0100)
commit5f1245e131e33a98572408c8223deed2c7cf7b75
tree66e3a0b9a2f57c8c66f7ea62c99589e26db31ebd
parent3bab47054dc77b9a00d3f47fa73f458ede7d4ab4
rados.py: keep reference to python callbacks

If we don't keep a reference to these, the librados aio calls will
segfault since the python-level callbacks will have been garbage
collected. Passing them to aio_create_completion() does not take a
reference to them. Keep a reference in the python Completion object
associated with the request, since they need the same lifetime.

This fixes a regression from 60b019f69aa0e39d276c669698c92fc890599f50.

Fixes: #10775
Backport: dumpling, firefly, giant
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
(cherry picked from commit 36d37aadbbbece28d70e827511f1a473d851463d)
src/pybind/rados.py