⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rpc.h

📁 lustre 1.6.5 source code
💻 H
字号:
/* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*- * vim:expandtab:shiftwidth=8:tabstop=8: */#ifndef __SELFTEST_RPC_H__#define __SELFTEST_RPC_H__#include <lnet/lnetst.h>/* * LST wired structures *  * XXX: *REPLY == *REQST + 1 */typedef enum {        SRPC_MSG_MKSN_REQST     = 0,        SRPC_MSG_MKSN_REPLY     = 1,        SRPC_MSG_RMSN_REQST     = 2,        SRPC_MSG_RMSN_REPLY     = 3,        SRPC_MSG_BATCH_REQST    = 4,        SRPC_MSG_BATCH_REPLY    = 5,        SRPC_MSG_STAT_REQST     = 6,        SRPC_MSG_STAT_REPLY     = 7,        SRPC_MSG_TEST_REQST     = 8,        SRPC_MSG_TEST_REPLY     = 9,        SRPC_MSG_DEBUG_REQST    = 10,        SRPC_MSG_DEBUG_REPLY    = 11,        SRPC_MSG_BRW_REQST      = 12,        SRPC_MSG_BRW_REPLY      = 13,        SRPC_MSG_PING_REQST     = 14,        SRPC_MSG_PING_REPLY     = 15,        SRPC_MSG_JOIN_REQST     = 16,        SRPC_MSG_JOIN_REPLY     = 17,} srpc_msg_type_t;/* CAVEAT EMPTOR: * All srpc_*_reqst_t's 1st field must be matchbits of reply buffer, * and 2nd field matchbits of bulk buffer if any. * * All srpc_*_reply_t's 1st field must be a __u32 status, and 2nd field * session id if needed. */typedef struct {        __u64 			rpyid;  	/* reply buffer matchbits */        __u64 			bulkid; 	/* bulk buffer matchbits */} WIRE_ATTR srpc_generic_reqst_t;typedef struct {        __u32                   status;        lst_sid_t               sid;} WIRE_ATTR srpc_generic_reply_t;/* FRAMEWORK RPCs */typedef struct {        __u64 			mksn_rpyid;      /* reply buffer matchbits */        lst_sid_t               mksn_sid;        /* session id */        __u32 			mksn_force;      /* use brute force */        char  			mksn_name[LST_NAME_SIZE];} WIRE_ATTR srpc_mksn_reqst_t; 			/* make session request */typedef struct {        __u32                   mksn_status;      /* session status */        lst_sid_t               mksn_sid;         /* session id */        __u32                   mksn_timeout;     /* session timeout */        char  			mksn_name[LST_NAME_SIZE];} WIRE_ATTR srpc_mksn_reply_t; /* make session reply */typedef struct {        __u64			rmsn_rpyid;      /* reply buffer matchbits */        lst_sid_t		rmsn_sid;        /* session id */} WIRE_ATTR srpc_rmsn_reqst_t; /* remove session request */typedef struct {        __u32			rmsn_status;        lst_sid_t		rmsn_sid;        /* session id */} WIRE_ATTR srpc_rmsn_reply_t; /* remove session reply */typedef struct {        __u64			join_rpyid;     /* reply buffer matchbits */        lst_sid_t               join_sid;       /* session id to join */        char                    join_group[LST_NAME_SIZE]; /* group name */} WIRE_ATTR srpc_join_reqst_t;typedef struct {        __u32                   join_status;    /* returned status */        lst_sid_t               join_sid;       /* session id */        __u32 			join_timeout;   /* # seconds' inactivity to expire */        char                    join_session[LST_NAME_SIZE]; /* session name */} WIRE_ATTR srpc_join_reply_t;typedef struct {        __u64                   dbg_rpyid;      /* reply buffer matchbits */         lst_sid_t               dbg_sid;        /* session id */        __u32                   dbg_flags;      /* bitmap of debug */} WIRE_ATTR srpc_debug_reqst_t;typedef struct {        __u32                   dbg_status;     /* returned code */        lst_sid_t               dbg_sid;        /* session id */        __u32                   dbg_timeout;    /* session timeout */        __u32                   dbg_nbatch;     /* # of batches in the node */        char                    dbg_name[LST_NAME_SIZE]; /* session name */} WIRE_ATTR srpc_debug_reply_t;#define SRPC_BATCH_OPC_RUN      1#define SRPC_BATCH_OPC_STOP     2#define SRPC_BATCH_OPC_QUERY    3typedef struct {        __u64                   bar_rpyid;      /* reply buffer matchbits */         lst_sid_t               bar_sid;        /* session id */        lst_bid_t               bar_bid;        /* batch id */        __u32                   bar_opc;        /* create/start/stop batch */        __u32                   bar_testidx;    /* index of test */        __u32                   bar_arg;        /* parameters */} WIRE_ATTR srpc_batch_reqst_t;typedef struct {        __u32                   bar_status;     /* status of request */        lst_sid_t               bar_sid;        /* session id */        __u32                   bar_active;     /* # of active tests in batch/test */        __u32                   bar_time;       /* remained time */} WIRE_ATTR srpc_batch_reply_t;typedef struct {        __u64                   str_rpyid;      /* reply buffer matchbits */        lst_sid_t               str_sid;        /* session id */        __u32                   str_type;       /* type of stat */} WIRE_ATTR srpc_stat_reqst_t;typedef struct {        __u32                   str_status;        lst_sid_t               str_sid;        sfw_counters_t          str_fw;        srpc_counters_t         str_rpc;        lnet_counters_t         str_lnet;} WIRE_ATTR srpc_stat_reply_t;typedef struct {        __u32                   blk_opc;        /* bulk operation code */        __u32                   blk_npg;        /* # of pages */        __u32                   blk_flags;      /* reserved flags */} WIRE_ATTR test_bulk_req_t;typedef struct {        __u32                   png_size;       /* size of ping message */        __u32                   png_flags;      /* reserved flags */} WIRE_ATTR test_ping_req_t;typedef struct {        __u64                   tsr_rpyid;      /* reply buffer matchbits */        __u64 			tsr_bulkid; 	/* bulk buffer matchbits */        lst_sid_t               tsr_sid;        /* session id */        lst_bid_t               tsr_bid;        /* batch id */        __u32                   tsr_service;    /* test type: bulk|ping|... */        /* test client loop count or # server buffers needed */        __u32                   tsr_loop;               __u32                   tsr_concur;     /* concurrency of test */        __u8                    tsr_is_client;  /* is test client or not */        __u8                    tsr_stop_onerr; /* stop on error */        __u32                   tsr_ndest;      /* # of dest nodes */	union {		test_bulk_req_t bulk;		test_ping_req_t ping;	} 			tsr_u;} WIRE_ATTR srpc_test_reqst_t;typedef struct {        __u32                   tsr_status;     /* returned code */        lst_sid_t               tsr_sid;        } WIRE_ATTR srpc_test_reply_t;/* TEST RPCs */typedef struct {        __u64                   pnr_rpyid;        __u32                   pnr_magic;        __u32                   pnr_seq;        __u64                   pnr_time_sec;        __u64                   pnr_time_usec;} WIRE_ATTR srpc_ping_reqst_t;typedef struct {        __u32                   pnr_status;        __u32                   pnr_magic;        __u32                   pnr_seq;} WIRE_ATTR srpc_ping_reply_t;typedef struct {        __u64                   brw_rpyid;      /* reply buffer matchbits */        __u64                   brw_bulkid;     /* bulk buffer matchbits */        __u32                   brw_rw;         /* read or write */        __u32                   brw_len;        /* bulk data len */        __u32                   brw_flags;      /* bulk data patterns */} WIRE_ATTR srpc_brw_reqst_t; /* bulk r/w request */typedef struct {        __u32                   brw_status;} WIRE_ATTR srpc_brw_reply_t; /* bulk r/w reply */#define SRPC_MSG_MAGIC                  0xeeb0f00d#define SRPC_MSG_VERSION                1typedef struct {	__u32 	msg_magic;              /* magic */	__u32 	msg_version;            /* # version */        __u32 	msg_type;               /* what's in msg_body? srpc_msg_type_t */        __u32   msg_reserved0;          /* reserved seats */        __u32   msg_reserved1;        __u32   msg_reserved2;        union {                srpc_generic_reqst_t reqst;                srpc_generic_reply_t reply;                srpc_mksn_reqst_t    mksn_reqst;                srpc_mksn_reply_t    mksn_reply;                srpc_rmsn_reqst_t    rmsn_reqst;                srpc_rmsn_reply_t    rmsn_reply;                srpc_debug_reqst_t   dbg_reqst;                srpc_debug_reply_t   dbg_reply;                srpc_batch_reqst_t   bat_reqst;                srpc_batch_reply_t   bat_reply;                srpc_stat_reqst_t    stat_reqst;                srpc_stat_reply_t    stat_reply;                srpc_test_reqst_t    tes_reqst;                srpc_test_reply_t    tes_reply;                srpc_join_reqst_t    join_reqst;                srpc_join_reply_t    join_reply;                srpc_ping_reqst_t    ping_reqst;                srpc_ping_reply_t    ping_reply;                srpc_brw_reqst_t     brw_reqst;                srpc_brw_reply_t     brw_reply;        }     msg_body;} WIRE_ATTR srpc_msg_t;#endif /* __SELFTEST_RPC_H__ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -