1/*
2 * coda_statis.h
3 *
4 * CODA operation statistics
5 *
6 * (c) March, 1998
7 * by Michihiro Kuramochi, Zhenyu Xia and Zhanyong Wan
8 * zhanyong.wan@yale.edu
9 *
10 */
11
12#ifndef _CODA_PROC_H
13#define _CODA_PROC_H
14
15void coda_sysctl_init(void);
16void coda_sysctl_clean(void);
17
18#include <linux/sysctl.h>
19#include <linux/coda_fs_i.h>
20#include <linux/coda.h>
21
22/* these four files are presented to show the result of the statistics:
23 *
24 *	/proc/fs/coda/vfs_stats
25 *		      cache_inv_stats
26 *
27 * these four files are presented to reset the statistics to 0:
28 *
29 *	/proc/sys/coda/vfs_stats
30 *		       cache_inv_stats
31 */
32
33/* VFS operation statistics */
34struct coda_vfs_stats
35{
36	/* file operations */
37	int open;
38	int flush;
39	int release;
40	int fsync;
41
42	/* dir operations */
43	int readdir;
44
45	/* inode operations */
46	int create;
47	int lookup;
48	int link;
49	int unlink;
50	int symlink;
51	int mkdir;
52	int rmdir;
53	int rename;
54	int permission;
55
56	/* symlink operatoins*/
57	int follow_link;
58	int readlink;
59};
60
61/* cache invalidation statistics */
62struct coda_cache_inv_stats
63{
64	int flush;
65	int purge_user;
66	int zap_dir;
67	int zap_file;
68	int zap_vnode;
69	int purge_fid;
70	int replace;
71};
72
73/* these global variables hold the actual statistics data */
74extern struct coda_vfs_stats		coda_vfs_stat;
75
76#endif /* _CODA_PROC_H */
77