From bdc4f1e2b47aaff19ad8588e0513a10c30f3cc4e Mon Sep 17 00:00:00 2001 From: "Yan, Zheng" Date: Thu, 7 Nov 2019 16:15:07 +0800 Subject: [PATCH] mds: tolerate no snaprealm encoded in on-disk root inode Signed-off-by: "Yan, Zheng" Fixes: https://tracker.ceph.com/issues/42675 (cherry picked from commit 141eddba068dd2dc5afe783c21b4af751306d281) --- src/mds/CInode.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/mds/CInode.cc b/src/mds/CInode.cc index 6c8084bb0a4d7..3209763b7b075 100644 --- a/src/mds/CInode.cc +++ b/src/mds/CInode.cc @@ -2817,7 +2817,8 @@ void CInode::decode_snap_blob(const bufferlist& snapbl) } } dout(20) << __func__ << " " << *snaprealm << dendl; - } else if (snaprealm) { + } else if (snaprealm && + !is_root() && !is_mdsdir()) { // see https://tracker.ceph.com/issues/42675 ceph_assert(mdcache->mds->is_any_replay()); snaprealm->merge_to(NULL); } -- 2.47.3