cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

nfs.h (13994B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2/*
      3 * Display helpers for NFS protocol elements
      4 *
      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_OPNOTSUPP);
     32TRACE_DEFINE_ENUM(NFSERR_NAMETOOLONG);
     33TRACE_DEFINE_ENUM(NFSERR_NOTEMPTY);
     34TRACE_DEFINE_ENUM(NFSERR_DQUOT);
     35TRACE_DEFINE_ENUM(NFSERR_STALE);
     36TRACE_DEFINE_ENUM(NFSERR_REMOTE);
     37TRACE_DEFINE_ENUM(NFSERR_WFLUSH);
     38TRACE_DEFINE_ENUM(NFSERR_BADHANDLE);
     39TRACE_DEFINE_ENUM(NFSERR_NOT_SYNC);
     40TRACE_DEFINE_ENUM(NFSERR_BAD_COOKIE);
     41TRACE_DEFINE_ENUM(NFSERR_NOTSUPP);
     42TRACE_DEFINE_ENUM(NFSERR_TOOSMALL);
     43TRACE_DEFINE_ENUM(NFSERR_SERVERFAULT);
     44TRACE_DEFINE_ENUM(NFSERR_BADTYPE);
     45TRACE_DEFINE_ENUM(NFSERR_JUKEBOX);
     46
     47#define show_nfs_status(x) \
     48	__print_symbolic(x, \
     49		{ NFS_OK,			"OK" }, \
     50		{ NFSERR_PERM,			"PERM" }, \
     51		{ NFSERR_NOENT,			"NOENT" }, \
     52		{ NFSERR_IO,			"IO" }, \
     53		{ NFSERR_NXIO,			"NXIO" }, \
     54		{ ECHILD,			"CHILD" }, \
     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_OPNOTSUPP,		"OPNOTSUPP" }, \
     68		{ NFSERR_NAMETOOLONG,		"NAMETOOLONG" }, \
     69		{ NFSERR_NOTEMPTY,		"NOTEMPTY" }, \
     70		{ NFSERR_DQUOT,			"DQUOT" }, \
     71		{ NFSERR_STALE,			"STALE" }, \
     72		{ NFSERR_REMOTE,		"REMOTE" }, \
     73		{ NFSERR_WFLUSH,		"WFLUSH" }, \
     74		{ NFSERR_BADHANDLE,		"BADHANDLE" }, \
     75		{ NFSERR_NOT_SYNC,		"NOTSYNC" }, \
     76		{ NFSERR_BAD_COOKIE,		"BADCOOKIE" }, \
     77		{ NFSERR_NOTSUPP,		"NOTSUPP" }, \
     78		{ NFSERR_TOOSMALL,		"TOOSMALL" }, \
     79		{ NFSERR_SERVERFAULT,		"REMOTEIO" }, \
     80		{ NFSERR_BADTYPE,		"BADTYPE" }, \
     81		{ NFSERR_JUKEBOX,		"JUKEBOX" })
     82
     83TRACE_DEFINE_ENUM(NFS_UNSTABLE);
     84TRACE_DEFINE_ENUM(NFS_DATA_SYNC);
     85TRACE_DEFINE_ENUM(NFS_FILE_SYNC);
     86
     87#define show_nfs_stable_how(x) \
     88	__print_symbolic(x, \
     89		{ NFS_UNSTABLE,			"UNSTABLE" }, \
     90		{ NFS_DATA_SYNC,		"DATA_SYNC" }, \
     91		{ NFS_FILE_SYNC,		"FILE_SYNC" })
     92
     93TRACE_DEFINE_ENUM(NFS4_OK);
     94TRACE_DEFINE_ENUM(NFS4ERR_ACCESS);
     95TRACE_DEFINE_ENUM(NFS4ERR_ATTRNOTSUPP);
     96TRACE_DEFINE_ENUM(NFS4ERR_ADMIN_REVOKED);
     97TRACE_DEFINE_ENUM(NFS4ERR_BACK_CHAN_BUSY);
     98TRACE_DEFINE_ENUM(NFS4ERR_BADCHAR);
     99TRACE_DEFINE_ENUM(NFS4ERR_BADHANDLE);
    100TRACE_DEFINE_ENUM(NFS4ERR_BADIOMODE);
    101TRACE_DEFINE_ENUM(NFS4ERR_BADLAYOUT);
    102TRACE_DEFINE_ENUM(NFS4ERR_BADLABEL);
    103TRACE_DEFINE_ENUM(NFS4ERR_BADNAME);
    104TRACE_DEFINE_ENUM(NFS4ERR_BADOWNER);
    105TRACE_DEFINE_ENUM(NFS4ERR_BADSESSION);
    106TRACE_DEFINE_ENUM(NFS4ERR_BADSLOT);
    107TRACE_DEFINE_ENUM(NFS4ERR_BADTYPE);
    108TRACE_DEFINE_ENUM(NFS4ERR_BADXDR);
    109TRACE_DEFINE_ENUM(NFS4ERR_BAD_COOKIE);
    110TRACE_DEFINE_ENUM(NFS4ERR_BAD_HIGH_SLOT);
    111TRACE_DEFINE_ENUM(NFS4ERR_BAD_RANGE);
    112TRACE_DEFINE_ENUM(NFS4ERR_BAD_SEQID);
    113TRACE_DEFINE_ENUM(NFS4ERR_BAD_SESSION_DIGEST);
    114TRACE_DEFINE_ENUM(NFS4ERR_BAD_STATEID);
    115TRACE_DEFINE_ENUM(NFS4ERR_CB_PATH_DOWN);
    116TRACE_DEFINE_ENUM(NFS4ERR_CLID_INUSE);
    117TRACE_DEFINE_ENUM(NFS4ERR_CLIENTID_BUSY);
    118TRACE_DEFINE_ENUM(NFS4ERR_COMPLETE_ALREADY);
    119TRACE_DEFINE_ENUM(NFS4ERR_CONN_NOT_BOUND_TO_SESSION);
    120TRACE_DEFINE_ENUM(NFS4ERR_DEADLOCK);
    121TRACE_DEFINE_ENUM(NFS4ERR_DEADSESSION);
    122TRACE_DEFINE_ENUM(NFS4ERR_DELAY);
    123TRACE_DEFINE_ENUM(NFS4ERR_DELEG_ALREADY_WANTED);
    124TRACE_DEFINE_ENUM(NFS4ERR_DELEG_REVOKED);
    125TRACE_DEFINE_ENUM(NFS4ERR_DENIED);
    126TRACE_DEFINE_ENUM(NFS4ERR_DIRDELEG_UNAVAIL);
    127TRACE_DEFINE_ENUM(NFS4ERR_DQUOT);
    128TRACE_DEFINE_ENUM(NFS4ERR_ENCR_ALG_UNSUPP);
    129TRACE_DEFINE_ENUM(NFS4ERR_EXIST);
    130TRACE_DEFINE_ENUM(NFS4ERR_EXPIRED);
    131TRACE_DEFINE_ENUM(NFS4ERR_FBIG);
    132TRACE_DEFINE_ENUM(NFS4ERR_FHEXPIRED);
    133TRACE_DEFINE_ENUM(NFS4ERR_FILE_OPEN);
    134TRACE_DEFINE_ENUM(NFS4ERR_GRACE);
    135TRACE_DEFINE_ENUM(NFS4ERR_HASH_ALG_UNSUPP);
    136TRACE_DEFINE_ENUM(NFS4ERR_INVAL);
    137TRACE_DEFINE_ENUM(NFS4ERR_IO);
    138TRACE_DEFINE_ENUM(NFS4ERR_ISDIR);
    139TRACE_DEFINE_ENUM(NFS4ERR_LAYOUTTRYLATER);
    140TRACE_DEFINE_ENUM(NFS4ERR_LAYOUTUNAVAILABLE);
    141TRACE_DEFINE_ENUM(NFS4ERR_LEASE_MOVED);
    142TRACE_DEFINE_ENUM(NFS4ERR_LOCKED);
    143TRACE_DEFINE_ENUM(NFS4ERR_LOCKS_HELD);
    144TRACE_DEFINE_ENUM(NFS4ERR_LOCK_RANGE);
    145TRACE_DEFINE_ENUM(NFS4ERR_MINOR_VERS_MISMATCH);
    146TRACE_DEFINE_ENUM(NFS4ERR_MLINK);
    147TRACE_DEFINE_ENUM(NFS4ERR_MOVED);
    148TRACE_DEFINE_ENUM(NFS4ERR_NAMETOOLONG);
    149TRACE_DEFINE_ENUM(NFS4ERR_NOENT);
    150TRACE_DEFINE_ENUM(NFS4ERR_NOFILEHANDLE);
    151TRACE_DEFINE_ENUM(NFS4ERR_NOMATCHING_LAYOUT);
    152TRACE_DEFINE_ENUM(NFS4ERR_NOSPC);
    153TRACE_DEFINE_ENUM(NFS4ERR_NOTDIR);
    154TRACE_DEFINE_ENUM(NFS4ERR_NOTEMPTY);
    155TRACE_DEFINE_ENUM(NFS4ERR_NOTSUPP);
    156TRACE_DEFINE_ENUM(NFS4ERR_NOT_ONLY_OP);
    157TRACE_DEFINE_ENUM(NFS4ERR_NOT_SAME);
    158TRACE_DEFINE_ENUM(NFS4ERR_NO_GRACE);
    159TRACE_DEFINE_ENUM(NFS4ERR_NXIO);
    160TRACE_DEFINE_ENUM(NFS4ERR_OLD_STATEID);
    161TRACE_DEFINE_ENUM(NFS4ERR_OPENMODE);
    162TRACE_DEFINE_ENUM(NFS4ERR_OP_ILLEGAL);
    163TRACE_DEFINE_ENUM(NFS4ERR_OP_NOT_IN_SESSION);
    164TRACE_DEFINE_ENUM(NFS4ERR_PERM);
    165TRACE_DEFINE_ENUM(NFS4ERR_PNFS_IO_HOLE);
    166TRACE_DEFINE_ENUM(NFS4ERR_PNFS_NO_LAYOUT);
    167TRACE_DEFINE_ENUM(NFS4ERR_RECALLCONFLICT);
    168TRACE_DEFINE_ENUM(NFS4ERR_RECLAIM_BAD);
    169TRACE_DEFINE_ENUM(NFS4ERR_RECLAIM_CONFLICT);
    170TRACE_DEFINE_ENUM(NFS4ERR_REJECT_DELEG);
    171TRACE_DEFINE_ENUM(NFS4ERR_REP_TOO_BIG);
    172TRACE_DEFINE_ENUM(NFS4ERR_REP_TOO_BIG_TO_CACHE);
    173TRACE_DEFINE_ENUM(NFS4ERR_REQ_TOO_BIG);
    174TRACE_DEFINE_ENUM(NFS4ERR_RESOURCE);
    175TRACE_DEFINE_ENUM(NFS4ERR_RESTOREFH);
    176TRACE_DEFINE_ENUM(NFS4ERR_RETRY_UNCACHED_REP);
    177TRACE_DEFINE_ENUM(NFS4ERR_RETURNCONFLICT);
    178TRACE_DEFINE_ENUM(NFS4ERR_ROFS);
    179TRACE_DEFINE_ENUM(NFS4ERR_SAME);
    180TRACE_DEFINE_ENUM(NFS4ERR_SHARE_DENIED);
    181TRACE_DEFINE_ENUM(NFS4ERR_SEQUENCE_POS);
    182TRACE_DEFINE_ENUM(NFS4ERR_SEQ_FALSE_RETRY);
    183TRACE_DEFINE_ENUM(NFS4ERR_SEQ_MISORDERED);
    184TRACE_DEFINE_ENUM(NFS4ERR_SERVERFAULT);
    185TRACE_DEFINE_ENUM(NFS4ERR_STALE);
    186TRACE_DEFINE_ENUM(NFS4ERR_STALE_CLIENTID);
    187TRACE_DEFINE_ENUM(NFS4ERR_STALE_STATEID);
    188TRACE_DEFINE_ENUM(NFS4ERR_SYMLINK);
    189TRACE_DEFINE_ENUM(NFS4ERR_TOOSMALL);
    190TRACE_DEFINE_ENUM(NFS4ERR_TOO_MANY_OPS);
    191TRACE_DEFINE_ENUM(NFS4ERR_UNKNOWN_LAYOUTTYPE);
    192TRACE_DEFINE_ENUM(NFS4ERR_UNSAFE_COMPOUND);
    193TRACE_DEFINE_ENUM(NFS4ERR_WRONGSEC);
    194TRACE_DEFINE_ENUM(NFS4ERR_WRONG_CRED);
    195TRACE_DEFINE_ENUM(NFS4ERR_WRONG_TYPE);
    196TRACE_DEFINE_ENUM(NFS4ERR_XDEV);
    197
    198TRACE_DEFINE_ENUM(NFS4ERR_RESET_TO_MDS);
    199TRACE_DEFINE_ENUM(NFS4ERR_RESET_TO_PNFS);
    200
    201#define show_nfs4_status(x) \
    202	__print_symbolic(x, \
    203		{ NFS4_OK,			"OK" }, \
    204		{ EPERM,			"EPERM" }, \
    205		{ ENOENT,			"ENOENT" }, \
    206		{ EIO,				"EIO" }, \
    207		{ ENXIO,			"ENXIO" }, \
    208		{ EACCES,			"EACCES" }, \
    209		{ EEXIST,			"EEXIST" }, \
    210		{ EXDEV,			"EXDEV" }, \
    211		{ ENOTDIR,			"ENOTDIR" }, \
    212		{ EISDIR,			"EISDIR" }, \
    213		{ EFBIG,			"EFBIG" }, \
    214		{ ENOSPC,			"ENOSPC" }, \
    215		{ EROFS,			"EROFS" }, \
    216		{ EMLINK,			"EMLINK" }, \
    217		{ ENAMETOOLONG,			"ENAMETOOLONG" }, \
    218		{ ENOTEMPTY,			"ENOTEMPTY" }, \
    219		{ EDQUOT,			"EDQUOT" }, \
    220		{ ESTALE,			"ESTALE" }, \
    221		{ EBADHANDLE,			"EBADHANDLE" }, \
    222		{ EBADCOOKIE,			"EBADCOOKIE" }, \
    223		{ ENOTSUPP,			"ENOTSUPP" }, \
    224		{ ETOOSMALL,			"ETOOSMALL" }, \
    225		{ EREMOTEIO,			"EREMOTEIO" }, \
    226		{ EBADTYPE,			"EBADTYPE" }, \
    227		{ EAGAIN,			"EAGAIN" }, \
    228		{ ELOOP,			"ELOOP" }, \
    229		{ EOPNOTSUPP,			"EOPNOTSUPP" }, \
    230		{ EDEADLK,			"EDEADLK" }, \
    231		{ ENOMEM,			"ENOMEM" }, \
    232		{ EKEYEXPIRED,			"EKEYEXPIRED" }, \
    233		{ ETIMEDOUT,			"ETIMEDOUT" }, \
    234		{ ERESTARTSYS,			"ERESTARTSYS" }, \
    235		{ ECONNREFUSED,			"ECONNREFUSED" }, \
    236		{ ECONNRESET,			"ECONNRESET" }, \
    237		{ ENETUNREACH,			"ENETUNREACH" }, \
    238		{ EHOSTUNREACH,			"EHOSTUNREACH" }, \
    239		{ EHOSTDOWN,			"EHOSTDOWN" }, \
    240		{ EPIPE,			"EPIPE" }, \
    241		{ EPFNOSUPPORT,			"EPFNOSUPPORT" }, \
    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_nfs4_seq4_status(x) \
    364	__print_flags(x, "|", \
    365		{ SEQ4_STATUS_CB_PATH_DOWN,		"CB_PATH_DOWN" }, \
    366		{ SEQ4_STATUS_CB_GSS_CONTEXTS_EXPIRING,	"CB_GSS_CONTEXTS_EXPIRING" }, \
    367		{ SEQ4_STATUS_CB_GSS_CONTEXTS_EXPIRED,	"CB_GSS_CONTEXTS_EXPIRED" }, \
    368		{ SEQ4_STATUS_EXPIRED_ALL_STATE_REVOKED, "EXPIRED_ALL_STATE_REVOKED" }, \
    369		{ SEQ4_STATUS_EXPIRED_SOME_STATE_REVOKED, "EXPIRED_SOME_STATE_REVOKED" }, \
    370		{ SEQ4_STATUS_ADMIN_STATE_REVOKED,	"ADMIN_STATE_REVOKED" }, \
    371		{ SEQ4_STATUS_RECALLABLE_STATE_REVOKED,	"RECALLABLE_STATE_REVOKED" }, \
    372		{ SEQ4_STATUS_LEASE_MOVED,		"LEASE_MOVED" }, \
    373		{ SEQ4_STATUS_RESTART_RECLAIM_NEEDED,	"RESTART_RECLAIM_NEEDED" }, \
    374		{ SEQ4_STATUS_CB_PATH_DOWN_SESSION,	"CB_PATH_DOWN_SESSION" }, \
    375		{ SEQ4_STATUS_BACKCHANNEL_FAULT,	"BACKCHANNEL_FAULT" })