Logo Search packages:      
Sourcecode: ceph version File versions  Download package

PG Class Reference

#include <PG.h>

Inherited by RAID4PG, and ReplicatedPG.

List of all members.

Detailed Description

PG - Replica Placement Group

Definition at line 80 of file PG.h.

Public Member Functions

virtual void _clear_recovery_state ()=0
void _finish_recovery (Context *c)
virtual int _scrub (ScrubMap &map, int &errors, int &fixed)
void activate (ObjectStore::Transaction &t, list< Context * > &tfin, map< int, MOSDPGInfo * > *activator_map=0)
void add_log_entry (Log::Entry &e, bufferlist &log_bl)
void append_log (ObjectStore::Transaction &t, bufferlist &bl, eversion_t log_version)
void assemble_backlog (map< eversion_t, Log::Entry > &omap)
bool build_backlog_map (map< eversion_t, Log::Entry > &omap)
void build_prior ()
void build_scrub_map (ScrubMap &map)
bool calc_min_last_complete_ondisk ()
virtual void calc_trim_to ()=0
void cancel_recovery ()
void check_for_lost_objects ()
bool check_log_for_corruption (ObjectStore *store)
bool choose_acting (int newest_update_osd)
virtual void clean_up_local (ObjectStore::Transaction &t)=0
void clear_primary_state ()
void clear_prior ()
void clear_recovery_state ()
void defer_recovery ()
virtual void do_op (MOSDOp *op)=0
virtual void do_sub_op (MOSDSubOp *op)=0
virtual void do_sub_op_reply (MOSDSubOpReply *op)=0
void drop_backlog ()
void finish_recovery (ObjectStore::Transaction &t, list< Context * > &tfin)
void finish_recovery_op (const sobject_t &soid, bool dequeue=false)
void generate_past_intervals ()
void get ()
loff_t get_log_write_pos ()
int get_nrep () const
pg_t get_pgid () const
int get_primary ()
int get_role () const
int get_state () const
bool is_acting (int osd) const
bool is_active () const
bool is_all_uptodate () const
bool is_clean () const
bool is_complete () const
bool is_crashed () const
bool is_degraded () const
virtual bool is_degraded_object (const sobject_t &oid)=0
bool is_down () const
bool is_empty () const
virtual bool is_missing_object (const sobject_t &oid)=0
bool is_peering () const
bool is_primary () const
bool is_prior (int osd) const
bool is_replay () const
bool is_replica () const
bool is_scrubbing () const
bool is_stray () const
bool is_stray (int osd) const
bool is_up (int osd) const
virtual bool is_write_in_progress ()=0
void kick ()
void lock (bool no_lockdep=false)
coll_t make_snap_collection (ObjectStore::Transaction &t, snapid_t sn)
void merge_log (ObjectStore::Transaction &t, Info &oinfo, Log &olog, Missing &omissing, int from)
bool merge_old_entry (ObjectStore::Transaction &t, Log::Entry &oe)
virtual void on_change ()=0
virtual void on_osd_failure (int osd)=0
virtual void on_role_change ()=0
virtual void on_shutdown ()=0
void peer (ObjectStore::Transaction &t, list< Context * > &tfin, map< int, map< pg_t, Query > > &query_map, map< int, MOSDPGInfo * > *activator_map=0)
 PG (OSD *o, PGPool *_pool, pg_t p, const sobject_t &oid)
virtual bool preprocess_op (MOSDOp *op, utime_t now)
bool prior_set_affected (OSDMap *map)
void proc_replica_log (ObjectStore::Transaction &t, Info &oinfo, Log &olog, Missing &omissing, int from)
void purge_strays ()
void put ()
void queue_snap_trim ()
void read_log (ObjectStore *store)
void read_state (ObjectStore *store)
bool recover_master_log (map< int, map< pg_t, Query > > &query_map)
void repair_object (ScrubMap::object *po, int bad_peer, int ok_peer)
virtual bool same_for_modify_since (epoch_t e)=0
virtual bool same_for_read_since (epoch_t e)=0
virtual bool same_for_rep_modify_since (epoch_t e)=0
void scrub ()
void search_for_missing (Log &olog, Missing &omissing, int fromosd)
void set_role (int r)
virtual bool snap_trimmer ()=0
void start_recovery_op (const sobject_t &soid)
virtual int start_recovery_ops (int max)=0
void state_clear (int m)
void state_set (int m)
bool state_test (int m) const
void sub_op_scrub (class MOSDSubOp *op)
void sub_op_scrub_reply (class MOSDSubOpReply *op)
void trim (ObjectStore::Transaction &t, eversion_t v)
void trim_ondisklog_to (ObjectStore::Transaction &t, eversion_t v)
void trim_past_intervals ()
void trim_peers ()
void trim_write_ahead ()
void unlock ()
void wait ()
virtual void wait_for_degraded_object (const sobject_t &oid, Message *op)=0
virtual void wait_for_missing_object (const sobject_t &oid, Message *op)=0
void write_info (ObjectStore::Transaction &t)
void write_log (ObjectStore::Transaction &t)

Public Attributes

vector< int > acting
xlist< PG * >::item backlog_item
bool deleting
bool dirty_info
bool dirty_log
Context * finish_sync_event
epoch_t generate_backlog_epoch
bool have_master_log
Info info
eversion_t last_complete_ondisk
eversion_t last_update_ondisk
IndexedLog log
sobject_t log_oid
eversion_t min_last_complete_ondisk
Missing missing
map< sobject_t, set< int > > missing_loc
OndiskLog ondisklog
list< Message * > op_queue
map< epoch_t, Interval > past_intervals
map< int, eversion_t > peer_last_complete_ondisk
map< int, ScrubMap > peer_scrub_map
eversion_t pg_trim_to
set< sobject_t > recovering_oids
xlist< PG * >::item recovery_item
int recovery_ops_active
xlist< PG * >::item remove_item
utime_t replay_until
xlist< PG * >::item scrub_item
set< snapid_t > snap_collections
xlist< PG * >::item snap_trim_item
interval_set< snapid_t > snap_trimq
xlist< PG * >::item stat_queue_item
vector< int > up

Protected Member Functions

bool block_if_wrlocked (MOSDOp *op, object_info_t &oi)
void clear_stats ()
void take_object_waiters (hash_map< sobject_t, list< Message * > > &m)
void update_stats ()

Protected Attributes

Cond _cond
Mutex _lock
bool need_up_thru
eversion_t oldest_update
OSD * osd
ObjectStore::Sequencer osr
map< int, Info > peer_info
set< int > peer_info_requested
set< int > peer_log_requested
map< int, Missing > peer_missing
set< int > peer_summary_requested
Mutex pg_stats_lock
pg_stat_t pg_stats_stable
bool pg_stats_valid
PGPool * pool
set< int > prior_set
set< int > prior_set_down
map< int, epoch_t > prior_set_up_thru
atomic_t ref
map< eversion_t, class MOSDOp * > replay_queue
int role
hash_map< sobject_t, DecayCounter > stat_object_temp_rd
int state
set< int > stray_purged
set< int > stray_set
set< int > uptodate_set
list< class Message * > waiting_for_active
hash_map< sobject_t, list
< class Message * > > 
hash_map< sobject_t, list
< class Message * > > 
map< eversion_t, list< Message * > > waiting_for_ondisk
hash_map< sobject_t, list
< Message * > > 


class C_OSD_RepModify_Commit
class OSD


struct  IndexedLog
struct  Info
struct  Interval
struct  Log
struct  Missing
class  OndiskLog
struct  Query

The documentation for this class was generated from the following files:

Generated by  Doxygen 1.6.0   Back to index