From 12373a6e750901c31c1a7b257748ec7681801b35 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Tue, 5 Oct 2010 12:38:43 -0700 Subject: [PATCH] mds: allow do_null_snapflush on multiversion inodes The _do_snap_update() can handle a multiversion inode. Behave when _do_null_snapflush() encounters one. Signed-off-by: Sage Weil --- src/mds/Locker.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/mds/Locker.cc b/src/mds/Locker.cc index 08c307da547b5..28130e61b4f90 100644 --- a/src/mds/Locker.cc +++ b/src/mds/Locker.cc @@ -1806,6 +1806,8 @@ void Locker::_do_null_snapflush(CInode *head_in, client_t client, snapid_t follo if (p->second.count(client)) { dout(10) << " doing async NULL snapflush on " << p->first << " from client" << p->second << dendl; CInode *sin = mdcache->get_inode(head_in->ino(), p->first); + if (!sin && head_in->is_multiversion()) + sin = head_in; assert(sin); _do_snap_update(sin, p->first, 0, sin->first - 1, client, NULL, NULL); head_in->client_need_snapflush[p->first].erase(client); -- 2.39.5