Drop write lock before taking pg lock.
void ReplicatedPG::op_applied(RepGather *repop)
{
+ repop->obc->ondisk_write_unlock();
+
lock();
dout(10) << "op_applied " << *repop << dendl;
mode.write_applied();
dout(10) << "op_applied mode now " << mode << " (finish_write)" << dendl;
- repop->obc->ondisk_write_unlock();
-
put_object_context(repop->obc);
repop->obc = 0;
void ReplicatedPG::_wrote_pushed_object(ObjectStore::Transaction *t, ObjectContext *obc)
{
dout(10) << "_wrote_pushed_object " << *obc << dendl;
- lock();
obc->ondisk_write_unlock();
+ lock();
put_object_context(obc);
unlock();
delete t;