]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
osdc/Journaler: use finisher for public callbacks
authorJohn Spray <john.spray@redhat.com>
Thu, 7 Aug 2014 14:52:58 +0000 (15:52 +0100)
committerJohn Spray <john.spray@redhat.com>
Mon, 25 Aug 2014 00:34:18 +0000 (01:34 +0100)
commite1e28667d437b6b213f9a72cd4cd3ce0bea2622a
treed7204300390457224088b2cc779495e48f82406c
parent10a08b823c1d5b28d8132e93668215fcd7b31d90
osdc/Journaler: use finisher for public callbacks

This is needed because of occasional lock cycles with
external callers doing e.g. write_head.

We do get some weird-looking multiply-nested
C_OnFinisher(C_OnFinisher(...)) from this approach,
where one finisher exists to protect journaler from
lock cycles wrt objecter, and the other exists
to protect the MDS from lock cycles wrt journaler.

Signed-off-by: John Spray <john.spray@redhat.com>
src/osdc/Journaler.cc
src/osdc/Journaler.h