| 1 |
|
| 2 | |
| 3 | * Display helpers for NFS protocol elements
|
| 4 | *
|
| 5 | * Author: Chuck Lever <[email protected]>
|
| 6 | *
|
| 7 | * Copyright (c) 2020, Oracle and/or its affiliates.
|
| 8 |
|
| 9 |
|
| 10 | #include <linux/nfs.h>
|
| 11 | #include <linux/nfs4.h>
|
| 12 | #include <uapi/linux/nfs.h>
|
| 13 |
|
| 14 | TRACE_DEFINE_ENUM(NFS_OK);
|
| 15 | TRACE_DEFINE_ENUM(NFSERR_PERM);
|
| 16 | TRACE_DEFINE_ENUM(NFSERR_NOENT);
|
| 17 | TRACE_DEFINE_ENUM(NFSERR_IO);
|
| 18 | TRACE_DEFINE_ENUM(NFSERR_NXIO);
|
| 19 | TRACE_DEFINE_ENUM(NFSERR_ACCES);
|
| 20 | TRACE_DEFINE_ENUM(NFSERR_EXIST);
|
| 21 | TRACE_DEFINE_ENUM(NFSERR_XDEV);
|
| 22 | TRACE_DEFINE_ENUM(NFSERR_NODEV);
|
| 23 | TRACE_DEFINE_ENUM(NFSERR_NOTDIR);
|
| 24 | TRACE_DEFINE_ENUM(NFSERR_ISDIR);
|
| 25 | TRACE_DEFINE_ENUM(NFSERR_INVAL);
|
| 26 | TRACE_DEFINE_ENUM(NFSERR_FBIG);
|
| 27 | TRACE_DEFINE_ENUM(NFSERR_NOSPC);
|
| 28 | TRACE_DEFINE_ENUM(NFSERR_ROFS);
|
| 29 | TRACE_DEFINE_ENUM(NFSERR_MLINK);
|
| 30 | TRACE_DEFINE_ENUM(NFSERR_NAMETOOLONG);
|
| 31 | TRACE_DEFINE_ENUM(NFSERR_NOTEMPTY);
|
| 32 | TRACE_DEFINE_ENUM(NFSERR_DQUOT);
|
| 33 | TRACE_DEFINE_ENUM(NFSERR_STALE);
|
| 34 | TRACE_DEFINE_ENUM(NFSERR_REMOTE);
|
| 35 | TRACE_DEFINE_ENUM(NFSERR_WFLUSH);
|
| 36 | TRACE_DEFINE_ENUM(NFSERR_BADHANDLE);
|
| 37 | TRACE_DEFINE_ENUM(NFSERR_NOT_SYNC);
|
| 38 | TRACE_DEFINE_ENUM(NFSERR_BAD_COOKIE);
|
| 39 | TRACE_DEFINE_ENUM(NFSERR_NOTSUPP);
|
| 40 | TRACE_DEFINE_ENUM(NFSERR_TOOSMALL);
|
| 41 | TRACE_DEFINE_ENUM(NFSERR_SERVERFAULT);
|
| 42 | TRACE_DEFINE_ENUM(NFSERR_BADTYPE);
|
| 43 | TRACE_DEFINE_ENUM(NFSERR_JUKEBOX);
|
| 44 |
|
| 45 | #define show_nfs_status(x) \
|
| 46 | __print_symbolic(x, \
|
| 47 | { NFS_OK, "OK" }, \
|
| 48 | { NFSERR_PERM, "PERM" }, \
|
| 49 | { NFSERR_NOENT, "NOENT" }, \
|
| 50 | { NFSERR_IO, "IO" }, \
|
| 51 | { NFSERR_NXIO, "NXIO" }, \
|
| 52 | { ECHILD, "CHILD" }, \
|
| 53 | { ETIMEDOUT, "TIMEDOUT" }, \
|
| 54 | { NFSERR_ACCES, "ACCES" }, \
|
| 55 | { NFSERR_EXIST, "EXIST" }, \
|
| 56 | { NFSERR_XDEV, "XDEV" }, \
|
| 57 | { NFSERR_NODEV, "NODEV" }, \
|
| 58 | { NFSERR_NOTDIR, "NOTDIR" }, \
|
| 59 | { NFSERR_ISDIR, "ISDIR" }, \
|
| 60 | { NFSERR_INVAL, "INVAL" }, \
|
| 61 | { NFSERR_FBIG, "FBIG" }, \
|
| 62 | { NFSERR_NOSPC, "NOSPC" }, \
|
| 63 | { NFSERR_ROFS, "ROFS" }, \
|
| 64 | { NFSERR_MLINK, "MLINK" }, \
|
| 65 | { NFSERR_NAMETOOLONG, "NAMETOOLONG" }, \
|
| 66 | { NFSERR_NOTEMPTY, "NOTEMPTY" }, \
|
| 67 | { NFSERR_DQUOT, "DQUOT" }, \
|
| 68 | { NFSERR_STALE, "STALE" }, \
|
| 69 | { NFSERR_REMOTE, "REMOTE" }, \
|
| 70 | { NFSERR_WFLUSH, "WFLUSH" }, \
|
| 71 | { NFSERR_BADHANDLE, "BADHANDLE" }, \
|
| 72 | { NFSERR_NOT_SYNC, "NOTSYNC" }, \
|
| 73 | { NFSERR_BAD_COOKIE, "BADCOOKIE" }, \
|
| 74 | { NFSERR_NOTSUPP, "NOTSUPP" }, \
|
| 75 | { NFSERR_TOOSMALL, "TOOSMALL" }, \
|
| 76 | { NFSERR_SERVERFAULT, "REMOTEIO" }, \
|
| 77 | { NFSERR_BADTYPE, "BADTYPE" }, \
|
| 78 | { NFSERR_JUKEBOX, "JUKEBOX" })
|
| 79 |
|
| 80 | TRACE_DEFINE_ENUM(NFS_UNSTABLE);
|
| 81 | TRACE_DEFINE_ENUM(NFS_DATA_SYNC);
|
| 82 | TRACE_DEFINE_ENUM(NFS_FILE_SYNC);
|
| 83 |
|
| 84 | #define show_nfs_stable_how(x) \
|
| 85 | __print_symbolic(x, \
|
| 86 | { NFS_UNSTABLE, "UNSTABLE" }, \
|
| 87 | { NFS_DATA_SYNC, "DATA_SYNC" }, \
|
| 88 | { NFS_FILE_SYNC, "FILE_SYNC" })
|
| 89 |
|
| 90 | TRACE_DEFINE_ENUM(NFS4_OK);
|
| 91 | TRACE_DEFINE_ENUM(NFS4ERR_ACCESS);
|
| 92 | TRACE_DEFINE_ENUM(NFS4ERR_ATTRNOTSUPP);
|
| 93 | TRACE_DEFINE_ENUM(NFS4ERR_ADMIN_REVOKED);
|
| 94 | TRACE_DEFINE_ENUM(NFS4ERR_BACK_CHAN_BUSY);
|
| 95 | TRACE_DEFINE_ENUM(NFS4ERR_BADCHAR);
|
| 96 | TRACE_DEFINE_ENUM(NFS4ERR_BADHANDLE);
|
| 97 | TRACE_DEFINE_ENUM(NFS4ERR_BADIOMODE);
|
| 98 | TRACE_DEFINE_ENUM(NFS4ERR_BADLAYOUT);
|
| 99 | TRACE_DEFINE_ENUM(NFS4ERR_BADLABEL);
|
| 100 | TRACE_DEFINE_ENUM(NFS4ERR_BADNAME);
|
| 101 | TRACE_DEFINE_ENUM(NFS4ERR_BADOWNER);
|
| 102 | TRACE_DEFINE_ENUM(NFS4ERR_BADSESSION);
|
| 103 | TRACE_DEFINE_ENUM(NFS4ERR_BADSLOT);
|
| 104 | TRACE_DEFINE_ENUM(NFS4ERR_BADTYPE);
|
| 105 | TRACE_DEFINE_ENUM(NFS4ERR_BADXDR);
|
| 106 | TRACE_DEFINE_ENUM(NFS4ERR_BAD_COOKIE);
|
| 107 | TRACE_DEFINE_ENUM(NFS4ERR_BAD_HIGH_SLOT);
|
| 108 | TRACE_DEFINE_ENUM(NFS4ERR_BAD_RANGE);
|
| 109 | TRACE_DEFINE_ENUM(NFS4ERR_BAD_SEQID);
|
| 110 | TRACE_DEFINE_ENUM(NFS4ERR_BAD_SESSION_DIGEST);
|
| 111 | TRACE_DEFINE_ENUM(NFS4ERR_BAD_STATEID);
|
| 112 | TRACE_DEFINE_ENUM(NFS4ERR_CB_PATH_DOWN);
|
| 113 | TRACE_DEFINE_ENUM(NFS4ERR_CLID_INUSE);
|
| 114 | TRACE_DEFINE_ENUM(NFS4ERR_CLIENTID_BUSY);
|
| 115 | TRACE_DEFINE_ENUM(NFS4ERR_COMPLETE_ALREADY);
|
| 116 | TRACE_DEFINE_ENUM(NFS4ERR_CONN_NOT_BOUND_TO_SESSION);
|
| 117 | TRACE_DEFINE_ENUM(NFS4ERR_DEADLOCK);
|
| 118 | TRACE_DEFINE_ENUM(NFS4ERR_DEADSESSION);
|
| 119 | TRACE_DEFINE_ENUM(NFS4ERR_DELAY);
|
| 120 | TRACE_DEFINE_ENUM(NFS4ERR_DELEG_ALREADY_WANTED);
|
| 121 | TRACE_DEFINE_ENUM(NFS4ERR_DELEG_REVOKED);
|
| 122 | TRACE_DEFINE_ENUM(NFS4ERR_DENIED);
|
| 123 | TRACE_DEFINE_ENUM(NFS4ERR_DIRDELEG_UNAVAIL);
|
| 124 | TRACE_DEFINE_ENUM(NFS4ERR_DQUOT);
|
| 125 | TRACE_DEFINE_ENUM(NFS4ERR_ENCR_ALG_UNSUPP);
|
| 126 | TRACE_DEFINE_ENUM(NFS4ERR_EXIST);
|
| 127 | TRACE_DEFINE_ENUM(NFS4ERR_EXPIRED);
|
| 128 | TRACE_DEFINE_ENUM(NFS4ERR_FBIG);
|
| 129 | TRACE_DEFINE_ENUM(NFS4ERR_FHEXPIRED);
|
| 130 | TRACE_DEFINE_ENUM(NFS4ERR_FILE_OPEN);
|
| 131 | TRACE_DEFINE_ENUM(NFS4ERR_GRACE);
|
| 132 | TRACE_DEFINE_ENUM(NFS4ERR_HASH_ALG_UNSUPP);
|
| 133 | TRACE_DEFINE_ENUM(NFS4ERR_INVAL);
|
| 134 | TRACE_DEFINE_ENUM(NFS4ERR_IO);
|
| 135 | TRACE_DEFINE_ENUM(NFS4ERR_ISDIR);
|
| 136 | TRACE_DEFINE_ENUM(NFS4ERR_LAYOUTTRYLATER);
|
| 137 | TRACE_DEFINE_ENUM(NFS4ERR_LAYOUTUNAVAILABLE);
|
| 138 | TRACE_DEFINE_ENUM(NFS4ERR_LEASE_MOVED);
|
| 139 | TRACE_DEFINE_ENUM(NFS4ERR_LOCKED);
|
| 140 | TRACE_DEFINE_ENUM(NFS4ERR_LOCKS_HELD);
|
| 141 | TRACE_DEFINE_ENUM(NFS4ERR_LOCK_RANGE);
|
| 142 | TRACE_DEFINE_ENUM(NFS4ERR_MINOR_VERS_MISMATCH);
|
| 143 | TRACE_DEFINE_ENUM(NFS4ERR_MLINK);
|
| 144 | TRACE_DEFINE_ENUM(NFS4ERR_MOVED);
|
| 145 | TRACE_DEFINE_ENUM(NFS4ERR_NAMETOOLONG);
|
| 146 | TRACE_DEFINE_ENUM(NFS4ERR_NOENT);
|
| 147 | TRACE_DEFINE_ENUM(NFS4ERR_NOFILEHANDLE);
|
| 148 | TRACE_DEFINE_ENUM(NFS4ERR_NOMATCHING_LAYOUT);
|
| 149 | TRACE_DEFINE_ENUM(NFS4ERR_NOSPC);
|
| 150 | TRACE_DEFINE_ENUM(NFS4ERR_NOTDIR);
|
| 151 | TRACE_DEFINE_ENUM(NFS4ERR_NOTEMPTY);
|
| 152 | TRACE_DEFINE_ENUM(NFS4ERR_NOTSUPP);
|
| 153 | TRACE_DEFINE_ENUM(NFS4ERR_NOT_ONLY_OP);
|
| 154 | TRACE_DEFINE_ENUM(NFS4ERR_NOT_SAME);
|
| 155 | TRACE_DEFINE_ENUM(NFS4ERR_NO_GRACE);
|
| 156 | TRACE_DEFINE_ENUM(NFS4ERR_NXIO);
|
| 157 | TRACE_DEFINE_ENUM(NFS4ERR_OLD_STATEID);
|
| 158 | TRACE_DEFINE_ENUM(NFS4ERR_OPENMODE);
|
| 159 | TRACE_DEFINE_ENUM(NFS4ERR_OP_ILLEGAL);
|
| 160 | TRACE_DEFINE_ENUM(NFS4ERR_OP_NOT_IN_SESSION);
|
| 161 | TRACE_DEFINE_ENUM(NFS4ERR_PERM);
|
| 162 | TRACE_DEFINE_ENUM(NFS4ERR_PNFS_IO_HOLE);
|
| 163 | TRACE_DEFINE_ENUM(NFS4ERR_PNFS_NO_LAYOUT);
|
| 164 | TRACE_DEFINE_ENUM(NFS4ERR_RECALLCONFLICT);
|
| 165 | TRACE_DEFINE_ENUM(NFS4ERR_RECLAIM_BAD);
|
| 166 | TRACE_DEFINE_ENUM(NFS4ERR_RECLAIM_CONFLICT);
|
| 167 | TRACE_DEFINE_ENUM(NFS4ERR_REJECT_DELEG);
|
| 168 | TRACE_DEFINE_ENUM(NFS4ERR_REP_TOO_BIG);
|
| 169 | TRACE_DEFINE_ENUM(NFS4ERR_REP_TOO_BIG_TO_CACHE);
|
| 170 | TRACE_DEFINE_ENUM(NFS4ERR_REQ_TOO_BIG);
|
| 171 | TRACE_DEFINE_ENUM(NFS4ERR_RESOURCE);
|
| 172 | TRACE_DEFINE_ENUM(NFS4ERR_RESTOREFH);
|
| 173 | TRACE_DEFINE_ENUM(NFS4ERR_RETRY_UNCACHED_REP);
|
| 174 | TRACE_DEFINE_ENUM(NFS4ERR_RETURNCONFLICT);
|
| 175 | TRACE_DEFINE_ENUM(NFS4ERR_ROFS);
|
| 176 | TRACE_DEFINE_ENUM(NFS4ERR_SAME);
|
| 177 | TRACE_DEFINE_ENUM(NFS4ERR_SHARE_DENIED);
|
| 178 | TRACE_DEFINE_ENUM(NFS4ERR_SEQUENCE_POS);
|
| 179 | TRACE_DEFINE_ENUM(NFS4ERR_SEQ_FALSE_RETRY);
|
| 180 | TRACE_DEFINE_ENUM(NFS4ERR_SEQ_MISORDERED);
|
| 181 | TRACE_DEFINE_ENUM(NFS4ERR_SERVERFAULT);
|
| 182 | TRACE_DEFINE_ENUM(NFS4ERR_STALE);
|
| 183 | TRACE_DEFINE_ENUM(NFS4ERR_STALE_CLIENTID);
|
| 184 | TRACE_DEFINE_ENUM(NFS4ERR_STALE_STATEID);
|
| 185 | TRACE_DEFINE_ENUM(NFS4ERR_SYMLINK);
|
| 186 | TRACE_DEFINE_ENUM(NFS4ERR_TOOSMALL);
|
| 187 | TRACE_DEFINE_ENUM(NFS4ERR_TOO_MANY_OPS);
|
| 188 | TRACE_DEFINE_ENUM(NFS4ERR_UNKNOWN_LAYOUTTYPE);
|
| 189 | TRACE_DEFINE_ENUM(NFS4ERR_UNSAFE_COMPOUND);
|
| 190 | TRACE_DEFINE_ENUM(NFS4ERR_WRONGSEC);
|
| 191 | TRACE_DEFINE_ENUM(NFS4ERR_WRONG_CRED);
|
| 192 | TRACE_DEFINE_ENUM(NFS4ERR_WRONG_TYPE);
|
| 193 | TRACE_DEFINE_ENUM(NFS4ERR_XDEV);
|
| 194 |
|
| 195 | TRACE_DEFINE_ENUM(NFS4ERR_RESET_TO_MDS);
|
| 196 | TRACE_DEFINE_ENUM(NFS4ERR_RESET_TO_PNFS);
|
| 197 |
|
| 198 | #define show_nfs4_status(x) \
|
| 199 | __print_symbolic(x, \
|
| 200 | { NFS4_OK, "OK" }, \
|
| 201 | { EPERM, "EPERM" }, \
|
| 202 | { ENOENT, "ENOENT" }, \
|
| 203 | { EIO, "EIO" }, \
|
| 204 | { ENXIO, "ENXIO" }, \
|
| 205 | { EACCES, "EACCES" }, \
|
| 206 | { EEXIST, "EEXIST" }, \
|
| 207 | { EXDEV, "EXDEV" }, \
|
| 208 | { ENOTDIR, "ENOTDIR" }, \
|
| 209 | { EISDIR, "EISDIR" }, \
|
| 210 | { EFBIG, "EFBIG" }, \
|
| 211 | { ENOSPC, "ENOSPC" }, \
|
| 212 | { EROFS, "EROFS" }, \
|
| 213 | { EMLINK, "EMLINK" }, \
|
| 214 | { ENAMETOOLONG, "ENAMETOOLONG" }, \
|
| 215 | { ENOTEMPTY, "ENOTEMPTY" }, \
|
| 216 | { EDQUOT, "EDQUOT" }, \
|
| 217 | { ESTALE, "ESTALE" }, \
|
| 218 | { EBADHANDLE, "EBADHANDLE" }, \
|
| 219 | { EBADCOOKIE, "EBADCOOKIE" }, \
|
| 220 | { ENOTSUPP, "ENOTSUPP" }, \
|
| 221 | { ETOOSMALL, "ETOOSMALL" }, \
|
| 222 | { EREMOTEIO, "EREMOTEIO" }, \
|
| 223 | { EBADTYPE, "EBADTYPE" }, \
|
| 224 | { EAGAIN, "EAGAIN" }, \
|
| 225 | { ELOOP, "ELOOP" }, \
|
| 226 | { EOPNOTSUPP, "EOPNOTSUPP" }, \
|
| 227 | { EDEADLK, "EDEADLK" }, \
|
| 228 | { ENOMEM, "ENOMEM" }, \
|
| 229 | { EKEYEXPIRED, "EKEYEXPIRED" }, \
|
| 230 | { ETIMEDOUT, "ETIMEDOUT" }, \
|
| 231 | { ERESTARTSYS, "ERESTARTSYS" }, \
|
| 232 | { ECONNREFUSED, "ECONNREFUSED" }, \
|
| 233 | { ECONNRESET, "ECONNRESET" }, \
|
| 234 | { ENETUNREACH, "ENETUNREACH" }, \
|
| 235 | { EHOSTUNREACH, "EHOSTUNREACH" }, \
|
| 236 | { EHOSTDOWN, "EHOSTDOWN" }, \
|
| 237 | { EPIPE, "EPIPE" }, \
|
| 238 | { EPFNOSUPPORT, "EPFNOSUPPORT" }, \
|
| 239 | { EINVAL, "EINVAL" }, \
|
| 240 | { EPROTONOSUPPORT, "EPROTONOSUPPORT" }, \
|
| 241 | { NFS4ERR_ACCESS, "ACCESS" }, \
|
| 242 | { NFS4ERR_ATTRNOTSUPP, "ATTRNOTSUPP" }, \
|
| 243 | { NFS4ERR_ADMIN_REVOKED, "ADMIN_REVOKED" }, \
|
| 244 | { NFS4ERR_BACK_CHAN_BUSY, "BACK_CHAN_BUSY" }, \
|
| 245 | { NFS4ERR_BADCHAR, "BADCHAR" }, \
|
| 246 | { NFS4ERR_BADHANDLE, "BADHANDLE" }, \
|
| 247 | { NFS4ERR_BADIOMODE, "BADIOMODE" }, \
|
| 248 | { NFS4ERR_BADLAYOUT, "BADLAYOUT" }, \
|
| 249 | { NFS4ERR_BADLABEL, "BADLABEL" }, \
|
| 250 | { NFS4ERR_BADNAME, "BADNAME" }, \
|
| 251 | { NFS4ERR_BADOWNER, "BADOWNER" }, \
|
| 252 | { NFS4ERR_BADSESSION, "BADSESSION" }, \
|
| 253 | { NFS4ERR_BADSLOT, "BADSLOT" }, \
|
| 254 | { NFS4ERR_BADTYPE, "BADTYPE" }, \
|
| 255 | { NFS4ERR_BADXDR, "BADXDR" }, \
|
| 256 | { NFS4ERR_BAD_COOKIE, "BAD_COOKIE" }, \
|
| 257 | { NFS4ERR_BAD_HIGH_SLOT, "BAD_HIGH_SLOT" }, \
|
| 258 | { NFS4ERR_BAD_RANGE, "BAD_RANGE" }, \
|
| 259 | { NFS4ERR_BAD_SEQID, "BAD_SEQID" }, \
|
| 260 | { NFS4ERR_BAD_SESSION_DIGEST, "BAD_SESSION_DIGEST" }, \
|
| 261 | { NFS4ERR_BAD_STATEID, "BAD_STATEID" }, \
|
| 262 | { NFS4ERR_CB_PATH_DOWN, "CB_PATH_DOWN" }, \
|
| 263 | { NFS4ERR_CLID_INUSE, "CLID_INUSE" }, \
|
| 264 | { NFS4ERR_CLIENTID_BUSY, "CLIENTID_BUSY" }, \
|
| 265 | { NFS4ERR_COMPLETE_ALREADY, "COMPLETE_ALREADY" }, \
|
| 266 | { NFS4ERR_CONN_NOT_BOUND_TO_SESSION, "CONN_NOT_BOUND_TO_SESSION" }, \
|
| 267 | { NFS4ERR_DEADLOCK, "DEADLOCK" }, \
|
| 268 | { NFS4ERR_DEADSESSION, "DEAD_SESSION" }, \
|
| 269 | { NFS4ERR_DELAY, "DELAY" }, \
|
| 270 | { NFS4ERR_DELEG_ALREADY_WANTED, "DELEG_ALREADY_WANTED" }, \
|
| 271 | { NFS4ERR_DELEG_REVOKED, "DELEG_REVOKED" }, \
|
| 272 | { NFS4ERR_DENIED, "DENIED" }, \
|
| 273 | { NFS4ERR_DIRDELEG_UNAVAIL, "DIRDELEG_UNAVAIL" }, \
|
| 274 | { NFS4ERR_DQUOT, "DQUOT" }, \
|
| 275 | { NFS4ERR_ENCR_ALG_UNSUPP, "ENCR_ALG_UNSUPP" }, \
|
| 276 | { NFS4ERR_EXIST, "EXIST" }, \
|
| 277 | { NFS4ERR_EXPIRED, "EXPIRED" }, \
|
| 278 | { NFS4ERR_FBIG, "FBIG" }, \
|
| 279 | { NFS4ERR_FHEXPIRED, "FHEXPIRED" }, \
|
| 280 | { NFS4ERR_FILE_OPEN, "FILE_OPEN" }, \
|
| 281 | { NFS4ERR_GRACE, "GRACE" }, \
|
| 282 | { NFS4ERR_HASH_ALG_UNSUPP, "HASH_ALG_UNSUPP" }, \
|
| 283 | { NFS4ERR_INVAL, "INVAL" }, \
|
| 284 | { NFS4ERR_IO, "IO" }, \
|
| 285 | { NFS4ERR_ISDIR, "ISDIR" }, \
|
| 286 | { NFS4ERR_LAYOUTTRYLATER, "LAYOUTTRYLATER" }, \
|
| 287 | { NFS4ERR_LAYOUTUNAVAILABLE, "LAYOUTUNAVAILABLE" }, \
|
| 288 | { NFS4ERR_LEASE_MOVED, "LEASE_MOVED" }, \
|
| 289 | { NFS4ERR_LOCKED, "LOCKED" }, \
|
| 290 | { NFS4ERR_LOCKS_HELD, "LOCKS_HELD" }, \
|
| 291 | { NFS4ERR_LOCK_RANGE, "LOCK_RANGE" }, \
|
| 292 | { NFS4ERR_MINOR_VERS_MISMATCH, "MINOR_VERS_MISMATCH" }, \
|
| 293 | { NFS4ERR_MLINK, "MLINK" }, \
|
| 294 | { NFS4ERR_MOVED, "MOVED" }, \
|
| 295 | { NFS4ERR_NAMETOOLONG, "NAMETOOLONG" }, \
|
| 296 | { NFS4ERR_NOENT, "NOENT" }, \
|
| 297 | { NFS4ERR_NOFILEHANDLE, "NOFILEHANDLE" }, \
|
| 298 | { NFS4ERR_NOMATCHING_LAYOUT, "NOMATCHING_LAYOUT" }, \
|
| 299 | { NFS4ERR_NOSPC, "NOSPC" }, \
|
| 300 | { NFS4ERR_NOTDIR, "NOTDIR" }, \
|
| 301 | { NFS4ERR_NOTEMPTY, "NOTEMPTY" }, \
|
| 302 | { NFS4ERR_NOTSUPP, "NOTSUPP" }, \
|
| 303 | { NFS4ERR_NOT_ONLY_OP, "NOT_ONLY_OP" }, \
|
| 304 | { NFS4ERR_NOT_SAME, "NOT_SAME" }, \
|
| 305 | { NFS4ERR_NO_GRACE, "NO_GRACE" }, \
|
| 306 | { NFS4ERR_NXIO, "NXIO" }, \
|
| 307 | { NFS4ERR_OLD_STATEID, "OLD_STATEID" }, \
|
| 308 | { NFS4ERR_OPENMODE, "OPENMODE" }, \
|
| 309 | { NFS4ERR_OP_ILLEGAL, "OP_ILLEGAL" }, \
|
| 310 | { NFS4ERR_OP_NOT_IN_SESSION, "OP_NOT_IN_SESSION" }, \
|
| 311 | { NFS4ERR_PERM, "PERM" }, \
|
| 312 | { NFS4ERR_PNFS_IO_HOLE, "PNFS_IO_HOLE" }, \
|
| 313 | { NFS4ERR_PNFS_NO_LAYOUT, "PNFS_NO_LAYOUT" }, \
|
| 314 | { NFS4ERR_RECALLCONFLICT, "RECALLCONFLICT" }, \
|
| 315 | { NFS4ERR_RECLAIM_BAD, "RECLAIM_BAD" }, \
|
| 316 | { NFS4ERR_RECLAIM_CONFLICT, "RECLAIM_CONFLICT" }, \
|
| 317 | { NFS4ERR_REJECT_DELEG, "REJECT_DELEG" }, \
|
| 318 | { NFS4ERR_REP_TOO_BIG, "REP_TOO_BIG" }, \
|
| 319 | { NFS4ERR_REP_TOO_BIG_TO_CACHE, "REP_TOO_BIG_TO_CACHE" }, \
|
| 320 | { NFS4ERR_REQ_TOO_BIG, "REQ_TOO_BIG" }, \
|
| 321 | { NFS4ERR_RESOURCE, "RESOURCE" }, \
|
| 322 | { NFS4ERR_RESTOREFH, "RESTOREFH" }, \
|
| 323 | { NFS4ERR_RETRY_UNCACHED_REP, "RETRY_UNCACHED_REP" }, \
|
| 324 | { NFS4ERR_RETURNCONFLICT, "RETURNCONFLICT" }, \
|
| 325 | { NFS4ERR_ROFS, "ROFS" }, \
|
| 326 | { NFS4ERR_SAME, "SAME" }, \
|
| 327 | { NFS4ERR_SHARE_DENIED, "SHARE_DENIED" }, \
|
| 328 | { NFS4ERR_SEQUENCE_POS, "SEQUENCE_POS" }, \
|
| 329 | { NFS4ERR_SEQ_FALSE_RETRY, "SEQ_FALSE_RETRY" }, \
|
| 330 | { NFS4ERR_SEQ_MISORDERED, "SEQ_MISORDERED" }, \
|
| 331 | { NFS4ERR_SERVERFAULT, "SERVERFAULT" }, \
|
| 332 | { NFS4ERR_STALE, "STALE" }, \
|
| 333 | { NFS4ERR_STALE_CLIENTID, "STALE_CLIENTID" }, \
|
| 334 | { NFS4ERR_STALE_STATEID, "STALE_STATEID" }, \
|
| 335 | { NFS4ERR_SYMLINK, "SYMLINK" }, \
|
| 336 | { NFS4ERR_TOOSMALL, "TOOSMALL" }, \
|
| 337 | { NFS4ERR_TOO_MANY_OPS, "TOO_MANY_OPS" }, \
|
| 338 | { NFS4ERR_UNKNOWN_LAYOUTTYPE, "UNKNOWN_LAYOUTTYPE" }, \
|
| 339 | { NFS4ERR_UNSAFE_COMPOUND, "UNSAFE_COMPOUND" }, \
|
| 340 | { NFS4ERR_WRONGSEC, "WRONGSEC" }, \
|
| 341 | { NFS4ERR_WRONG_CRED, "WRONG_CRED" }, \
|
| 342 | { NFS4ERR_WRONG_TYPE, "WRONG_TYPE" }, \
|
| 343 | { NFS4ERR_XDEV, "XDEV" }, \
|
| 344 | \
|
| 345 | { NFS4ERR_RESET_TO_MDS, "RESET_TO_MDS" }, \
|
| 346 | { NFS4ERR_RESET_TO_PNFS, "RESET_TO_PNFS" })
|
| 347 |
|
| 348 | #define show_nfs4_verifier(x) \
|
| 349 | __print_hex_str(x, NFS4_VERIFIER_SIZE)
|
| 350 |
|
| 351 | TRACE_DEFINE_ENUM(IOMODE_READ);
|
| 352 | TRACE_DEFINE_ENUM(IOMODE_RW);
|
| 353 | TRACE_DEFINE_ENUM(IOMODE_ANY);
|
| 354 |
|
| 355 | #define show_pnfs_layout_iomode(x) \
|
| 356 | __print_symbolic(x, \
|
| 357 | { IOMODE_READ, "READ" }, \
|
| 358 | { IOMODE_RW, "RW" }, \
|
| 359 | { IOMODE_ANY, "ANY" })
|
| 360 |
|
| 361 | #define show_rca_mask(x) \
|
| 362 | __print_flags(x, "|", \
|
| 363 | { BIT(RCA4_TYPE_MASK_RDATA_DLG), "RDATA_DLG" }, \
|
| 364 | { BIT(RCA4_TYPE_MASK_WDATA_DLG), "WDATA_DLG" }, \
|
| 365 | { BIT(RCA4_TYPE_MASK_DIR_DLG), "DIR_DLG" }, \
|
| 366 | { BIT(RCA4_TYPE_MASK_FILE_LAYOUT), "FILE_LAYOUT" }, \
|
| 367 | { BIT(RCA4_TYPE_MASK_BLK_LAYOUT), "BLK_LAYOUT" }, \
|
| 368 | { BIT(RCA4_TYPE_MASK_OBJ_LAYOUT_MIN), "OBJ_LAYOUT_MIN" }, \
|
| 369 | { BIT(RCA4_TYPE_MASK_OBJ_LAYOUT_MAX), "OBJ_LAYOUT_MAX" }, \
|
| 370 | { BIT(RCA4_TYPE_MASK_OTHER_LAYOUT_MIN), "OTHER_LAYOUT_MIN" }, \
|
| 371 | { BIT(RCA4_TYPE_MASK_OTHER_LAYOUT_MAX), "OTHER_LAYOUT_MAX" })
|
| 372 |
|
| 373 | #define show_nfs4_seq4_status(x) \
|
| 374 | __print_flags(x, "|", \
|
| 375 | { SEQ4_STATUS_CB_PATH_DOWN, "CB_PATH_DOWN" }, \
|
| 376 | { SEQ4_STATUS_CB_GSS_CONTEXTS_EXPIRING, "CB_GSS_CONTEXTS_EXPIRING" }, \
|
| 377 | { SEQ4_STATUS_CB_GSS_CONTEXTS_EXPIRED, "CB_GSS_CONTEXTS_EXPIRED" }, \
|
| 378 | { SEQ4_STATUS_EXPIRED_ALL_STATE_REVOKED, "EXPIRED_ALL_STATE_REVOKED" }, \
|
| 379 | { SEQ4_STATUS_EXPIRED_SOME_STATE_REVOKED, "EXPIRED_SOME_STATE_REVOKED" }, \
|
| 380 | { SEQ4_STATUS_ADMIN_STATE_REVOKED, "ADMIN_STATE_REVOKED" }, \
|
| 381 | { SEQ4_STATUS_RECALLABLE_STATE_REVOKED, "RECALLABLE_STATE_REVOKED" }, \
|
| 382 | { SEQ4_STATUS_LEASE_MOVED, "LEASE_MOVED" }, \
|
| 383 | { SEQ4_STATUS_RESTART_RECLAIM_NEEDED, "RESTART_RECLAIM_NEEDED" }, \
|
| 384 | { SEQ4_STATUS_CB_PATH_DOWN_SESSION, "CB_PATH_DOWN_SESSION" }, \
|
| 385 | { SEQ4_STATUS_BACKCHANNEL_FAULT, "BACKCHANNEL_FAULT" })
|
| 386 |
|
| 387 | TRACE_DEFINE_ENUM(OP_CB_GETATTR);
|
| 388 | TRACE_DEFINE_ENUM(OP_CB_RECALL);
|
| 389 | TRACE_DEFINE_ENUM(OP_CB_LAYOUTRECALL);
|
| 390 | TRACE_DEFINE_ENUM(OP_CB_NOTIFY);
|
| 391 | TRACE_DEFINE_ENUM(OP_CB_PUSH_DELEG);
|
| 392 | TRACE_DEFINE_ENUM(OP_CB_RECALL_ANY);
|
| 393 | TRACE_DEFINE_ENUM(OP_CB_RECALLABLE_OBJ_AVAIL);
|
| 394 | TRACE_DEFINE_ENUM(OP_CB_RECALL_SLOT);
|
| 395 | TRACE_DEFINE_ENUM(OP_CB_SEQUENCE);
|
| 396 | TRACE_DEFINE_ENUM(OP_CB_WANTS_CANCELLED);
|
| 397 | TRACE_DEFINE_ENUM(OP_CB_NOTIFY_LOCK);
|
| 398 | TRACE_DEFINE_ENUM(OP_CB_NOTIFY_DEVICEID);
|
| 399 | TRACE_DEFINE_ENUM(OP_CB_OFFLOAD);
|
| 400 | TRACE_DEFINE_ENUM(OP_CB_ILLEGAL);
|
| 401 |
|
| 402 | #define show_nfs4_cb_op(x) \
|
| 403 | __print_symbolic(x, \
|
| 404 | { 0, "CB_NULL" }, \
|
| 405 | { 1, "CB_COMPOUND" }, \
|
| 406 | { OP_CB_GETATTR, "CB_GETATTR" }, \
|
| 407 | { OP_CB_RECALL, "CB_RECALL" }, \
|
| 408 | { OP_CB_LAYOUTRECALL, "CB_LAYOUTRECALL" }, \
|
| 409 | { OP_CB_NOTIFY, "CB_NOTIFY" }, \
|
| 410 | { OP_CB_PUSH_DELEG, "CB_PUSH_DELEG" }, \
|
| 411 | { OP_CB_RECALL_ANY, "CB_RECALL_ANY" }, \
|
| 412 | { OP_CB_RECALLABLE_OBJ_AVAIL, "CB_RECALLABLE_OBJ_AVAIL" }, \
|
| 413 | { OP_CB_RECALL_SLOT, "CB_RECALL_SLOT" }, \
|
| 414 | { OP_CB_SEQUENCE, "CB_SEQUENCE" }, \
|
| 415 | { OP_CB_WANTS_CANCELLED, "CB_WANTS_CANCELLED" }, \
|
| 416 | { OP_CB_NOTIFY_LOCK, "CB_NOTIFY_LOCK" }, \
|
| 417 | { OP_CB_NOTIFY_DEVICEID, "CB_NOTIFY_DEVICEID" }, \
|
| 418 | { OP_CB_OFFLOAD, "CB_OFFLOAD" }, \
|
| 419 | { OP_CB_ILLEGAL, "CB_ILLEGAL" })
|