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" <zyan@redhat.com>
(cherry picked from commit
75a872734cbbf2e8e9f24bf2ace3bdbf26bf7e75)
Conflicts:
src/mds/Locker.cc : Resolved in snapflush_nudge
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;