From: John Spray Date: Thu, 2 Apr 2015 15:45:13 +0000 (+0100) Subject: check mdr->ls before trying to write to it X-Git-Tag: v9.0.1~118^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=607994d9e3c0cd044a8fa7dd2e583cdb34884583;p=ceph.git check mdr->ls before trying to write to it Not all may_write operations actually log anything (e.g. setfilelock) squash into: mds: persist completed_requests reliably --- diff --git a/src/mds/Server.cc b/src/mds/Server.cc index 8dfa36bc5767..bd30f065469a 100644 --- a/src/mds/Server.cc +++ b/src/mds/Server.cc @@ -1081,7 +1081,9 @@ void Server::reply_client_request(MDRequestRef& mdr, MClientReply *reply) if (req->may_write() && mdr->session && reply->get_result() == 0) { inodeno_t created = mdr->alloc_ino ? mdr->alloc_ino : mdr->used_prealloc_ino; mdr->session->add_completed_request(mdr->reqid.tid, created); - mdr->ls->touched_sessions.insert(mdr->session->info.inst.name); + if (mdr->ls) { + mdr->ls->touched_sessions.insert(mdr->session->info.inst.name); + } } // give any preallocated inos to the session