diff options
author | Yan, Zheng <zheng.z.yan@intel.com> | 2013-06-12 11:15:43 +0800 |
---|---|---|
committer | Yan, Zheng <zheng.z.yan@intel.com> | 2013-06-17 19:14:05 +0800 |
commit | aa3e512cbe39527214aff6f2bda9d70b1e1af0c5 (patch) | |
tree | 343260e4f11e052c3697639db16887a816c505be | |
parent | f11ec5ccbb4f95979b5bf98995f6be4e5cd60aaf (diff) | |
download | ceph-aa3e512cbe39527214aff6f2bda9d70b1e1af0c5.tar.gz |
mds: try purging stray inode after storing backtrace
Inode is auth pinned and can't be purged while storing backtrace,
so we should try purging stray inode after storing backtrace.
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
-rw-r--r-- | src/mds/CInode.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/mds/CInode.cc b/src/mds/CInode.cc index 0e1429377f8..4a592bcf8d6 100644 --- a/src/mds/CInode.cc +++ b/src/mds/CInode.cc @@ -1069,11 +1069,12 @@ void CInode::_stored_backtrace(version_t v, Context *fin) { dout(10) << "_stored_backtrace" << dendl; + auth_unpin(this); if (v == inode.backtrace_version) clear_dirty_parent(); - auth_unpin(this); if (fin) fin->complete(0); + mdcache->maybe_eval_stray(this); } void CInode::_mark_dirty_parent(LogSegment *ls, bool dirty_pool) |