|  | // SPDX-License-Identifier: GPL-2.0 | 
|  | /* | 
|  | * Ceph fs string constants | 
|  | */ | 
|  | #include <linux/module.h> | 
|  | #include <linux/ceph/types.h> | 
|  |  | 
|  |  | 
|  | const char *ceph_mds_state_name(int s) | 
|  | { | 
|  | switch (s) { | 
|  | /* down and out */ | 
|  | case CEPH_MDS_STATE_DNE:        return "down:dne"; | 
|  | case CEPH_MDS_STATE_STOPPED:    return "down:stopped"; | 
|  | /* up and out */ | 
|  | case CEPH_MDS_STATE_BOOT:       return "up:boot"; | 
|  | case CEPH_MDS_STATE_STANDBY:    return "up:standby"; | 
|  | case CEPH_MDS_STATE_STANDBY_REPLAY:    return "up:standby-replay"; | 
|  | case CEPH_MDS_STATE_REPLAYONCE: return "up:oneshot-replay"; | 
|  | case CEPH_MDS_STATE_CREATING:   return "up:creating"; | 
|  | case CEPH_MDS_STATE_STARTING:   return "up:starting"; | 
|  | /* up and in */ | 
|  | case CEPH_MDS_STATE_REPLAY:     return "up:replay"; | 
|  | case CEPH_MDS_STATE_RESOLVE:    return "up:resolve"; | 
|  | case CEPH_MDS_STATE_RECONNECT:  return "up:reconnect"; | 
|  | case CEPH_MDS_STATE_REJOIN:     return "up:rejoin"; | 
|  | case CEPH_MDS_STATE_CLIENTREPLAY: return "up:clientreplay"; | 
|  | case CEPH_MDS_STATE_ACTIVE:     return "up:active"; | 
|  | case CEPH_MDS_STATE_STOPPING:   return "up:stopping"; | 
|  | } | 
|  | return "???"; | 
|  | } | 
|  |  | 
|  | const char *ceph_session_op_name(int op) | 
|  | { | 
|  | switch (op) { | 
|  | case CEPH_SESSION_REQUEST_OPEN: return "request_open"; | 
|  | case CEPH_SESSION_OPEN: return "open"; | 
|  | case CEPH_SESSION_REQUEST_CLOSE: return "request_close"; | 
|  | case CEPH_SESSION_CLOSE: return "close"; | 
|  | case CEPH_SESSION_REQUEST_RENEWCAPS: return "request_renewcaps"; | 
|  | case CEPH_SESSION_RENEWCAPS: return "renewcaps"; | 
|  | case CEPH_SESSION_STALE: return "stale"; | 
|  | case CEPH_SESSION_RECALL_STATE: return "recall_state"; | 
|  | case CEPH_SESSION_FLUSHMSG: return "flushmsg"; | 
|  | case CEPH_SESSION_FLUSHMSG_ACK: return "flushmsg_ack"; | 
|  | case CEPH_SESSION_FORCE_RO: return "force_ro"; | 
|  | case CEPH_SESSION_REJECT: return "reject"; | 
|  | case CEPH_SESSION_REQUEST_FLUSH_MDLOG: return "flush_mdlog"; | 
|  | } | 
|  | return "???"; | 
|  | } | 
|  |  | 
|  | const char *ceph_mds_op_name(int op) | 
|  | { | 
|  | switch (op) { | 
|  | case CEPH_MDS_OP_LOOKUP:  return "lookup"; | 
|  | case CEPH_MDS_OP_LOOKUPHASH:  return "lookuphash"; | 
|  | case CEPH_MDS_OP_LOOKUPPARENT:  return "lookupparent"; | 
|  | case CEPH_MDS_OP_LOOKUPINO:  return "lookupino"; | 
|  | case CEPH_MDS_OP_LOOKUPNAME:  return "lookupname"; | 
|  | case CEPH_MDS_OP_GETATTR:  return "getattr"; | 
|  | case CEPH_MDS_OP_SETXATTR: return "setxattr"; | 
|  | case CEPH_MDS_OP_SETATTR: return "setattr"; | 
|  | case CEPH_MDS_OP_RMXATTR: return "rmxattr"; | 
|  | case CEPH_MDS_OP_SETLAYOUT: return "setlayou"; | 
|  | case CEPH_MDS_OP_SETDIRLAYOUT: return "setdirlayout"; | 
|  | case CEPH_MDS_OP_READDIR: return "readdir"; | 
|  | case CEPH_MDS_OP_MKNOD: return "mknod"; | 
|  | case CEPH_MDS_OP_LINK: return "link"; | 
|  | case CEPH_MDS_OP_UNLINK: return "unlink"; | 
|  | case CEPH_MDS_OP_RENAME: return "rename"; | 
|  | case CEPH_MDS_OP_MKDIR: return "mkdir"; | 
|  | case CEPH_MDS_OP_RMDIR: return "rmdir"; | 
|  | case CEPH_MDS_OP_SYMLINK: return "symlink"; | 
|  | case CEPH_MDS_OP_CREATE: return "create"; | 
|  | case CEPH_MDS_OP_OPEN: return "open"; | 
|  | case CEPH_MDS_OP_LOOKUPSNAP: return "lookupsnap"; | 
|  | case CEPH_MDS_OP_LSSNAP: return "lssnap"; | 
|  | case CEPH_MDS_OP_MKSNAP: return "mksnap"; | 
|  | case CEPH_MDS_OP_RMSNAP: return "rmsnap"; | 
|  | case CEPH_MDS_OP_RENAMESNAP: return "renamesnap"; | 
|  | case CEPH_MDS_OP_SETFILELOCK: return "setfilelock"; | 
|  | case CEPH_MDS_OP_GETFILELOCK: return "getfilelock"; | 
|  | } | 
|  | return "???"; | 
|  | } | 
|  |  | 
|  | const char *ceph_cap_op_name(int op) | 
|  | { | 
|  | switch (op) { | 
|  | case CEPH_CAP_OP_GRANT: return "grant"; | 
|  | case CEPH_CAP_OP_REVOKE: return "revoke"; | 
|  | case CEPH_CAP_OP_TRUNC: return "trunc"; | 
|  | case CEPH_CAP_OP_EXPORT: return "export"; | 
|  | case CEPH_CAP_OP_IMPORT: return "import"; | 
|  | case CEPH_CAP_OP_UPDATE: return "update"; | 
|  | case CEPH_CAP_OP_DROP: return "drop"; | 
|  | case CEPH_CAP_OP_FLUSH: return "flush"; | 
|  | case CEPH_CAP_OP_FLUSH_ACK: return "flush_ack"; | 
|  | case CEPH_CAP_OP_FLUSHSNAP: return "flushsnap"; | 
|  | case CEPH_CAP_OP_FLUSHSNAP_ACK: return "flushsnap_ack"; | 
|  | case CEPH_CAP_OP_RELEASE: return "release"; | 
|  | case CEPH_CAP_OP_RENEW: return "renew"; | 
|  | } | 
|  | return "???"; | 
|  | } | 
|  |  | 
|  | const char *ceph_lease_op_name(int o) | 
|  | { | 
|  | switch (o) { | 
|  | case CEPH_MDS_LEASE_REVOKE: return "revoke"; | 
|  | case CEPH_MDS_LEASE_RELEASE: return "release"; | 
|  | case CEPH_MDS_LEASE_RENEW: return "renew"; | 
|  | case CEPH_MDS_LEASE_REVOKE_ACK: return "revoke_ack"; | 
|  | } | 
|  | return "???"; | 
|  | } | 
|  |  | 
|  | const char *ceph_snap_op_name(int o) | 
|  | { | 
|  | switch (o) { | 
|  | case CEPH_SNAP_OP_UPDATE: return "update"; | 
|  | case CEPH_SNAP_OP_CREATE: return "create"; | 
|  | case CEPH_SNAP_OP_DESTROY: return "destroy"; | 
|  | case CEPH_SNAP_OP_SPLIT: return "split"; | 
|  | } | 
|  | return "???"; | 
|  | } |