mds: delay check_inode_max_size if frozen

This commit is contained in:
Sage Weil 2010-03-29 15:52:51 -07:00
parent e6cd1c219f
commit 65d3f3fd83

View File

@ -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()) {