2 * cifsiostat: Report CIFS statistics
3 * Copyright (C) 2010 Red Hat, Inc. All Rights Reserved
4 * Written by Ivana Varekova <varekova@redhat.com>
12 #define CIFSSTATS "/proc/fs/cifs/Stats"
14 /* I_: iostat - D_: Display - F_: Flag */
15 #define I_D_TIMESTAMP 0x001
16 #define I_D_KILOBYTES 0x002
17 #define I_D_MEGABYTES 0x004
19 #define I_D_HUMAN_READ 0x010
20 #define I_D_DEBUG 0x020
21 #define I_D_UNIT 0x040
23 #define DISPLAY_TIMESTAMP(m) (((m) & I_D_TIMESTAMP) == I_D_TIMESTAMP)
24 #define DISPLAY_KILOBYTES(m) (((m) & I_D_KILOBYTES) == I_D_KILOBYTES)
25 #define DISPLAY_MEGABYTES(m) (((m) & I_D_MEGABYTES) == I_D_MEGABYTES)
26 #define DISPLAY_ISO(m) (((m) & I_D_ISO) == I_D_ISO)
27 #define DISPLAY_HUMAN_READ(m) (((m) & I_D_HUMAN_READ) == I_D_HUMAN_READ)
28 #define DISPLAY_DEBUG(m) (((m) & I_D_DEBUG) == I_D_DEBUG)
29 #define DISPLAY_UNIT(m) (((m) & I_D_UNIT) == I_D_UNIT)
31 /* Preallocation constants */
32 #define NR_CIFS_PREALLOC 2
35 unsigned long long rd_bytes __attribute__ ((aligned (8)));
36 unsigned long long wr_bytes __attribute__ ((packed));
37 unsigned long long rd_ops __attribute__ ((packed));
38 unsigned long long wr_ops __attribute__ ((packed));
39 unsigned long long fopens __attribute__ ((packed));
40 unsigned long long fcloses __attribute__ ((packed));
41 unsigned long long fdeletes __attribute__ ((packed));
44 #define CIFS_STATS_SIZE (sizeof(struct cifs_stats))
47 unsigned int active __attribute__ ((aligned (4)));
48 unsigned int used __attribute__ ((packed));
49 char name[MAX_NAME_LEN];
52 #define IO_HDR_STATS_SIZE (sizeof(struct io_hdr_stats))
54 #endif /* _CIFSIOSTAT_H */