diff options
| author | Yan, Zheng <zyan@redhat.com> | 2019-07-25 08:16:39 -0400 |
|---|---|---|
| committer | Ilya Dryomov <idryomov@gmail.com> | 2019-09-16 06:06:23 -0400 |
| commit | 120a75ea9f4ba02f852171e75d44f29139b9c83e (patch) | |
| tree | 6944f51971e6adea422725866c0e81e5249ebc18 /include/linux | |
| parent | e09580b343aa117fd07c1bb7f7dfc5bc630a2953 (diff) | |
libceph: add function that reset client's entity addr
This function also re-open connections to OSD/MON, and re-send in-flight
OSD requests after re-opening connections to OSD.
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/ceph/libceph.h | 1 | ||||
| -rw-r--r-- | include/linux/ceph/messenger.h | 1 | ||||
| -rw-r--r-- | include/linux/ceph/mon_client.h | 1 | ||||
| -rw-r--r-- | include/linux/ceph/osd_client.h | 1 |
4 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/ceph/libceph.h b/include/linux/ceph/libceph.h index 82156da3c650..b9dbda1c26aa 100644 --- a/include/linux/ceph/libceph.h +++ b/include/linux/ceph/libceph.h | |||
| @@ -293,6 +293,7 @@ struct ceph_client *ceph_create_client(struct ceph_options *opt, void *private); | |||
| 293 | struct ceph_entity_addr *ceph_client_addr(struct ceph_client *client); | 293 | struct ceph_entity_addr *ceph_client_addr(struct ceph_client *client); |
| 294 | u64 ceph_client_gid(struct ceph_client *client); | 294 | u64 ceph_client_gid(struct ceph_client *client); |
| 295 | extern void ceph_destroy_client(struct ceph_client *client); | 295 | extern void ceph_destroy_client(struct ceph_client *client); |
| 296 | extern void ceph_reset_client_addr(struct ceph_client *client); | ||
| 296 | extern int __ceph_open_session(struct ceph_client *client, | 297 | extern int __ceph_open_session(struct ceph_client *client, |
| 297 | unsigned long started); | 298 | unsigned long started); |
| 298 | extern int ceph_open_session(struct ceph_client *client); | 299 | extern int ceph_open_session(struct ceph_client *client); |
diff --git a/include/linux/ceph/messenger.h b/include/linux/ceph/messenger.h index 23895d178149..c4458dc6a757 100644 --- a/include/linux/ceph/messenger.h +++ b/include/linux/ceph/messenger.h | |||
| @@ -337,6 +337,7 @@ extern void ceph_msgr_flush(void); | |||
| 337 | extern void ceph_messenger_init(struct ceph_messenger *msgr, | 337 | extern void ceph_messenger_init(struct ceph_messenger *msgr, |
| 338 | struct ceph_entity_addr *myaddr); | 338 | struct ceph_entity_addr *myaddr); |
| 339 | extern void ceph_messenger_fini(struct ceph_messenger *msgr); | 339 | extern void ceph_messenger_fini(struct ceph_messenger *msgr); |
| 340 | extern void ceph_messenger_reset_nonce(struct ceph_messenger *msgr); | ||
| 340 | 341 | ||
| 341 | extern void ceph_con_init(struct ceph_connection *con, void *private, | 342 | extern void ceph_con_init(struct ceph_connection *con, void *private, |
| 342 | const struct ceph_connection_operations *ops, | 343 | const struct ceph_connection_operations *ops, |
diff --git a/include/linux/ceph/mon_client.h b/include/linux/ceph/mon_client.h index b4d134d3312a..dbb8a6959a73 100644 --- a/include/linux/ceph/mon_client.h +++ b/include/linux/ceph/mon_client.h | |||
| @@ -109,6 +109,7 @@ extern int ceph_monmap_contains(struct ceph_monmap *m, | |||
| 109 | 109 | ||
| 110 | extern int ceph_monc_init(struct ceph_mon_client *monc, struct ceph_client *cl); | 110 | extern int ceph_monc_init(struct ceph_mon_client *monc, struct ceph_client *cl); |
| 111 | extern void ceph_monc_stop(struct ceph_mon_client *monc); | 111 | extern void ceph_monc_stop(struct ceph_mon_client *monc); |
| 112 | extern void ceph_monc_reopen_session(struct ceph_mon_client *monc); | ||
| 112 | 113 | ||
| 113 | enum { | 114 | enum { |
| 114 | CEPH_SUB_MONMAP = 0, | 115 | CEPH_SUB_MONMAP = 0, |
diff --git a/include/linux/ceph/osd_client.h b/include/linux/ceph/osd_client.h index ad7fe5d10dcd..d1c3e829f30d 100644 --- a/include/linux/ceph/osd_client.h +++ b/include/linux/ceph/osd_client.h | |||
| @@ -381,6 +381,7 @@ extern void ceph_osdc_cleanup(void); | |||
| 381 | extern int ceph_osdc_init(struct ceph_osd_client *osdc, | 381 | extern int ceph_osdc_init(struct ceph_osd_client *osdc, |
| 382 | struct ceph_client *client); | 382 | struct ceph_client *client); |
| 383 | extern void ceph_osdc_stop(struct ceph_osd_client *osdc); | 383 | extern void ceph_osdc_stop(struct ceph_osd_client *osdc); |
| 384 | extern void ceph_osdc_reopen_osds(struct ceph_osd_client *osdc); | ||
| 384 | 385 | ||
| 385 | extern void ceph_osdc_handle_reply(struct ceph_osd_client *osdc, | 386 | extern void ceph_osdc_handle_reply(struct ceph_osd_client *osdc, |
| 386 | struct ceph_msg *msg); | 387 | struct ceph_msg *msg); |
