Feature #15942
MDS: use FULL_TRY Objecter flag instead of relying on an exemption from full checking
Status:
New
Priority:
Normal
Assignee:
-
Category:
Introspection/Control
Target version:
-
% Done:
0%
Source:
Development
Tags:
Backport:
Reviewed:
Affected Versions:
Component(FS):
Labels (FS):
Pull request ID:
Description
Right now, we disable full checking in the Objecter. But there are new(?) flags we can use instead to indicate that specific operations should be exempted.
Figure out the exact semantics, do so for delete operations when necessary, and if appropriate collapse the existing full handling down to rely on the Objecter's stuff instead.
History
#1 Updated by John Spray almost 8 years ago
Hmm, will need to think about whether MDS should still ignore check_failsafe_full, as FULL_FORCE is currently a little bit less powerful than the is_mds() behaviour:
1680 if (!(m->get_source().is_mds() || m->has_flag(CEPH_OSD_FLAG_FULL_FORCE)) && 1681 info.history.last_epoch_marked_full > m->get_map_epoch()) { 1682 dout(10) << __func__ << " discarding op sent before full " << m << " " 1683 << *m << dendl; 1684 return; 1685 } 1686 if (!m->get_source().is_mds() && osd->check_failsafe_full()) { 1687 dout(10) << __func__ << " fail-safe full check failed, dropping request" 1688 << dendl; 1689 return; 1690 }
#2 Updated by Greg Farnum almost 8 years ago
- Category changed from 47 to Introspection/Control