From: Yan, Zheng Date: Wed, 2 Jan 2019 07:48:04 +0000 (+0800) Subject: mds: remove wrong assertion in Locker::snapflush_nudge X-Git-Tag: v13.2.5~57^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=707a511d7c6aa19b84eeae916db22abb98db5c96;p=ceph.git 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" (cherry picked from commit 75a872734cbbf2e8e9f24bf2ace3bdbf26bf7e75) Conflicts: src/mds/Locker.cc : Resolved in snapflush_nudge --- diff --git a/src/mds/Locker.cc b/src/mds/Locker.cc index ae95f0257439c..1ce2461c9868f 100644 --- a/src/mds/Locker.cc +++ b/src/mds/Locker.cc @@ -2587,7 +2587,11 @@ void Locker::snapflush_nudge(CInode *in) return; CInode *head = mdcache->get_inode(in->ino()); - assert(head); + // head inode gets unpinned when snapflush starts. It might get trimmed + // before snapflush finishes. + if (!head) + return; + assert(head->is_auth()); if (head->client_need_snapflush.empty()) return;