diff options
Diffstat (limited to 'xlators/cluster/dht/src/dht-messages.h')
| -rw-r--r-- | xlators/cluster/dht/src/dht-messages.h | 443 | 
1 files changed, 443 insertions, 0 deletions
diff --git a/xlators/cluster/dht/src/dht-messages.h b/xlators/cluster/dht/src/dht-messages.h new file mode 100644 index 00000000000..7668e91ac99 --- /dev/null +++ b/xlators/cluster/dht/src/dht-messages.h @@ -0,0 +1,443 @@ +/*Copyright (c) 2013 Red Hat, Inc. <http://www.redhat.com> +  This file is part of GlusterFS. + +  This file is licensed to you under your choice of the GNU Lesser +  General Public License, version 3 or any later version (LGPLv3 or +  later), or the GNU General Public License, version 2 (GPLv2), in all +  cases as published by the Free Software Foundation. +*/ + +#ifndef _DHT_MESSAGES_H_ +#define _DHT_MESSAGES_H_ + +#ifndef _CONFIG_H +#define _CONFIG_H +#include "config.h" +#endif + +#include "glfs-message-id.h" + +/*! \file dht-messages.h + *  \brief DHT log-message IDs and their descriptions + * + */ + +/* NOTE: Rules for message additions + * 1) Each instance of a message is _better_ left with a unique message ID, even + *    if the message format is the same. Reasoning is that, if the message + *    format needs to change in one instance, the other instances are not + *    impacted or the new change does not change the ID of the instance being + *    modified. + * 2) Addition of a message, + *       - Should increment the GLFS_NUM_MESSAGES + *       - Append to the list of messages defined, towards the end + *       - Retain macro naming as glfs_msg_X (for redability across developers) + * NOTE: Rules for message format modifications + * 3) Check acorss the code if the message ID macro in question is reused + *    anywhere. If reused then then the modifications should ensure correctness + *    everywhere, or needs a new message ID as (1) above was not adhered to. If + *    not used anywhere, proceed with the required modification. + * NOTE: Rules for message deletion + * 4) Check (3) and if used anywhere else, then cannot be deleted. If not used + *    anywhere, then can be deleted, but will leave a hole by design, as + *    addition rules specify modification to the end of the list and not filling + *    holes. + */ + +#define GLFS_DHT_BASE                   GLFS_MSGID_COMP_DHT +#define GLFS_DHT_NUM_MESSAGES           35 +#define GLFS_MSGID_END          (GLFS_DHT_BASE + GLFS_DHT_NUM_MESSAGES + 1) + +/* Messages with message IDs */ +#define glfs_msg_start_x GLFS_DHT_BASE, "Invalid: Start of messages" + + + + +/*! + * @messageid 109001 + * @diagnosis   Cached subvolume could not be found for the specified + *              path + * @recommendedaction  None + * + */ + +#define DHT_MSG_CACHED_SUBVOL_GET_FAILED        (GLFS_DHT_BASE + 1) + +/*! + * @messageid 109002 + * @diagnosis Linkfile creation failed + * @recommendedaction  None + * + */ + +#define DHT_MSG_CREATE_LINK_FAILED       (GLFS_DHT_BASE + 2) + +/*! + * @messageid 109003 + * @diagnosis The value could not be set for the specified key in + *       the dictionary + * + * @recommendedaction  None + * + */ + +#define DHT_MSG_DICT_SET_FAILED       (GLFS_DHT_BASE + 3) + +/*! + * @messageid 109004 + * @diagnosis Directory attributes could not be healed + * @recommendedaction  None + * + */ + +#define DHT_MSG_DIR_ATTR_HEAL_FAILED (GLFS_DHT_BASE + 4) + +/*! + * @messageid 109005 + * @diagnosis Self-heal failed for the specified directory + * @recommendedaction  Ensure that all subvolumes are online + *              and reachable and perform a lookup operation + *              on the directory again. + * + */ + +#define DHT_MSG_DIR_SELFHEAL_FAILED  (GLFS_DHT_BASE + 5) + +/*! + * @messageid 109006 + * @diagnosis The extended attributes could not be healed for + *            the specified directory on the specified subvolume + * + * @recommendedaction  None + * + */ + +#define DHT_MSG_DIR_SELFHEAL_XATTR_FAILED  (GLFS_DHT_BASE + 6) + +/*! + * @messageid 109007 + * @diagnosis   A lookup operation found the file with the same path + *      on multiple subvolumes. + * @recommendedaction + *      1. Create backups of the file on other subvolumes. + *      2. Inspect the content of the files to identify + *                      and retain the most appropriate file. + * + */ + +#define DHT_MSG_FILE_ON_MULT_SUBVOL               (GLFS_DHT_BASE + 7) + +/*! + * @messageid 109008 + * @diagnosis A path resolves to a file on one subvolume and a directory + *             on another + * @recommendedaction + *              1. Create a backup of the file with a different name + *              and delete the original file. + *              2. In the newly created back up file, remove the "trusted.gfid" + *                      extended attribute. + *                - Command: setfattr -x "trusted.gfid" \<path to the newly created backup file\> + *              3. Perform a new lookup operation on both the new and old paths. + *              4. From the mount point, inspect both the paths and retain the + *              relevant file or directory. + * + */ + +#define DHT_MSG_FILE_TYPE_MISMATCH        (GLFS_DHT_BASE + 8) + +/*! + * @messageid 109009 + * @diagnosis The GFID of the file/directory is different on different subvolumes + * @recommendedaction  None + * + */ + +#define DHT_MSG_GFID_MISMATCH        (GLFS_DHT_BASE + 9) + +/*! + * @messageid 109010 + * @diagnosis The GFID of the specified file/directory is NULL. + * @recommendedaction  None + * + */ + +#define DHT_MSG_GFID_NULL        (GLFS_DHT_BASE + 10) + +/*! + * @messageid 109011 + * @diagnosis The hashed subvolume could not be found for the specified + *              file/directory + * @recommendedaction  None + * + */ + +#define DHT_MSG_HASHED_SUBVOL_GET_FAILED        (GLFS_DHT_BASE + 11) + +/*! + * @messageid 109012 + * @diagnosis The Distributed Hash Table Translator could not be initiated as the + *            system is out of memory. + * @recommendedaction  None + * + */ + +#define DHT_MSG_INIT_FAILED  (GLFS_DHT_BASE + 12) + +/*! + * @messageid 109013 + * @diagnosis Invalid DHT configuration in the volfile + * @recommendedaction  None + * + */ + +#define DHT_MSG_INVALID_CONFIGURATION  (GLFS_DHT_BASE + 13) + +/*! + * @messageid 109014 + * @diagnosis Invalid disk layout + * @recommendedaction  None + * + */ + +#define DHT_MSG_INVALID_DISK_LAYOUT  (GLFS_DHT_BASE + 14) + +/*! + * @messageid 109015 + * @diagnosis Invalid DHT configuration option. + * @recommendedaction + *              1. Reset the option with a valid value using the volume + *                set command. + *              2. Restart the process that logged the message in the + *                log file. + * + */ + +#define DHT_MSG_INVALID_OPTION  (GLFS_DHT_BASE + 15) + +/*! + * @messageid 109016 + * @diagnosis The fix layout operation failed + * @recommendedaction  None + * + */ + +#define DHT_MSG_LAYOUT_FIX_FAILED       (GLFS_DHT_BASE + 16) + +/*! + * @messageid 109017 + * @diagnosis Layout merge failed + * @recommendedaction  None + * + */ + +#define DHT_MSG_LAYOUT_MERGE_FAILED       (GLFS_DHT_BASE + 17) + +/*! + * @messageid 109018 + * @diagnosis The layout for the specified directory does not match +                that on the disk. + * @recommendedaction  None + * + */ + +#define DHT_MSG_LAYOUT_MISMATCH       (GLFS_DHT_BASE + 18) + +/*! + * @messageid 109019 + * @diagnosis No layout is present for the specified file/directory + * @recommendedaction  None + * + */ + +#define DHT_MSG_LAYOUT_NULL       (GLFS_DHT_BASE + 19) + +/*! + * @messageid 109020 + * @diagnosis Informational message: Migration of data from the cached + *      subvolume to the hashed subvolume is complete + * @recommendedaction  None + * + */ + +#define DHT_MSG_MIGRATE_DATA_COMPLETE     (GLFS_DHT_BASE + 20) + +/*! + * @messageid 109021 + * @diagnosis Migration of data failed during the rebalance operation + *     \n Cause: Directories could not be read to identify the files for the + *             migration process. + * @recommendedaction + *             The log message would indicate the reason for the failure and + *             the corrective action depends on the specific error that is + *             encountered. The error is one of the standard UNIX errors. + * + */ + +#define DHT_MSG_MIGRATE_DATA_FAILED     (GLFS_DHT_BASE + 21) + +/*! + * @messageid 109022 + * @diagnosis Informational message: The file was migrated successfully during + *              the rebalance operation. + * @recommendedaction  None + * + */ + +#define DHT_MSG_MIGRATE_FILE_COMPLETE     (GLFS_DHT_BASE + 22) + +/*! + * @messageid 109023 + * @diagnosis File migration failed during the rebalance operation + *            \n Cause: Rebalance moves data from the cached subvolume to + *            the hashed subvolume. Migrating a single file is a multi-step operation + *            which involves opening, reading, and writing the data and metadata. + *            Any failures in this multi-step operation can result in a file + *            migration failure. + * @recommendedaction  The log message would indicate the reason for the failure and the + *              corrective action depends on the specific error that is encountered. + *              The error is one of the standard UNIX errors. + * + */ + +#define DHT_MSG_MIGRATE_FILE_FAILED     (GLFS_DHT_BASE + 23) + +/*! + * @messageid 109024 + * @diagnosis Out of memory + * @recommendedaction  None + * + */ + +#define DHT_MSG_NO_MEMORY        (GLFS_DHT_BASE + 24) + +/*! + * @messageid 109025 + * @diagnosis  The opendir() call failed on the specified directory + *              \n Cause: When a directory is renamed, the Distribute Hash + *              table translator checks whether the destination directory + *              is empty. This message indicates that the opendir() call + *              on the destination directory has failed. + * @recommendedaction The log message would indicate the reason for the + *              failure and the corrective action depends on the specific + *              error that is encountered. The error is one of the standard + *              UNIX errors. + * + */ + +#define DHT_MSG_OPENDIR_FAILED       (GLFS_DHT_BASE + 25) + +/*! + * @messageid 109026 + * @diagnosis The rebalance operation failed. + * @recommendedaction Check the log file for details about the failure. + *     Possible causes: + *     - A subvolume is down: Restart the rebalance operation after + *             bringing up all subvolumes. + * + */ + +#define DHT_MSG_REBALANCE_FAILED   (GLFS_DHT_BASE + 26) + +/*! + * @messageid 109027 + * @diagnosis Failed to start the rebalance process. + * @recommendedaction Check the log file for details about the failure. + * + */ + +#define DHT_MSG_REBALANCE_START_FAILED     (GLFS_DHT_BASE + 27) + +/*! + * @messageid 109028 + * @diagnosis Informational message that indicates the status of the + *            rebalance operation and details as to how many files were + *            migrated, skipped, failed etc + * @recommendedaction  None + * + */ + +#define DHT_MSG_REBALANCE_STATUS     (GLFS_DHT_BASE + 28) + +/*! + * @messageid 109029 + * @diagnosis The rebalance operation was aborted by the user. + * @recommendedaction  None + * + */ + +#define DHT_MSG_REBALANCE_STOPPED     (GLFS_DHT_BASE + 29) + +/*! + * @messageid 109030 + * @diagnosis The file or directory could not be renamed + * @recommendedaction   Ensure that all the subvolumes are + *                      online and reachable and try renaming + *                      the file or directory again. + * + */ + +#define DHT_MSG_RENAME_FAILED        (GLFS_DHT_BASE + 30) + +/*! + * @messageid 109031 + * @diagnosis Attributes could not be set for the specified file or + *             directory. + * @recommendedaction  None + * + */ + +#define DHT_MSG_SETATTR_FAILED       (GLFS_DHT_BASE + 31) + +/*! + * @messageid 109032 + * @diagnosis The specified subvolume is running out of file system inodes. +        If all subvolumes run out of inodes, then new files cannot be created. + * @recommendedaction  Consider adding more nodes to the cluster if all subvolumes + *        run out of inodes + * + */ + +#define DHT_MSG_SUBVOL_INSUFF_INODES    (GLFS_DHT_BASE + 32) + +/*! + * @messageid 109033 + * @diagnosis The specified subvolume is running out of disk space. If all +              subvolumes run out of space, new files cannot be created. + * @recommendedaction  Consider adding more nodes to the cluster if all subvolumes + *              run out of disk space. + * + */ + +#define DHT_MSG_SUBVOL_INSUFF_SPACE    (GLFS_DHT_BASE + 33) + +/*! + * @messageid 109034 + * @diagnosis Failed to unlink the specified file/directory + * @recommendedaction  The log message would indicate the reason +              for the failure and the corrective action depends on +              the specific error that is encountered. + */ + +#define DHT_MSG_UNLINK_FAILED     (GLFS_DHT_BASE + 34) + + + +/*! + * @messageid 109035 + * @diagnosis The layout information could not be set in the inode + * @recommendedaction  None + * + */ +#define DHT_MSG_LAYOUT_SET_FAILED     (GLFS_DHT_BASE + 35) + + +/*------------*/ +#define glfs_msg_end_x GLFS_MSGID_END, "Invalid: End of messages" + + +#endif /* _DHT_MESSAGES_H_ */ + + + +  | 
