linux/fs/ocfs2/cluster/netdebug.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * netdebug.c
 *
 * debug functionality for o2net
 *
 * Copyright (C) 2005, 2008 Oracle.  All rights reserved.
 */

#ifdef CONFIG_DEBUG_FS

#include <linux/module.h>
#include <linux/types.h>
#include <linux/slab.h>
#include <linux/idr.h>
#include <linux/kref.h>
#include <linux/seq_file.h>
#include <linux/debugfs.h>

#include <linux/uaccess.h>

#include "tcp.h"
#include "nodemanager.h"
#define MLOG_MASK_PREFIX
#include "masklog.h"

#include "tcp_internal.h"

#define O2NET_DEBUG_DIR
#define SC_DEBUG_NAME
#define NST_DEBUG_NAME
#define STATS_DEBUG_NAME
#define NODES_DEBUG_NAME

#define SHOW_SOCK_CONTAINERS
#define SHOW_SOCK_STATS

static struct dentry *o2net_dentry;

static DEFINE_SPINLOCK(o2net_debug_lock);

static LIST_HEAD(sock_containers);
static LIST_HEAD(send_tracking);

void o2net_debug_add_nst(struct o2net_send_tracking *nst)
{}

void o2net_debug_del_nst(struct o2net_send_tracking *nst)
{}

static struct o2net_send_tracking
			*next_nst(struct o2net_send_tracking *nst_start)
{}

static void *nst_seq_start(struct seq_file *seq, loff_t *pos)
{}

static void *nst_seq_next(struct seq_file *seq, void *v, loff_t *pos)
{}

static int nst_seq_show(struct seq_file *seq, void *v)
{}

static void nst_seq_stop(struct seq_file *seq, void *v)
{}

static const struct seq_operations nst_seq_ops =;

static int nst_fop_open(struct inode *inode, struct file *file)
{}

static int nst_fop_release(struct inode *inode, struct file *file)
{}

static const struct file_operations nst_seq_fops =;

void o2net_debug_add_sc(struct o2net_sock_container *sc)
{}

void o2net_debug_del_sc(struct o2net_sock_container *sc)
{}

struct o2net_sock_debug {};

static struct o2net_sock_container
			*next_sc(struct o2net_sock_container *sc_start)
{}

static void *sc_seq_start(struct seq_file *seq, loff_t *pos)
{}

static void *sc_seq_next(struct seq_file *seq, void *v, loff_t *pos)
{}

#ifdef CONFIG_OCFS2_FS_STATS
#define sc_send_count(_s)
#define sc_recv_count(_s)
#define sc_tv_acquiry_total_ns(_s)
#define sc_tv_send_total_ns(_s)
#define sc_tv_status_total_ns(_s)
#define sc_tv_process_total_ns(_s)
#else
#define sc_send_count
#define sc_recv_count
#define sc_tv_acquiry_total_ns
#define sc_tv_send_total_ns
#define sc_tv_status_total_ns
#define sc_tv_process_total_ns
#endif

/* So that debugfs.ocfs2 can determine which format is being used */
#define O2NET_STATS_STR_VERSION
static void sc_show_sock_stats(struct seq_file *seq,
			       struct o2net_sock_container *sc)
{}

static void sc_show_sock_container(struct seq_file *seq,
				   struct o2net_sock_container *sc)
{}

static int sc_seq_show(struct seq_file *seq, void *v)
{}

static void sc_seq_stop(struct seq_file *seq, void *v)
{}

static const struct seq_operations sc_seq_ops =;

static int sc_common_open(struct file *file, int ctxt)
{}

static int sc_fop_release(struct inode *inode, struct file *file)
{}

static int stats_fop_open(struct inode *inode, struct file *file)
{}

static const struct file_operations stats_seq_fops =;

static int sc_fop_open(struct inode *inode, struct file *file)
{}

static const struct file_operations sc_seq_fops =;

static int o2net_fill_bitmap(char *buf, int len)
{}

static int nodes_fop_open(struct inode *inode, struct file *file)
{}

static int o2net_debug_release(struct inode *inode, struct file *file)
{}

static ssize_t o2net_debug_read(struct file *file, char __user *buf,
				size_t nbytes, loff_t *ppos)
{}

static const struct file_operations nodes_fops =;

void o2net_debugfs_exit(void)
{}

void o2net_debugfs_init(void)
{}

#endif	/* CONFIG_DEBUG_FS */