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
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
|
/*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_
#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 36
#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 bricks 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)
/*!
* @messageid 109036
* @diagnosis Informational message regarding layout range distribution
* for a directory across subvolumes
* @recommendedaction None
*/
#define DHT_MSG_LOG_FIXED_LAYOUT (GLFS_DHT_BASE + 36)
/*
* @messageid 109037
* @diagnosis Informational message regarding error in tier operation
* @recommendedaction None
*/
#define DHT_MSG_LOG_TIER_ERROR (GLFS_DHT_BASE + 37)
/*
* @messageid 109038
* @diagnosis Informational message regarding tier operation
* @recommendedaction None
*/
#define DHT_MSG_LOG_TIER_STATUS (GLFS_DHT_BASE + 38)
/*------------*/
#define glfs_msg_end_x GLFS_MSGID_END, "Invalid: End of messages"
#endif /* _DHT_MESSAGES_H_ */
|