server_start_targets
lustre_start_simple
do_lcfg //for LCFG_ATTACH
class_attach
do_lcfg //for LCFG_SETUP
class_setup
class_attach
class_newdev
class_setup
obd_setup
lov_setup
obd_llog_init
lov_llog_init
llog_setup //LLOG_MDS_OST_ORIG_CTXT, lov_mds_ost_orig_logops
lov_llog_origin_connect
llog_connect
llog_origin_connect //send LLOG_ORIGIN_CONNECT RPC
=> llog_handle_connect
llog_setup //LLOG_SIZE_REPL_CTXT, lov_size_repl_logops
//循环调用
obd_llog_init
osc_llog_init
llog_setup //LLOG_MDS_OST_ORIG_CTXT, osc_mds_ost_orig_logops
llog_obd_origin_setup
llog_create
llog_process
llog_setup //LLOG_SIZE_REPL_CTXT, osc_size_repl_logops
mds_finish_transno
lustre_msg_get_transno
fsfilt_add_journal_cb
fsfilt_write_record
mds_lov_write_objids
fsfilt_commit
mdc_unlink
mdc_reint
## XID
oti->oti_xid = req->rq_xid;
ptlrpc_prep_req_pool
request->rq_xid = ptlrpc_next_xid();
## transaction
oti_init
target_send_reply
## replay
struct obd_import
struct list_head imp_replay_list;
struct list_head imp_sending_list;
struct list_head imp_delayed_list;
ptlrpc_queue_wait
after_reply
lustre_msg_set_transno
ptlrpc_retain_replayable_request
lustre_msg_get_last_committed
ptlrpc_import_recovery_state_machine
ptlrpc_replay_next
ptlrpc_replay_req
## import req 状态机
enum lustre_imp_state {
LUSTRE_IMP_CLOSED = 1,
LUSTRE_IMP_NEW = 2,
LUSTRE_IMP_DISCON = 3,
LUSTRE_IMP_CONNECTING = 4,
LUSTRE_IMP_REPLAY = 5,
LUSTRE_IMP_REPLAY_LOCKS = 6,
LUSTRE_IMP_REPLAY_WAIT = 7,
LUSTRE_IMP_RECOVER = 8,
LUSTRE_IMP_FULL = 9,
LUSTRE_IMP_EVICTED = 10,
};
lop_add : 产生一个cookie
lov_llog_origin_add
mds_llog_origin_add
llog_obd_origin_add
llog_origin_connect
lov_llog_origin_connect
struct obd_trans_info {
__u64 oti_transno;
__u64 oti_xid;
__u64 *oti_objid;
/* Only used on the server side for tracking acks. */
struct oti_req_ack_lock {
struct lustre_handle lock;
__u32 mode;
} oti_ack_locks[4];
void *oti_handle;
struct llog_cookie oti_onecookie;
struct llog_cookie *oti_logcookies;
int oti_numcookies;
/* initial thread handling transaction */
int oti_thread_id;
__u32 oti_conn_cnt;
};
mds_obd_create
llog_lvfs_destroy
ll_unlink_generic
mdc_unlink
ll_objects_destroy
obd_destroy
lov_destroy
lov_prep_destroy_set
obd_destroy
osc_destroy
=> ost_destroy
obd_destroy
filter_destroy
mds_reint_unlink
fsfilt_start_log
vfs_unlink
mds_log_op_unlink
obd_unpackmd //lsm =>lmm
llog_get_context //LLOG_MDS_OST_ORIG_CTXT
llog_add
mds_llog_origin_add
llog_get_context
llog_add
lov_llog_origin_add
llog_get_context
llog_add
llog_obd_origin_add
llog_cat_add_rec
llog_cat_current_log
llog_write_rec
fsfilt_setattr
mds_finish_transno
obd_set_info_async
lov_set_info_async
obd_set_info_async
osc_set_info_async
=> ost_set_info
obd_set_info_async
filter_set_info_async
llog_get_context //LLOG_MDS_OST_REPL_CTXT
llog_receptor_accept
llog_setup
llog_obd_origin_setup
llog_create
llog_client_create
llog_setup //LLOG_MDS_OST_ORIG_CTXT, lov_mds_ost_orig_logops
llog_setup //LLOG_MDS_OST_REPL_CTXT, filter_mds_ost_repl_logops
llog_obd_origin_setup
llog_connect
llog_repl_connect
llog_recovery_generic => filter_recov_log_mds_ost_cb
=> log_process_thread
llog_cat_process => filter_recov_log_mds_ost_cb
llog_process => llog_cat_process_cb
llog_next_block
llog_cat_process_cb
llog_cat_id2handle
llog_process
llog_cancel_rec
llog_write_rec
llog_sync
CATLIST
llog_catalog_list
llog_cat_initialize
llog_catinfo_deletions
llog_cat_initialize
llog_get_cat_list
fsfilt_read_record
obd_llog_init
obd_llog_init
o_llog_init
llog_put_cat_list
fsfilt_write_record
mds_llog_init
obd_llog_init
mdc_setup
obd_llog_init
lov_llog_init
obd_llog_init
osc_llog_init
llog_setup
lctl lov_getconfig
jt_obd_lov_getconfig
OBD_IOC_LOV_GET_CONFIG
lctl llog_catlist
jt_llog_catlist //ioc_dev_list
OBD_IOC_CATLOGLIST
llog_catalog_list
llog_get_cat_list
jt_llog_info
OBD_IOC_LLOG_INFO
obd_destroy
lov_destroy
obd_destroy
osc_destroy
llog_write_rec
llog_lvfs_write_rec
llog_lvfs_write_blob
fsfilt_write_record
llog_obd_origin_add
llog_cat_add_rec
llog_cat_current_log
llog_cat_new_log
llog_create
lop_create
2021-05-10
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...