/usr/share/systemtap/tapset/linux/nfsderrno.stp is in systemtap-common 2.6-0.2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 | // nfsd errnos tapset
// Copyright (C) 2010 Red Hat Inc.
//
// This file is part of systemtap, and is free software. You can
// redistribute it and/or modify it under the terms of the GNU General
// Public License (GPL); either version 2, or (at your option) any
// later version.
%{
#include <linux/nfs.h>
#include <linux/nfs4.h>
#define nfs_ok __constant_htonl(NFS_OK)
#define nfserr_perm __constant_htonl(NFSERR_PERM)
#define nfserr_noent __constant_htonl(NFSERR_NOENT)
#define nfserr_io __constant_htonl(NFSERR_IO)
#define nfserr_nxio __constant_htonl(NFSERR_NXIO)
#define nfserr_eagain __constant_htonl(NFSERR_EAGAIN)
#define nfserr_acces __constant_htonl(NFSERR_ACCES)
#define nfserr_exist __constant_htonl(NFSERR_EXIST)
#define nfserr_xdev __constant_htonl(NFSERR_XDEV)
#define nfserr_nodev __constant_htonl(NFSERR_NODEV)
#define nfserr_notdir __constant_htonl(NFSERR_NOTDIR)
#define nfserr_isdir __constant_htonl(NFSERR_ISDIR)
#define nfserr_inval __constant_htonl(NFSERR_INVAL)
#define nfserr_fbig __constant_htonl(NFSERR_FBIG)
#define nfserr_nospc __constant_htonl(NFSERR_NOSPC)
#define nfserr_rofs __constant_htonl(NFSERR_ROFS)
#define nfserr_mlink __constant_htonl(NFSERR_MLINK)
#define nfserr_opnotsupp __constant_htonl(NFSERR_OPNOTSUPP)
#define nfserr_nametoolong __constant_htonl(NFSERR_NAMETOOLONG)
#define nfserr_notempty __constant_htonl(NFSERR_NOTEMPTY)
#define nfserr_dquot __constant_htonl(NFSERR_DQUOT)
#define nfserr_stale __constant_htonl(NFSERR_STALE)
#define nfserr_remote __constant_htonl(NFSERR_REMOTE)
#define nfserr_wflush __constant_htonl(NFSERR_WFLUSH)
#define nfserr_badhandle __constant_htonl(NFSERR_BADHANDLE)
#define nfserr_notsync __constant_htonl(NFSERR_NOT_SYNC)
#define nfserr_badcookie __constant_htonl(NFSERR_BAD_COOKIE)
#define nfserr_notsupp __constant_htonl(NFSERR_NOTSUPP)
#define nfserr_toosmall __constant_htonl(NFSERR_TOOSMALL)
#define nfserr_serverfault __constant_htonl(NFSERR_SERVERFAULT)
#define nfserr_badtype __constant_htonl(NFSERR_BADTYPE)
#define nfserr_jukebox __constant_htonl(NFSERR_JUKEBOX)
#define nfserr_denied __constant_htonl(NFSERR_DENIED)
#define nfserr_deadlock __constant_htonl(NFSERR_DEADLOCK)
#define nfserr_expired __constant_htonl(NFSERR_EXPIRED)
#define nfserr_bad_cookie __constant_htonl(NFSERR_BAD_COOKIE)
#define nfserr_same __constant_htonl(NFSERR_SAME)
#define nfserr_clid_inuse __constant_htonl(NFSERR_CLID_INUSE)
#define nfserr_stale_clientid __constant_htonl(NFSERR_STALE_CLIENTID)
#define nfserr_resource __constant_htonl(NFSERR_RESOURCE)
#define nfserr_moved __constant_htonl(NFSERR_MOVED)
#define nfserr_nofilehandle __constant_htonl(NFSERR_NOFILEHANDLE)
#define nfserr_minor_vers_mismatch __constant_htonl(NFSERR_MINOR_VERS_MISMATCH)
#define nfserr_share_denied __constant_htonl(NFSERR_SHARE_DENIED)
#define nfserr_stale_stateid __constant_htonl(NFSERR_STALE_STATEID)
#define nfserr_old_stateid __constant_htonl(NFSERR_OLD_STATEID)
#define nfserr_bad_stateid __constant_htonl(NFSERR_BAD_STATEID)
#define nfserr_bad_seqid __constant_htonl(NFSERR_BAD_SEQID)
#define nfserr_symlink __constant_htonl(NFSERR_SYMLINK)
#define nfserr_not_same __constant_htonl(NFSERR_NOT_SAME)
#define nfserr_restorefh __constant_htonl(NFSERR_RESTOREFH)
#define nfserr_attrnotsupp __constant_htonl(NFSERR_ATTRNOTSUPP)
#define nfserr_bad_xdr __constant_htonl(NFSERR_BAD_XDR)
#define nfserr_openmode __constant_htonl(NFSERR_OPENMODE)
#define nfserr_locks_held __constant_htonl(NFSERR_LOCKS_HELD)
#define nfserr_op_illegal __constant_htonl(NFSERR_OP_ILLEGAL)
#define nfserr_grace __constant_htonl(NFSERR_GRACE)
#define nfserr_no_grace __constant_htonl(NFSERR_NO_GRACE)
#define nfserr_reclaim_bad __constant_htonl(NFSERR_RECLAIM_BAD)
#define nfserr_badname __constant_htonl(NFSERR_BADNAME)
#define nfserr_cb_path_down __constant_htonl(NFSERR_CB_PATH_DOWN)
#define nfserr_locked __constant_htonl(NFSERR_LOCKED)
#define nfserr_wrongsec __constant_htonl(NFSERR_WRONGSEC)
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,30)
#define nfserr_badiomode __constant_htonl(NFS4ERR_BADIOMODE)
#define nfserr_badlayout __constant_htonl(NFS4ERR_BADLAYOUT)
#define nfserr_bad_session_digest __constant_htonl(NFS4ERR_BAD_SESSION_DIGEST)
#define nfserr_badsession __constant_htonl(NFS4ERR_BADSESSION)
#define nfserr_badslot __constant_htonl(NFS4ERR_BADSLOT)
#define nfserr_complete_already __constant_htonl(NFS4ERR_COMPLETE_ALREADY)
#define nfserr_conn_not_bound_to_session __constant_htonl(NFS4ERR_CONN_NOT_BOUND_TO_SESSION)
#define nfserr_deleg_already_wanted __constant_htonl(NFS4ERR_DELEG_ALREADY_WANTED)
#define nfserr_back_chan_busy __constant_htonl(NFS4ERR_BACK_CHAN_BUSY)
#define nfserr_layouttrylater __constant_htonl(NFS4ERR_LAYOUTTRYLATER)
#define nfserr_layoutunavailable __constant_htonl(NFS4ERR_LAYOUTUNAVAILABLE)
#define nfserr_nomatching_layout __constant_htonl(NFS4ERR_NOMATCHING_LAYOUT)
#define nfserr_recallconflict __constant_htonl(NFS4ERR_RECALLCONFLICT)
#define nfserr_unknown_layouttype __constant_htonl(NFS4ERR_UNKNOWN_LAYOUTTYPE)
#define nfserr_seq_misordered __constant_htonl(NFS4ERR_SEQ_MISORDERED)
#define nfserr_sequence_pos __constant_htonl(NFS4ERR_SEQUENCE_POS)
#define nfserr_req_too_big __constant_htonl(NFS4ERR_REQ_TOO_BIG)
#define nfserr_rep_too_big __constant_htonl(NFS4ERR_REP_TOO_BIG)
#define nfserr_rep_too_big_to_cache __constant_htonl(NFS4ERR_REP_TOO_BIG_TO_CACHE)
#define nfserr_retry_uncached_rep __constant_htonl(NFS4ERR_RETRY_UNCACHED_REP)
#define nfserr_unsafe_compound __constant_htonl(NFS4ERR_UNSAFE_COMPOUND)
#define nfserr_too_many_ops __constant_htonl(NFS4ERR_TOO_MANY_OPS)
#define nfserr_op_not_in_session __constant_htonl(NFS4ERR_OP_NOT_IN_SESSION)
#define nfserr_hash_alg_unsupp __constant_htonl(NFS4ERR_HASH_ALG_UNSUPP)
#define nfserr_clientid_busy __constant_htonl(NFS4ERR_CLIENTID_BUSY)
#define nfserr_pnfs_io_hole __constant_htonl(NFS4ERR_PNFS_IO_HOLE)
#define nfserr_seq_false_retry __constant_htonl(NFS4ERR_SEQ_FALSE_RETRY)
#define nfserr_bad_high_slot __constant_htonl(NFS4ERR_BAD_HIGH_SLOT)
#define nfserr_deadsession __constant_htonl(NFS4ERR_DEADSESSION)
#define nfserr_encr_alg_unsupp __constant_htonl(NFS4ERR_ENCR_ALG_UNSUPP)
#define nfserr_pnfs_no_layout __constant_htonl(NFS4ERR_PNFS_NO_LAYOUT)
#define nfserr_not_only_op __constant_htonl(NFS4ERR_NOT_ONLY_OP)
#define nfserr_wrong_cred __constant_htonl(NFS4ERR_WRONG_CRED)
#define nfserr_wrong_type __constant_htonl(NFS4ERR_WRONG_TYPE)
#define nfserr_dirdeleg_unavail __constant_htonl(NFS4ERR_DIRDELEG_UNAVAIL)
#define nfserr_reject_deleg __constant_htonl(NFS4ERR_REJECT_DELEG)
#define nfserr_returnconflict __constant_htonl(NFS4ERR_RETURNCONFLICT)
#define nfserr_deleg_revoked __constant_htonl(NFS4ERR_DELEG_REVOKED)
#endif
%}
/**
* sfunction nfsderror - Convert nfsd error number into string
* @err: errnum
*
* Description: This function returns a string for the error number
* passed into the function.
*/
function nfsderror:string(err:long)
%{
static struct {
int nfserr;
char *string;
} nfs_errtbl[] = {
{nfs_ok, "NFS_OK"},
{nfserr_perm, "NFSERR_PERM"},
{nfserr_noent, "NFSERR_NOENT"},
{nfserr_io, "NFSERR_IO"},
{nfserr_nxio, "NFSERR_NXIO"},
{nfserr_eagain, "NFSERR_EAGAIN"},
{nfserr_acces, "NFSERR_ACCES"},
{nfserr_exist, "NFSERR_EXIST"},
{nfserr_xdev, "NFSERR_XDEV"},
{nfserr_nodev, "NFSERR_NODEV"},
{nfserr_notdir, "NFSERR_NOTDIR"},
{nfserr_isdir, "NFSERR_ISDIR"},
{nfserr_inval, "NFSERR_INVAL"},
{nfserr_fbig, "NFSERR_FBIG"},
{nfserr_nospc, "NFSERR_NOSPC"},
{nfserr_rofs, "NFSERR_ROFS"},
{nfserr_mlink, "NFSERR_MLINK"},
{nfserr_opnotsupp, "NFSERR_OPNOTSUPP"},
{nfserr_nametoolong, "NFSERR_NAMETOOLONG"},
{nfserr_notempty, "NFSERR_NOTEMPTY"},
{nfserr_dquot, "NFSERR_DQUOT"},
{nfserr_stale, "NFSERR_STALE"},
{nfserr_remote, "NFSERR_REMOTE"},
{nfserr_wflush, "NFSERR_WFLUSH"},
{nfserr_badhandle, "NFSERR_BADHANDLE"},
{nfserr_notsync, "NFSERR_NOT_SYNC"},
{nfserr_badcookie, "NFSERR_BAD_COOKIE"},
{nfserr_notsupp, "NFSERR_NOTSUPP"},
{nfserr_toosmall, "NFSERR_TOOSMALL"},
{nfserr_serverfault, "NFSERR_SERVERFAULT"},
{nfserr_badtype, "NFSERR_BADTYPE"},
{nfserr_jukebox, "NFSERR_JUKEBOX"},
{nfserr_denied, "NFSERR_DENIED"},
{nfserr_deadlock, "NFSERR_DEADLOCK"},
{nfserr_expired, "NFSERR_EXPIRED"},
{nfserr_bad_cookie, "NFSERR_BAD_COOKIE"},
{nfserr_same, "NFSERR_SAME"},
{nfserr_clid_inuse, "NFSERR_CLID_INUSE"},
{nfserr_stale_clientid, "NFSERR_STALE_CLIENTID"},
{nfserr_resource, "NFSERR_RESOURCE"},
{nfserr_moved, "NFSERR_MOVED"},
{nfserr_nofilehandle, "NFSERR_NOFILEHANDLE"},
{nfserr_minor_vers_mismatch, "NFSERR_MINOR_VERS_MISMATCH"},
{nfserr_share_denied, "NFSERR_SHARE_DENIED"},
{nfserr_stale_stateid, "NFSERR_STALE_STATEID"},
{nfserr_old_stateid, "NFSERR_OLD_STATEID"},
{nfserr_bad_stateid, "NFSERR_BAD_STATEID"},
{nfserr_bad_seqid, "NFSERR_BAD_SEQID"},
{nfserr_symlink , "NFSERR_SYMLINK"},
{nfserr_not_same , "NFSERR_NOT_SAME"},
{nfserr_restorefh , "NFSERR_RESTOREFH"},
{nfserr_attrnotsupp, "NFSERR_ATTRNOTSUPP"},
{nfserr_bad_xdr, "NFSERR_BAD_XDR"},
{nfserr_openmode, "NFSERR_OPENMODE"},
{nfserr_locks_held, "NFSERR_LOCKS_HELD"},
{nfserr_op_illegal, "NFSERR_OP_ILLEGAL"},
{nfserr_grace, "NFSERR_GRACE"},
{nfserr_no_grace, "NFSERR_NO_GRACE"},
{nfserr_reclaim_bad, "NFSERR_RECLAIM_BAD"},
{nfserr_badname, "NFSERR_BADNAME"},
{nfserr_cb_path_down, "NFSERR_CB_PATH_DOWN"},
{nfserr_locked, "NFSERR_LOCKED"},
{nfserr_wrongsec, "NFSERR_WRONGSEC"},
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,30)
{nfserr_badiomode, "NFS4ERR_BADIOMODE"},
{nfserr_badlayout, "NFS4ERR_BADLAYOUT"},
{nfserr_bad_session_digest, "NFS4ERR_BAD_SESSION_DIGEST"},
{nfserr_badsession, "NFS4ERR_BADSESSION"},
{nfserr_badslot, "NFS4ERR_BADSLOT"},
{nfserr_complete_already, "NFS4ERR_COMPLETE_ALREADY"},
{nfserr_conn_not_bound_to_session, "NFS4ERR_CONN_NOT_BOUND_TO_SESSION"},
{nfserr_deleg_already_wanted, "NFS4ERR_DELEG_ALREADY_WANTED"},
{nfserr_back_chan_busy, "NFS4ERR_BACK_CHAN_BUSY"},
{nfserr_layouttrylater, "NFS4ERR_LAYOUTTRYLATER"},
{nfserr_layoutunavailable, "NFS4ERR_LAYOUTUNAVAILABLE"},
{nfserr_nomatching_layout, "NFS4ERR_NOMATCHING_LAYOUT"},
{nfserr_recallconflict, "NFS4ERR_RECALLCONFLICT"},
{nfserr_unknown_layouttype, "NFS4ERR_UNKNOWN_LAYOUTTYPE"},
{nfserr_seq_misordered, "NFS4ERR_SEQ_MISORDERED"},
{nfserr_sequence_pos, "NFS4ERR_SEQUENCE_POS"},
{nfserr_req_too_big, "NFS4ERR_REQ_TOO_BIG"},
{nfserr_rep_too_big, "NFS4ERR_REP_TOO_BIG"},
{nfserr_rep_too_big_to_cache, "NFS4ERR_REP_TOO_BIG_TO_CACHE"},
{nfserr_retry_uncached_rep, "NFS4ERR_RETRY_UNCACHED_REP"},
{nfserr_unsafe_compound, "NFS4ERR_UNSAFE_COMPOUND"},
{nfserr_too_many_ops, "NFS4ERR_TOO_MANY_OPS"},
{nfserr_op_not_in_session, "NFS4ERR_OP_NOT_IN_SESSION"},
{nfserr_hash_alg_unsupp, "NFS4ERR_HASH_ALG_UNSUPP"},
{nfserr_clientid_busy, "NFS4ERR_CLIENTID_BUSY"},
{nfserr_pnfs_io_hole, "NFS4ERR_PNFS_IO_HOLE"},
{nfserr_seq_false_retry, "NFS4ERR_SEQ_FALSE_RETRY"},
{nfserr_bad_high_slot, "NFS4ERR_BAD_HIGH_SLOT"},
{nfserr_deadsession, "NFS4ERR_DEADSESSION"},
{nfserr_encr_alg_unsupp, "NFS4ERR_ENCR_ALG_UNSUPP"},
{nfserr_pnfs_no_layout, "NFS4ERR_PNFS_NO_LAYOUT"},
{nfserr_not_only_op, "NFS4ERR_NOT_ONLY_OP"},
{nfserr_wrong_cred, "NFS4ERR_WRONG_CRED"},
{nfserr_wrong_type, "NFS4ERR_WRONG_TYPE"},
{nfserr_dirdeleg_unavail, "NFS4ERR_DIRDELEG_UNAVAIL"},
{nfserr_reject_deleg, "NFS4ERR_REJECT_DELEG"},
{nfserr_returnconflict, "NFS4ERR_RETURNCONFLICT"},
{nfserr_deleg_revoked, "NFS4ERR_DELEG_REVOKED"},
#endif
};
int i;
int tabsz = (sizeof(nfs_errtbl)/sizeof(nfs_errtbl[0]));
for (i = 0; i < tabsz; i++) {
if (nfs_errtbl[i].nfserr == STAP_ARG_err) {
break;
}
}
if (i == tabsz)
snprintf(STAP_RETVALUE, MAXSTRINGLEN, "nfsderr %d", ntohl(STAP_ARG_err));
else
snprintf(STAP_RETVALUE, MAXSTRINGLEN,
"nfsderr %d(%s)", ntohl(nfs_errtbl[i].nfserr), nfs_errtbl[i].string);
%}
|