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
22 #define DISPLAY_TIMESTAMP(m) (((m) & I_D_TIMESTAMP) == I_D_TIMESTAMP)
23 #define DISPLAY_KILOBYTES(m) (((m) & I_D_KILOBYTES) == I_D_KILOBYTES)
24 #define DISPLAY_MEGABYTES(m) (((m) & I_D_MEGABYTES) == I_D_MEGABYTES)
25 #define DISPLAY_ISO(m) (((m) & I_D_ISO) == I_D_ISO)
26 #define DISPLAY_HUMAN_READ(m) (((m) & I_D_HUMAN_READ) == I_D_HUMAN_READ)
27 #define DISPLAY_DEBUG(m) (((m) & I_D_DEBUG) == I_D_DEBUG)
29 /* Preallocation constants */
30 #define NR_CIFS_PREALLOC 2
33 unsigned long long rd_bytes __attribute__ ((aligned (8)));
34 unsigned long long wr_bytes __attribute__ ((packed));
35 unsigned long long rd_ops __attribute__ ((packed));
36 unsigned long long wr_ops __attribute__ ((packed));
37 unsigned long long fopens __attribute__ ((packed));
38 unsigned long long fcloses __attribute__ ((packed));
39 unsigned long long fdeletes __attribute__ ((packed));
42 #define CIFS_STATS_SIZE (sizeof(struct cifs_stats))
45 unsigned int active __attribute__ ((aligned (4)));
46 unsigned int used __attribute__ ((packed));
47 char name[MAX_NAME_LEN];
50 #define IO_HDR_STATS_SIZE (sizeof(struct io_hdr_stats))
52 #endif /* _CIFSIOSTAT_H */