summaryrefslogtreecommitdiffstats
path: root/xlators/cluster/dht/src/dht-messages.h
diff options
context:
space:
mode:
Diffstat (limited to 'xlators/cluster/dht/src/dht-messages.h')
-rw-r--r--xlators/cluster/dht/src/dht-messages.h443
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_ */
+
+
+
+