]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
ceph-fuse: create finisher threads after fork()
authorSage Weil <sage@inktank.com>
Mon, 3 Jun 2013 04:21:51 +0000 (21:21 -0700)
committerSage Weil <sage@inktank.com>
Mon, 3 Jun 2013 04:21:51 +0000 (21:21 -0700)
commit4fa5f99a40792341d247e51488c37301da3c4e4f
treeed7b3754f0fa44b5ad65b60243e39ed7e46561af
parent1e99be15694513ca96bbf4dcd990e6d4ad6bc854
ceph-fuse: create finisher threads after fork()

The ObjectCacher and MonClient classes both instantiate Finisher
threads.  We need to make sure they are created *after* the fork(2)
or else the process will fail to join() them on shutdown, and the
threads will not exist while fuse is doing useful work.

Put CephFuse on the heap and move all this initalization into the child
block, and make sure errors are passed back to the parent.

Fix-proposed-by: Alexandre Marangone <alexandre.maragone@inktank.com>
Signed-off-by: Sage Weil <sage@inktank.com>
src/ceph_fuse.cc