diff --git a/[refs] b/[refs] index 56eb25181dab..62533f16cbc5 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: aba558e28ac40a598542d995c09efa8439ee3ed4 +refs/heads/master: 85792d0dd6e7a7a18fba55c97e49871211b28fe0 diff --git a/trunk/fs/ceph/mds_client.c b/trunk/fs/ceph/mds_client.c index 114bada97c16..40dd437a26a9 100644 --- a/trunk/fs/ceph/mds_client.c +++ b/trunk/fs/ceph/mds_client.c @@ -1871,6 +1871,12 @@ static void handle_reply(struct ceph_mds_session *session, struct ceph_msg *msg) mutex_unlock(&mdsc->mutex); goto out; } + if (req->r_got_safe && !head->safe) { + pr_warning("got unsafe after safe on %llu from mds%d\n", + tid, mds); + mutex_unlock(&mdsc->mutex); + goto out; + } result = le32_to_cpu(head->result);