From 0c3664b6a6f4d55c12ad0990efbe42fcb1fd8263 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Fri, 14 Nov 2008 15:25:46 -0800 Subject: [PATCH] mds: fix placement of eval_stray call on caps release --- src/mds/Locker.cc | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/mds/Locker.cc b/src/mds/Locker.cc index 6ca17334b464d..75938f83f24dc 100644 --- a/src/mds/Locker.cc +++ b/src/mds/Locker.cc @@ -1109,6 +1109,14 @@ void Locker::_finish_release_cap(CInode *in, int client, capseq_t seq) in->remove_client_cap(client); if (!in->is_auth()) request_inode_file_caps(in); + + // unlinked stray? may need to purge (e.g., after all caps are released) + if (in->inode.nlink == 0 && + !in->is_any_caps() && + in->is_auth() && + in->get_parent_dn() && + in->get_parent_dn()->get_dir()->get_inode()->is_stray()) + mdcache->eval_stray(in->get_parent_dn()); } void Locker::_do_cap_update(CInode *in, int had, int all_wanted, snapid_t follows, MClientCaps *m, @@ -1233,14 +1241,6 @@ void Locker::_do_cap_update(CInode *in, int had, int all_wanted, snapid_t follow file_eval_gather(&in->filelock); else if (in->is_auth()) file_eval(&in->filelock); - - // unlinked stray? may need to purge (e.g., after all caps are released) - if (in->inode.nlink == 0 && - !in->is_any_caps() && - in->is_auth() && - in->get_parent_dn() && - in->get_parent_dn()->get_dir()->get_inode()->is_stray()) - mdcache->eval_stray(in->get_parent_dn()); } -- 2.39.5