From 9fd8f212bc1f6031b9ad7eaaf014d39916881947 Mon Sep 17 00:00:00 2001 From: Vijay Bellur Date: Tue, 15 Sep 2009 04:47:50 +0000 Subject: Dumop inodectx added Added dumpop inodectx. Support for dumop inodectx added in dht, locks and client-protocol. Signed-off-by: Anand V. Avati BUG: 213 (Support for process state dump) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=213 --- xlators/cluster/dht/src/dht.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'xlators/cluster') diff --git a/xlators/cluster/dht/src/dht.c b/xlators/cluster/dht/src/dht.c index 24782471e1d..46f3b87000c 100644 --- a/xlators/cluster/dht/src/dht.c +++ b/xlators/cluster/dht/src/dht.c @@ -166,6 +166,34 @@ dht_priv_dump (xlator_t *this) return 0; } +int32_t +dht_inodectx_dump (xlator_t *this, inode_t *inode) +{ + int ret = -1; + char key_prefix[GF_DUMP_MAX_BUF_LEN]; + dht_layout_t *layout = NULL; + uint64_t tmp_layout = 0; + + if (!inode) + return -1; + + ret = inode_ctx_get (inode, this, &tmp_layout); + + if (ret != 0) + return ret; + + layout = (dht_layout_t *)(long)tmp_layout; + + if (!layout) + return -1; + + gf_proc_dump_build_key(key_prefix, "xlator.cluster.dht", + "%s.inode.%ld", this->name, inode->ino); + dht_layout_dump(layout, key_prefix); + + return 0; +} + int notify (xlator_t *this, int event, void *data, ...) { @@ -373,6 +401,7 @@ struct xlator_mops mops = { struct xlator_dumpops dumpops = { .priv = dht_priv_dump, + .inodectx = dht_inodectx_dump, }; -- cgit