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