From 75a872734cbbf2e8e9f24bf2ace3bdbf26bf7e75 Mon Sep 17 00:00:00 2001 From: "Yan, Zheng" Date: Wed, 2 Jan 2019 15:48:04 +0800 Subject: [PATCH] mds: remove wrong assertion in Locker::snapflush_nudge head inode gets unpinned when snapflush starts. It might get trimmed before snapflush finishes. Fixes: http://tracker.ceph.com/issues/37721 Signed-off-by: "Yan, Zheng" --- src/mds/Locker.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/mds/Locker.cc b/src/mds/Locker.cc index e103a5ee029..3356a86a39c 100644 --- a/src/mds/Locker.cc +++ b/src/mds/Locker.cc @@ -2561,7 +2561,11 @@ void Locker::snapflush_nudge(CInode *in) return; CInode *head = mdcache->get_inode(in->ino()); - ceph_assert(head); + // head inode gets unpinned when snapflush starts. It might get trimmed + // before snapflush finishes. + if (!head) + return; + ceph_assert(head->is_auth()); if (head->client_need_snapflush.empty()) return; -- 2.39.5