brintos

brintos / linux-shallow public Read only

0
0
Text · 15.4 KiB · c82233e Raw
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