1 /* SPDX-License-Identifier: GPL-2.0 */ 1 2 /* 3 * User-space visible declarations for NFS cl 4 * point statistics 5 * 6 * Copyright (C) 2005, 2006 Chuck Lever <cel@ 7 * 8 * NFS client per-mount statistics provide in 9 * health of the NFS client and the health of 10 * Generally these are not for detailed probl 11 * simply to indicate that there is a problem 12 * 13 * These counters are not meant to be human-r 14 * to be integrated into system monitoring to 15 * "iostat". As such, the counters are sampl 16 * time, and are never zeroed after a file sy 17 * Moving averages can be computed by the too 18 * difference between two instantaneous sampl 19 * by the time between the samples. 20 */ 21 22 #ifndef _LINUX_NFS_IOSTAT 23 #define _LINUX_NFS_IOSTAT 24 25 #define NFS_IOSTAT_VERS "1.1" 26 27 /* 28 * NFS byte counters 29 * 30 * 1. SERVER - the number of payload bytes re 31 * to the server by the NFS client via an 32 * request. 33 * 34 * 2. NORMAL - the number of bytes read or wr 35 * via the read(2) and write(2) system cal 36 * 37 * 3. DIRECT - the number of bytes read or wr 38 * opened with the O_DIRECT flag. 39 * 40 * These counters give a view of the data thro 41 * of the NFS client. Comparing the number of 42 * an application with the number of bytes the 43 * the server can provide an indication of cli 44 * (per-op, cache hits, etc). 45 * 46 * These counters can also help characterize w 47 * are in use. DIRECT by itself shows whether 48 * traffic. NORMAL + DIRECT shows how much da 49 * the system call interface. A large amount 50 * without much NORMAL or DIRECT traffic shows 51 * are using mapped files. 52 * 53 * NFS page counters 54 * 55 * These count the number of pages read or wri 56 * nfs_readpages(), or their write equivalents 57 * 58 * NB: When adding new byte counters, please i 59 * units in the name of each byte counter to h 60 * interface determine what exactly is being c 61 */ 62 enum nfs_stat_bytecounters { 63 NFSIOS_NORMALREADBYTES = 0, 64 NFSIOS_NORMALWRITTENBYTES, 65 NFSIOS_DIRECTREADBYTES, 66 NFSIOS_DIRECTWRITTENBYTES, 67 NFSIOS_SERVERREADBYTES, 68 NFSIOS_SERVERWRITTENBYTES, 69 NFSIOS_READPAGES, 70 NFSIOS_WRITEPAGES, 71 __NFSIOS_BYTESMAX, 72 }; 73 74 /* 75 * NFS event counters 76 * 77 * These counters provide a low-overhead way o 78 * activity without enabling NFS trace debuggi 79 * show the rate at which VFS requests are mad 80 * client invalidates its data and attribute c 81 * system administrators to monitor such thing 82 * is working, and answer questions such as "w 83 * GETATTR requests on the wire?" 84 * 85 * They also count anamolous events such as sh 86 * silly renames due to close-after-delete, an 87 * change the size of a file (such operations 88 * source of data corruption if applications a 89 * locking properly). 90 */ 91 enum nfs_stat_eventcounters { 92 NFSIOS_INODEREVALIDATE = 0, 93 NFSIOS_DENTRYREVALIDATE, 94 NFSIOS_DATAINVALIDATE, 95 NFSIOS_ATTRINVALIDATE, 96 NFSIOS_VFSOPEN, 97 NFSIOS_VFSLOOKUP, 98 NFSIOS_VFSACCESS, 99 NFSIOS_VFSUPDATEPAGE, 100 NFSIOS_VFSREADPAGE, 101 NFSIOS_VFSREADPAGES, 102 NFSIOS_VFSWRITEPAGE, 103 NFSIOS_VFSWRITEPAGES, 104 NFSIOS_VFSGETDENTS, 105 NFSIOS_VFSSETATTR, 106 NFSIOS_VFSFLUSH, 107 NFSIOS_VFSFSYNC, 108 NFSIOS_VFSLOCK, 109 NFSIOS_VFSRELEASE, 110 NFSIOS_CONGESTIONWAIT, 111 NFSIOS_SETATTRTRUNC, 112 NFSIOS_EXTENDWRITE, 113 NFSIOS_SILLYRENAME, 114 NFSIOS_SHORTREAD, 115 NFSIOS_SHORTWRITE, 116 NFSIOS_DELAY, 117 NFSIOS_PNFS_READ, 118 NFSIOS_PNFS_WRITE, 119 __NFSIOS_COUNTSMAX, 120 }; 121 122 #endif /* _LINUX_NFS_IOSTAT */ 123
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.