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 */ |