X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Finclude%2Flinux%2Flustre_net.h;h=c211ec1e891edad31df44ba45188a0c65523494b;hp=238468571da387fb3d169112d94f3d77ebeba18b;hb=726c9cf39547151a7cf85118c8a23b9ecf8220f5;hpb=867f92a22c4dae8b8c5d26b6c94150691d22e4a6 diff --git a/lustre/include/linux/lustre_net.h b/lustre/include/linux/lustre_net.h index 2384685..c211ec1 100644 --- a/lustre/include/linux/lustre_net.h +++ b/lustre/include/linux/lustre_net.h @@ -67,11 +67,16 @@ struct ptlrpc_client { struct lustre_peer cli_server; struct obd_device *cli_obd; + struct list_head cli_sending_head; + struct list_head cli_sent_head; __u32 cli_request_portal; __u32 cli_reply_portal; spinlock_t cli_lock; __u32 cli_xid; + __u32 cli_generation; /* changes upon new connection */ + __u32 cli_epoch; /* changes when peer changes */ + __u32 cli_bootcount; /* peer's boot count */ struct semaphore cli_rpc_sem; }; @@ -122,6 +127,7 @@ struct ptlrpc_request { __u32 rq_req_portal; struct lustre_peer rq_peer; + struct ptlrpc_client *rq_client; }; struct ptlrpc_bulk_desc { @@ -194,8 +200,9 @@ int ptl_send_rpc(struct ptlrpc_request *request, struct ptlrpc_client *cl); void ptlrpc_link_svc_me(struct ptlrpc_service *service, int i); /* rpc/client.c */ -int ptlrpc_connect_client(int dev, char *uuid, int req_portal, int rep_portal, - struct ptlrpc_client *cl); +void ptlrpc_init_client(int dev, int req_portal, int rep_portal, + struct ptlrpc_client *cl); +int ptlrpc_connect_client(int dev, char *uuid, struct ptlrpc_client *cl); int ptlrpc_queue_wait(struct ptlrpc_client *cl, struct ptlrpc_request *req); int ptlrpc_queue_req(struct ptlrpc_client *peer, struct ptlrpc_request *req); struct ptlrpc_request *ptlrpc_prep_req(struct ptlrpc_client *cl, int opcode,