X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=ceph%2Fsrc%2Fmds%2FMDSContext.cc;fp=ceph%2Fsrc%2Fmds%2FMDSContext.cc;h=f96fc54202a78980f878a5dd312897f0e0343833;hb=d0fc7ad3c015b94f3c8d84efe88b217a37a6e4ff;hp=94726a2cb4f45d2c77b7e30be5a163c0ed2aff35;hpb=efc1e7ef13525f02d58d97ccd62fec325323c618;p=ceph.git diff --git a/ceph/src/mds/MDSContext.cc b/ceph/src/mds/MDSContext.cc index 94726a2cb..f96fc5420 100644 --- a/ceph/src/mds/MDSContext.cc +++ b/ceph/src/mds/MDSContext.cc @@ -107,8 +107,11 @@ void MDSIOContextBase::complete(int r) { return; } - if (r == -EBLACKLISTED) { - derr << "MDSIOContextBase: blacklisted! Restarting..." << dendl; + // It's possible that the osd op requests will be stuck and then times out + // after "rados_osd_op_timeout", the mds won't know what we should it, just + // respawn it. + if (r == -EBLACKLISTED || r == -ETIMEDOUT) { + derr << "MDSIOContextBase: failed with " << r << ", restarting..." << dendl; mds->respawn(); } else { MDSContext::complete(r);