2021-05-07

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,
};
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 炎症的管理干预(上) 一、避免诱发因素暴露 1、避免包括紫外线、电离辐射 2、外源微生物产品(即吸入真菌毒素和生物...
    2eaa0f8b4016阅读 1,837评论 0 0
  • 工作! 无,今天没课,约等于放假延长 学习! 今天去了驾校,感觉就比之前熟练点,好难呀,不知道啥时候可以过科二,这...
    渊临寒心阅读 631评论 0 1
  • 坚持分享第1168天 20210506 今天上课感觉浪费了很多时间,两章的内容,很多,时间短,没有讲清楚。感觉讲不...
    和颜悦色2018阅读 548评论 0 0
  • 2021.5.7今天很开心轻松进账6300特别感激兰水军,对我的帮助和支持! 今天我开始了团队每周一次的视频号直播...
    333a51993c2c阅读 1,171评论 0 0
  • 今天感恩节哎,感谢一直在我身边的亲朋好友。感恩相遇!感恩不离不弃。 中午开了第一次的党会,身份的转变要...
    余生动听阅读 13,613评论 0 11

友情链接更多精彩内容