X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;ds=sidebyside;f=lustre%2Finclude%2Flinux%2Flustre_ha.h;h=6598be05ebc884cb9f7c775d2fbde537db3d65bb;hb=29c6c9f2ebaa73da00cb0786e4579c2cecca068a;hp=652a64c54ef17738619900dca5867b7c49290569;hpb=9c856b9cd52de9edb028917044f5126bf1a2fabb;p=fs%2Flustre-release.git diff --git a/lustre/include/linux/lustre_ha.h b/lustre/include/linux/lustre_ha.h index 652a64c..6598be0 100644 --- a/lustre/include/linux/lustre_ha.h +++ b/lustre/include/linux/lustre_ha.h @@ -1,35 +1,37 @@ +/* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*- + * vim:expandtab:shiftwidth=8:tabstop=8: + */ + #ifndef _LUSTRE_HA_H #define _LUSTRE_HA_H -#define MGR_STOPPING 1 -#define MGR_RUNNING 2 -#define MGR_STOPPED 4 -#define MGR_KILLED 8 -#define MGR_EVENT 16 -#define MGR_WORKING 32 -#define MGR_SIGNAL 64 - -struct lustre_ha_mgr { - __u32 mgr_flags; - struct task_struct *mgr_thread; - wait_queue_head_t mgr_waitq; - wait_queue_head_t mgr_ctl_waitq; - spinlock_t mgr_lock; - time_t mgr_waketime; - struct list_head mgr_connections_lh; /* connections managed by the mgr */ - struct list_head mgr_troubled_lh; /* connections in trouble */ -}; +#include + +#define LUSTRE_HA_NAME "ptlrpc" + +#define CONNMGR_CONNECT 1 -struct lustre_ha_thread { - char *name; - struct lustre_ha_mgr *mgr; - struct obd_device *dev; -}; +extern struct recovd_obd *ptlrpc_connmgr; -int llite_ha_cleanup(struct lustre_ha_mgr *mgr); -struct lustre_ha_mgr *llite_ha_setup(void); -void llite_ha_conn_fail(struct ptlrpc_client *cli); -void llite_ha_conn_manage(struct lustre_ha_mgr *mgr, struct ptlrpc_client *cli); +struct connmgr_thread { + struct recovd_obd *mgr; + char *name; +}; + +struct connmgr_body { + __u64 conn; + __u64 conn_token; + __u32 generation; + __u8 conn_uuid[37]; +}; +int connmgr_connect(struct recovd_obd *mgr, struct ptlrpc_connection *conn); +int connmgr_handle(struct obd_device *dev, struct ptlrpc_service *svc, + struct ptlrpc_request *req); +void recovd_cli_fail(struct ptlrpc_client *cli); +void recovd_cli_manage(struct recovd_obd *mgr, struct ptlrpc_client *cli); +void recovd_cli_fixed(struct ptlrpc_client *cli); +int recovd_setup(struct recovd_obd *mgr); +int recovd_cleanup(struct recovd_obd *mgr); #endif