return;
}
- if (r == -CEPHFS_EBLOCKLISTED) {
- derr << "MDSIOContextBase: blocklisted! 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 == -CEPHFS_EBLOCKLISTED || r == -CEPHFS_ETIMEDOUT) {
+ derr << "MDSIOContextBase: failed with " << r << ", restarting..." << dendl;
mds->respawn();
} else {
MDSContext::complete(r);