From d05dfe81a74ee27514884d55de498082fbd6bcca Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Wed, 1 Oct 2008 15:17:27 -0700 Subject: [PATCH] kclient: mds reset stub Get rid of compile warning. Add todo. --- src/TODO | 1 + src/kernel/mds_client.c | 4 ++++ src/kernel/mds_client.h | 1 + src/kernel/super.c | 6 +++++- 4 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/TODO b/src/TODO index 05cfbde09cb1d..1ad622341b783 100644 --- a/src/TODO +++ b/src/TODO @@ -53,6 +53,7 @@ kernel client - a dir for each client instance (client###)? - hooks to get mds, osd, monmap epoch #s - fix readdir vs fragment race by keeping a separate frag pos, and ignoring dentries below it +- reconnect after being disconnected from the mds vfs issues - real_lookup() race: diff --git a/src/kernel/mds_client.c b/src/kernel/mds_client.c index 53d054a06690b..041a6059d2bfb 100644 --- a/src/kernel/mds_client.c +++ b/src/kernel/mds_client.c @@ -941,6 +941,10 @@ bad: return; } +void ceph_mdsc_handle_reset(struct ceph_mds_client *mdsc, int mds) +{ + derr(1, "mds%d gave us the boot. IMPLEMENT RECONNECT.\n"); +} /* exported functions */ diff --git a/src/kernel/mds_client.h b/src/kernel/mds_client.h index 0cdab3b13abbc..84b02b241e0c4 100644 --- a/src/kernel/mds_client.h +++ b/src/kernel/mds_client.h @@ -187,4 +187,5 @@ extern void ceph_mdsc_put_request(struct ceph_mds_request *req); extern void ceph_mdsc_pre_umount(struct ceph_mds_client *mdsc); +extern void ceph_mdsc_handle_reset(struct ceph_mds_client *mdsc, int mds); #endif diff --git a/src/kernel/super.c b/src/kernel/super.c index 277c63415ad0f..f91a49e01fd76 100644 --- a/src/kernel/super.c +++ b/src/kernel/super.c @@ -344,7 +344,11 @@ void ceph_peer_reset(void *p, struct ceph_entity_name *peer_name) dout(30, "ceph_peer_reset peer_name = %s%d\n", ENTITY_NAME(*peer_name)); - /* write me */ + /* we only care about mds disconnects */ + if (le32_to_cpu(peer_name->type) != CEPH_ENTITY_TYPE_MDS) + return; + + ceph_mdsc_handle_reset(&client->mdsc, le32_to_cpu(peer_name->num)); } -- 2.39.5