From 65d3f3fd830dadfd542f9a0eeb59ff405eacfadd Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Mon, 29 Mar 2010 15:52:51 -0700 Subject: [PATCH] mds: delay check_inode_max_size if frozen --- src/mds/Locker.cc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/mds/Locker.cc b/src/mds/Locker.cc index 35fa35025648b..d3f33762df39e 100644 --- a/src/mds/Locker.cc +++ b/src/mds/Locker.cc @@ -1501,6 +1501,11 @@ bool Locker::check_inode_max_size(CInode *in, bool force_wrlock, << " update_size " << update_size << " on " << *in << dendl; + if (in->is_frozen()) { + dout(10) << "check_inode_max_size frozen, waiting on " << *in << dendl; + in->add_waiter(CInode::WAIT_UNFREEZE, new C_MDL_CheckMaxSize(this, in)); + return false; + } if (!force_wrlock && !in->filelock.can_wrlock(in->get_loner())) { // lock? if (in->filelock.is_stable()) { -- 2.39.5