Subversion Repositories shark

Rev

Rev 422 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
422 giacomo 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
 
15
void coda_sysctl_init(void);
16
void 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 */
34
struct 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 */
62
struct 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 */
74
extern struct coda_vfs_stats            coda_vfs_stat;
75
extern struct coda_cache_inv_stats      coda_cache_inv_stat;
76
 
77
/* reset statistics to 0 */
78
void reset_coda_vfs_stats( void );
79
void reset_coda_cache_inv_stats( void );
80
 
81
/* like coda_dointvec, these functions are to be registered in the ctl_table
82
 * data structure for /proc/sys/... files
83
 */
84
int do_reset_coda_vfs_stats( ctl_table * table, int write, struct file * filp,
85
                             void * buffer, size_t * lenp );
86
int do_reset_coda_cache_inv_stats( ctl_table * table, int write,
87
                                   struct file * filp, void * buffer,
88
                                   size_t * lenp );
89
 
90
/* these functions are called to form the content of /proc/fs/coda/... files */
91
int coda_vfs_stats_get_info( char * buffer, char ** start, off_t offset,
92
                             int length);
93
int coda_cache_inv_stats_get_info( char * buffer, char ** start, off_t offset,
94
                                   int length);
95
 
96
 
97
#endif /* _CODA_PROC_H */