diff options
| author | Xavier Hernandez <jahernan@redhat.com> | 2017-12-12 22:31:53 +0100 | 
|---|---|---|
| committer | Amar Tumballi <amarts@redhat.com> | 2017-12-14 02:33:51 +0000 | 
| commit | 415e0bcc80b350fc75f325b490560f44ba419b20 (patch) | |
| tree | 6b428127e3fb460da434e7eab18352c65898eb9b /libglusterfs/src/glfs-message-id.h | |
| parent | bafe0c14f5743cb084a89595860e4ba33baf900c (diff) | |
all: Simplify component message id's definition
This patch creates a new way of defining message id's that is easier
and less error prone because it doesn't require so many manual changes
each time a new component is defined or a new message created.
Change-Id: I71ba8af9ac068f5add7e74f316a2478bc991c67b
Signed-off-by: Xavier Hernandez <jahernan@redhat.com>
Diffstat (limited to 'libglusterfs/src/glfs-message-id.h')
| -rw-r--r-- | libglusterfs/src/glfs-message-id.h | 234 | 
1 files changed, 63 insertions, 171 deletions
diff --git a/libglusterfs/src/glfs-message-id.h b/libglusterfs/src/glfs-message-id.h index f14b0fb0818..241913d5b45 100644 --- a/libglusterfs/src/glfs-message-id.h +++ b/libglusterfs/src/glfs-message-id.h @@ -20,183 +20,75 @@   * if extensions are being made post the next segment already allocated) */  #define GLFS_MSGID_SEGMENT      1000 +/* Macro to define a range of messages for a component. The first argument is + * the name of the component. The second argument is the number of segments + * to allocate. The defined values will be GLFS_MSGID_COMP_<name> and + * GLFS_MSGID_COMP_<name>_END. */ +#define GLFS_MSGID_COMP(_name, _blocks) \ +        GLFS_MSGID_COMP_##_name, \ +        GLFS_MSGID_COMP_##_name##_END = (GLFS_MSGID_COMP_##_name + \ +                                         (GLFS_MSGID_SEGMENT * (_blocks)) - 1) + +#define GLFS_MSGID(_name, _msgs...) \ +        enum _msgid_table_##_name { \ +                GLFS_##_name##_COMP_BASE = GLFS_MSGID_COMP_##_name, ## _msgs, \ +                GLGS_##_name##_COMP_END \ +        } +  /* Per module message segments allocated */  /* NOTE: For any new module add to the end the modules */ -#define GLFS_MSGID_COMP_GLUSTERFSD         GLFS_MSGID_BASE -#define GLFS_MSGID_COMP_GLUSTERFSD_END     GLFS_MSGID_COMP_GLUSTERFSD + \ -                                           GLFS_MSGID_SEGMENT - -#define GLFS_MSGID_COMP_LIBGLUSTERFS       GLFS_MSGID_COMP_GLUSTERFSD_END -#define GLFS_MSGID_COMP_LIBGLUSTERFS_END   GLFS_MSGID_COMP_LIBGLUSTERFS + \ -                                           GLFS_MSGID_SEGMENT - -#define GLFS_MSGID_COMP_RPC_LIB            GLFS_MSGID_COMP_LIBGLUSTERFS_END -#define GLFS_MSGID_COMP_RPC_LIB_END        GLFS_MSGID_COMP_RPC_LIB + \ -                                           GLFS_MSGID_SEGMENT - -#define GLFS_MSGID_COMP_RPC_TRANS_RDMA     GLFS_MSGID_COMP_RPC_LIB_END -#define GLFS_MSGID_COMP_RPC_TRANS_RDMA_END (GLFS_MSGID_COMP_RPC_TRANS_RDMA + \ -                                           GLFS_MSGID_SEGMENT) - -#define GLFS_MSGID_COMP_API                GLFS_MSGID_COMP_RPC_TRANS_RDMA_END -#define GLFS_MSGID_COMP_API_END            GLFS_MSGID_COMP_API + \ -                                           GLFS_MSGID_SEGMENT - -#define GLFS_MSGID_COMP_CLI                GLFS_MSGID_COMP_API_END -#define GLFS_MSGID_COMP_CLI_END            GLFS_MSGID_COMP_CLI + \ -                                           GLFS_MSGID_SEGMENT - +enum _msgid_comp { +        GLFS_MSGID_RESERVED = GLFS_MSGID_BASE - 1, + +        GLFS_MSGID_COMP(GLUSTERFSD,       1), +        GLFS_MSGID_COMP(LIBGLUSTERFS,     1), +        GLFS_MSGID_COMP(RPC_LIB,          1), +        GLFS_MSGID_COMP(RPC_TRANS_RDMA,   1), +        GLFS_MSGID_COMP(API,              1), +        GLFS_MSGID_COMP(CLI,              1),  /* glusterd has a lot of messages, taking 2 segments for the same */ -#define GLFS_MSGID_GLUSTERD                GLFS_MSGID_COMP_CLI_END -#define GLFS_MSGID_GLUSTERD_END            GLFS_MSGID_GLUSTERD + \ -                                           GLFS_MSGID_SEGMENT + \ -                                           GLFS_MSGID_SEGMENT - -#define GLFS_MSGID_COMP_AFR                GLFS_MSGID_GLUSTERD_END -#define GLFS_MSGID_COMP_AFR_END            GLFS_MSGID_COMP_AFR +\ -                                           GLFS_MSGID_SEGMENT - -#define GLFS_MSGID_COMP_DHT                GLFS_MSGID_COMP_AFR_END -#define GLFS_MSGID_COMP_DHT_END            GLFS_MSGID_COMP_DHT +\ -                                           GLFS_MSGID_SEGMENT - - +        GLFS_MSGID_COMP(GLUSTERD,         2), +        GLFS_MSGID_COMP(AFR,              1), +        GLFS_MSGID_COMP(DHT,              1),  /* there is no component called 'common', however reserving this segment   * for common actions/errors like dict_{get/set}, memory accounting*/ - -#define GLFS_MSGID_COMP_COMMON             GLFS_MSGID_COMP_DHT_END -#define GLFS_MSGID_COMP_COMMON_END         (GLFS_MSGID_COMP_COMMON +\ -                                           GLFS_MSGID_SEGMENT) - -#define GLFS_MSGID_COMP_UPCALL             GLFS_MSGID_COMP_COMMON_END -#define GLFS_MSGID_COMP_UPCALL_END         (GLFS_MSGID_COMP_UPCALL +\ -                                           GLFS_MSGID_SEGMENT) - -#define GLFS_MSGID_COMP_NFS                GLFS_MSGID_COMP_UPCALL_END -#define GLFS_MSGID_COMP_NFS_END            (GLFS_MSGID_COMP_NFS +\ -                                           GLFS_MSGID_SEGMENT) - -#define GLFS_MSGID_COMP_POSIX              GLFS_MSGID_COMP_NFS_END -#define GLFS_MSGID_COMP_POSIX_END          (GLFS_MSGID_COMP_POSIX +\ -                                           GLFS_MSGID_SEGMENT) - -#define GLFS_MSGID_COMP_PC                 GLFS_MSGID_COMP_POSIX_END -#define GLFS_MSGID_COMP_PC_END             (GLFS_MSGID_COMP_PC +\ -                                           GLFS_MSGID_SEGMENT) - -#define GLFS_MSGID_COMP_PS                 GLFS_MSGID_COMP_PC_END -#define GLFS_MSGID_COMP_PS_END             (GLFS_MSGID_COMP_PS +\ -                                           GLFS_MSGID_SEGMENT) - -#define GLFS_MSGID_COMP_BITROT_STUB        GLFS_MSGID_COMP_PS_END -#define GLFS_MSGID_COMP_BITROT_STUB_END    (GLFS_MSGID_COMP_BITROT_STUB +\ -                                           GLFS_MSGID_SEGMENT) - -#define GLFS_MSGID_COMP_CHANGELOG          GLFS_MSGID_COMP_BITROT_STUB_END -#define GLFS_MSGID_COMP_CHANGELOG_END      (GLFS_MSGID_COMP_CHANGELOG +\ -                                           GLFS_MSGID_SEGMENT) - -#define GLFS_MSGID_COMP_BITROT_BITD        GLFS_MSGID_COMP_CHANGELOG_END -#define GLFS_MSGID_COMP_BITROT_BITD_END    (GLFS_MSGID_COMP_BITROT_BITD +\ -                                           GLFS_MSGID_SEGMENT) - -#define GLFS_MSGID_COMP_RPC_TRANS_SOCKET        GLFS_MSGID_COMP_BITROT_BITD_END -#define GLFS_MSGID_COMP_RPC_TRANS_SOCKET_END    (GLFS_MSGID_COMP_RPC_TRANS_SOCKET + \ -                                                GLFS_MSGID_SEGMENT) - -#define GLFS_MSGID_COMP_QUOTA              GLFS_MSGID_COMP_RPC_TRANS_SOCKET_END -#define GLFS_MSGID_COMP_QUOTA_END          (GLFS_MSGID_COMP_QUOTA +\ -                                           GLFS_MSGID_SEGMENT) - -#define GLFS_MSGID_COMP_CTR                GLFS_MSGID_COMP_QUOTA_END -#define GLFS_MSGID_COMP_CTR_END            (GLFS_MSGID_COMP_CTR+\ -                                           GLFS_MSGID_SEGMENT) - -#define GLFS_MSGID_COMP_EC               GLFS_MSGID_COMP_CTR_END -#define GLFS_MSGID_COMP_EC_END           (GLFS_MSGID_COMP_EC +\ -                                         GLFS_MSGID_SEGMENT) - -#define GLFS_MSGID_COMP_IO_CACHE                GLFS_MSGID_COMP_EC_END -#define GLFS_MSGID_COMP_IO_CACHE_END            (GLFS_MSGID_COMP_IO_CACHE+\ -                                                GLFS_MSGID_SEGMENT) - -#define GLFS_MSGID_COMP_IO_THREADS              GLFS_MSGID_COMP_IO_CACHE_END -#define GLFS_MSGID_COMP_IO_THREADS_END          (GLFS_MSGID_COMP_IO_THREADS+\ -                                                GLFS_MSGID_SEGMENT) - -#define GLFS_MSGID_COMP_MD_CACHE                GLFS_MSGID_COMP_IO_THREADS_END -#define GLFS_MSGID_COMP_MD_CACHE_END            (GLFS_MSGID_COMP_MD_CACHE+\ -                                                GLFS_MSGID_SEGMENT) - -#define GLFS_MSGID_COMP_OPEN_BEHIND             GLFS_MSGID_COMP_MD_CACHE_END -#define GLFS_MSGID_COMP_OPEN_BEHIND_END         (GLFS_MSGID_COMP_OPEN_BEHIND+\ -                                                GLFS_MSGID_SEGMENT) - -#define GLFS_MSGID_COMP_QUICK_READ              GLFS_MSGID_COMP_OPEN_BEHIND_END -#define GLFS_MSGID_COMP_QUICK_READ_END          (GLFS_MSGID_COMP_QUICK_READ+\ -                                                GLFS_MSGID_SEGMENT) - -#define GLFS_MSGID_COMP_READ_AHEAD              GLFS_MSGID_COMP_QUICK_READ_END -#define GLFS_MSGID_COMP_READ_AHEAD_END          (GLFS_MSGID_COMP_READ_AHEAD+\ -                                                GLFS_MSGID_SEGMENT) - -#define GLFS_MSGID_COMP_READDIR_AHEAD           GLFS_MSGID_COMP_READ_AHEAD_END -#define GLFS_MSGID_COMP_READDIR_AHEAD_END       (GLFS_MSGID_COMP_READDIR_AHEAD+\ -                                                GLFS_MSGID_SEGMENT) - -#define GLFS_MSGID_COMP_SYMLINK_CACHE           \ -        GLFS_MSGID_COMP_READDIR_AHEAD_END -#define GLFS_MSGID_COMP_SYMLINK_CACHE_END \ -(GLFS_MSGID_COMP_SYMLINK_CACHE+ \ -                                                GLFS_MSGID_SEGMENT) - -#define GLFS_MSGID_COMP_WRITE_BEHIND             \ -GLFS_MSGID_COMP_SYMLINK_CACHE_END -#define GLFS_MSGID_COMP_WRITE_BEHIND_END        (GLFS_MSGID_COMP_WRITE_BEHIND+\ -                                                GLFS_MSGID_SEGMENT) - -#define GLFS_MSGID_COMP_CHANGELOG_LIB           GLFS_MSGID_COMP_WRITE_BEHIND_END -#define GLFS_MSGID_COMP_CHANGELOG_LIB_END       (GLFS_MSGID_COMP_CHANGELOG_LIB+\ -                                                GLFS_MSGID_SEGMENT) - -#define GLFS_MSGID_COMP_SHARD               GLFS_MSGID_COMP_CHANGELOG_LIB_END -#define GLFS_MSGID_COMP_SHARD_END           (GLFS_MSGID_COMP_SHARD +\ -                                             GLFS_MSGID_SEGMENT) - -#define GLFS_MSGID_COMP_JBR                     GLFS_MSGID_COMP_SHARD_END -#define GLFS_MSGID_COMP_JBR_END                 (GLFS_MSGID_COMP_JBR +\ -                                                 GLFS_MSGID_SEGMENT) - -#define GLFS_MSGID_COMP_PL               GLFS_MSGID_COMP_JBR_END -#define GLFS_MSGID_COMP_PL_END           (GLFS_MSGID_COMP_PL +\ -                                         GLFS_MSGID_SEGMENT) - -#define GLFS_MSGID_COMP_DC                     GLFS_MSGID_COMP_PL_END -#define GLFS_MSGID_COMP_DC_END                 (GLFS_MSGID_COMP_DC +\ -                                                 GLFS_MSGID_SEGMENT) - -#define GLFS_MSGID_COMP_LEASES             GLFS_MSGID_COMP_DC_END -#define GLFS_MSGID_COMP_LEASES_END         (GLFS_MSGID_COMP_LEASES +\ -                                           GLFS_MSGID_SEGMENT) - -#define GLFS_MSGID_COMP_INDEX              GLFS_MSGID_COMP_LEASES_END -#define GLFS_MSGID_COMP_INDEX_END          (GLFS_MSGID_COMP_INDEX +\ -                                           GLFS_MSGID_SEGMENT) - -#define GLFS_MSGID_COMP_POSIX_ACL          GLFS_MSGID_COMP_INDEX_END -#define GLFS_MSGID_COMP_POSIX_ACL_END      (GLFS_MSGID_COMP_POSIX_ACL +\ -                                           GLFS_MSGID_SEGMENT) - -#define GLFS_MSGID_COMP_NLC                GLFS_MSGID_COMP_POSIX_ACL_END -#define GLFS_MSGID_COMP_NLC_END            (GLFS_MSGID_COMP_NLC +\ -                                           GLFS_MSGID_SEGMENT) - -#define GLFS_MSGID_COMP_SL                 GLFS_MSGID_COMP_NLC -#define GLFS_MSGID_COMP_SL_END             (GLFS_MSGID_COMP_SL +\ -                                            GLFS_MSGID_SEGMENT) - - +        GLFS_MSGID_COMP(COMMON,           1), +        GLFS_MSGID_COMP(UPCALL,           1), +        GLFS_MSGID_COMP(NFS,              1), +        GLFS_MSGID_COMP(POSIX,            1), +        GLFS_MSGID_COMP(PC,               1), +        GLFS_MSGID_COMP(PS,               1), +        GLFS_MSGID_COMP(BITROT_STUB,      1), +        GLFS_MSGID_COMP(CHANGELOG,        1), +        GLFS_MSGID_COMP(BITROT_BITD,      1), +        GLFS_MSGID_COMP(RPC_TRANS_SOCKET, 1), +        GLFS_MSGID_COMP(QUOTA,            1), +        GLFS_MSGID_COMP(CTR,              1), +        GLFS_MSGID_COMP(EC,               1), +        GLFS_MSGID_COMP(IO_CACHE,         1), +        GLFS_MSGID_COMP(IO_THREADS,       1), +        GLFS_MSGID_COMP(MD_CACHE,         1), +        GLFS_MSGID_COMP(OPEN_BEHIND,      1), +        GLFS_MSGID_COMP(QUICK_READ,       1), +        GLFS_MSGID_COMP(READ_AHEAD,       1), +        GLFS_MSGID_COMP(READDIR_AHEAD,    1), +        GLFS_MSGID_COMP(SYMLINK_CACHE,    1), +        GLFS_MSGID_COMP(WRITE_BEHIND,     1), +        GLFS_MSGID_COMP(CHANGELOG_LIB,    1), +        GLFS_MSGID_COMP(SHARD,            1), +        GLFS_MSGID_COMP(JBR,              1), +        GLFS_MSGID_COMP(PL,               1), +        GLFS_MSGID_COMP(DC,               1), +        GLFS_MSGID_COMP(LEASES,           1), +        GLFS_MSGID_COMP(INDEX,            1), +        GLFS_MSGID_COMP(POSIX_ACL,        1), +        GLFS_MSGID_COMP(NLC,              1), +        GLFS_MSGID_COMP(SL,               1), +        GLFS_MSGID_COMP(HAM,              1),  /* --- new segments for messages goes above this line --- */ +        GLFS_MSGID_END +}; +  #endif /* !_GLFS_MESSAGE_ID_H_ */  | 
