Project

General

Profile

Feature #15942

MDS: use FULL_TRY Objecter flag instead of relying on an exemption from full checking

Added by Greg Farnum over 3 years ago. Updated about 3 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
Introspection/Control
Target version:
-
Start date:
05/19/2016
Due date:
% 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 over 3 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 about 3 years ago

  • Category changed from 47 to Introspection/Control

Also available in: Atom PDF