~ubuntu-branches/debian/stretch/jfsutils/stretch

« back to all changes in this revision

Viewing changes to fsck/xfsck.h

  • Committer: Bazaar Package Importer
  • Author(s): Christopher L Cheney
  • Date: 2002-02-10 01:00:00 UTC
  • Revision ID: james.westby@ubuntu.com-20020210010000-v63g4150dcpnehzq
Tags: upstream-1.0.14
ImportĀ upstreamĀ versionĀ 1.0.14

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 *   Copyright (c) International Business Machines  Corp., 2000
 
3
 *
 
4
 *   This program is free software;  you can redistribute it and/or modify
 
5
 *   it under the terms of the GNU General Public License as published by
 
6
 *   the Free Software Foundation; either version 2 of the License, or
 
7
 *   (at your option) any later version.
 
8
 *
 
9
 *   This program is distributed in the hope that it will be useful,
 
10
 *   but WITHOUT ANY WARRANTY;  without even the implied warranty of
 
11
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
 
12
 *   the GNU General Public License for more details.
 
13
 *
 
14
 *   You should have received a copy of the GNU General Public License
 
15
 *   along with this program;  if not, write to the Free Software
 
16
 *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 
17
 *
 
18
 *   MODULE_NAME:               xfsck.h
 
19
 *
 
20
 *   COMPONENT_NAME:    jfs utilities
 
21
 *
 
22
 *      common data & function prototypes
 
23
 *
 
24
 */
 
25
 
 
26
#ifndef H_XFSCK
 
27
#define H_XFSCK
 
28
 
 
29
typedef int    retcode_t;
 
30
 
 
31
/*
 
32
   -------------------------- system includes  --------------------------
 
33
*/
 
34
 
 
35
#include <stdarg.h>
 
36
#include <stddef.h>
 
37
 
 
38
#ifndef _JFS_FSCKDIRE
 
39
#include <stdio.h>
 
40
#endif
 
41
 
 
42
#include <string.h>
 
43
#include <stdlib.h>
 
44
 
 
45
/*
 
46
   ---------------------------- JFS includes  ----------------------------
 
47
*/
 
48
 
 
49
#include "jfs_types.h"
 
50
 
 
51
/* Prevent conflict between unikern.h & uconv.h */
 
52
#undef ULS_INVALID
 
53
#undef ULS_ILLEGALSEQUENCE
 
54
#undef ULS_BADOBJECT
 
55
#undef ULS_BUFFERFULL
 
56
 
 
57
#include "jfs_dinode.h"
 
58
#include "jfs_dmap.h"
 
59
#include "jfs_filsys.h"
 
60
#include "jfs_imap.h"
 
61
#include "jfs_superblock.h"
 
62
#include "fsck_base.h"
 
63
#include "fsckcbbl.h"
 
64
 
 
65
/*
 
66
 * jfs library routine includes
 
67
 */
 
68
#include "libjufs.h"
 
69
#include "devices.h"
 
70
#include "diskmap.h"
 
71
#include "inode.h"
 
72
#include "logform.h"
 
73
#include "logredo.h"
 
74
#include "message.h"
 
75
#include "super.h"
 
76
 
 
77
/* Stuff for handling extended attributes. */
 
78
#ifndef OS2
 
79
 
 
80
    typedef struct _FEA     /* fea */
 
81
    {
 
82
       uint8_t   fEA;       /* flags                              */
 
83
       uint8_t   cbName;    /* name length not including NULL */
 
84
       uint16_t  cbValue;   /* value length */
 
85
    } FEA;
 
86
    typedef FEA *PFEA;
 
87
 
 
88
    /* flags for _FEA.fEA */
 
89
    #define FEA_NEEDEA         0x80     /* need EA bit */
 
90
 
 
91
    typedef struct _FEALIST    /* feal */
 
92
    {
 
93
       uint32_t  cbList;       /* total bytes of structure including full list */
 
94
       FEA       list[1];      /* variable length FEA structures */
 
95
    } FEALIST;
 
96
    typedef FEALIST *PFEALIST;
 
97
 
 
98
   typedef struct _FEA2       /* fea2 */
 
99
   {
 
100
      uint32_t  oNextEntryOffset; /* new field */
 
101
      uint8_t   fEA;
 
102
      uint8_t   cbName;
 
103
      uint16_t  cbValue;
 
104
      char      szName[1];        /* new field */
 
105
   } FEA2;
 
106
   typedef FEA2 *PFEA2;
 
107
 
 
108
   typedef struct _FEA2LIST     /* fea2l */
 
109
   {
 
110
      uint32_t  cbList;
 
111
      FEA2      list[1];
 
112
   } FEA2LIST;
 
113
   typedef FEA2LIST *PFEA2LIST;
 
114
 
 
115
  typedef struct _RESULTCODES
 
116
  {
 
117
    uint16_t  codeTerminate;
 
118
    uint16_t  codeResult;
 
119
  } RESULTCODES;
 
120
  typedef RESULTCODES *PRESULTCODES;
 
121
 
 
122
  #define ERROR_EA_LIST_INCONSISTENT  255
 
123
 
 
124
  typedef struct nls_table * UconvObject;
 
125
 
 
126
#endif
 
127
 
 
128
extern int jfs_ValidateFEAList( FEALIST *, unsigned long * );
 
129
 
 
130
/* ***** IMPORTANT ***** IMPORTANT ***** IMPORTANT ***** IMPORTANT *****
 
131
 *
 
132
 * fsck_first_msgid
 
133
 *      MUST be set to the first message id for fsck, according
 
134
 *      to jfs.txt.  Will be used to locate the text for any
 
135
 *      message which is displayed in the local language.
 
136
 *
 
137
 * fsck_highest_msgid_defined
 
138
 *      MUST be maintained in synch with the
 
139
 *      message id constants (defined in fsckmsgc.h) since the
 
140
 *      message text array and the message attributes array (declared
 
141
 *      in fsckmsgp.h) are both dimensioned using it.
 
142
 *
 
143
 * ***** IMPORTANT ***** IMPORTANT ***** IMPORTANT ***** IMPORTANT ***** */
 
144
 
 
145
#define fsck_msgid_offset           50
 
146
#define fsck_highest_msgid_defined 599
 
147
 
 
148
#define MAXPARMLEN 64
 
149
 
 
150
#define fscklog_var_text 1
 
151
#define fscklog_literal  2
 
152
 
 
153
 
 
154
 /* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 
155
  *
 
156
  * The following are used to access the columns of
 
157
  * MsgProtocol[][], which is defined in fsckmsgp.h
 
158
  *
 
159
  */
 
160
#define MP_STREAM     0
 
161
#define MP_MSGLVL     1
 
162
#define MP_MSGFILE    2
 
163
 
 
164
 /* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 
165
  *
 
166
  * The following are the possible values effective fsck
 
167
  * messaging level and for implied response level.
 
168
  *
 
169
  */
 
170
 
 
171
/*
 
172
 * special cases (must not match any other constants in the table)
 
173
 */
 
174
#define fsck_suffix            128
 
175
#define fsck_notqry            129
 
176
#define fsck_hrtbt             130
 
177
#define fsck_txtins            131
 
178
 
 
179
/*
 
180
 * The lowest messaging level (dictated by input parms) at which
 
181
 * the message is displayed.
 
182
 */
 
183
#define fsck_quiet       2
 
184
#define fsck_terse       4
 
185
#define fsck_verbose     8
 
186
#define fsck_autochk    16
 
187
#define fsck_debug      32
 
188
 
 
189
/*
 
190
 * The message file to use for local language lookup
 
191
 *
 
192
 *   These are determined by the array message_file_name[]
 
193
 *   in messages.c
 
194
 */
 
195
#define no_msgfile      -1
 
196
#define jfs_msgfile      1
 
197
 
 
198
/*
 
199
 * Whether the message is English-only (intended for debugging purposes) or
 
200
 * needs to be displayed in the local language.
 
201
 */
 
202
#define fsck_engl_only      0
 
203
#define fsck_local_lang     1
 
204
 
 
205
/*
 
206
 * constants to select standard I/O stream
 
207
 */
 
208
#define fsck_out        0
 
209
#define fsck_err        1
 
210
#define fsck_in         2
 
211
 
 
212
 /* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 
213
 * The following are used for reporting storage allocation
 
214
 * failures.
 
215
 */
 
216
 
 
217
#ifndef _JFS_FSCKDIRE
 
218
 
 
219
void report_dynstg_error ( void );
 
220
 
 
221
#define  dynstg_unknown          0
 
222
 
 
223
/* the actions */
 
224
 
 
225
#define dynstg_allocation        1
 
226
#define dynstg_initialization    2
 
227
 
 
228
/* the objects */
 
229
 
 
230
#define dynstg_unknown_object    0
 
231
#define dynstg_blkmap            1
 
232
#define dynstg_blkmap_buf        2
 
233
#define dynstg_blkmap_hdr        3
 
234
#define dynstg_inomap            4
 
235
#define dynstg_fer               5
 
236
#define dynstg_wspext            6
 
237
#define dynstg_pathbuffer        7
 
238
#define dynstg_inoextrec         8
 
239
#define dynstg_inorec            9
 
240
#define dynstg_dtreeQ_elem      10
 
241
#define dynstg_treeQ_elem       11
 
242
#define dynstg_ait_map          12
 
243
#define dynstg_fsit_map         13
 
244
#define dynstg_dupall_blkrec    14
 
245
#define dynstg_dupall_inorec    15
 
246
#define dynstg_agg_agtbl        16
 
247
#define dynstg_agg_iagtbl       17
 
248
#define dynstg_fs_agtbl         18
 
249
#define dynstg_fs_iagtbl        19
 
250
#define dynstg_iobufs           20
 
251
#define dynstg_eaiobuf          21
 
252
#define dynstg_tmpinoiobuf      22
 
253
#define dynstg_recondnodebuf    23
 
254
#define dynstg_xtreebuf         24
 
255
#define dynstg_xtreepagebuf     25
 
256
#define dynstg_treeStack_elem   26
 
257
#define dynstg_fsckcbblbuf1     27
 
258
#define dynstg_fsckcbblbuf2     28
 
259
#define dynstg_inotbl           29                 
 
260
#define dynstg_inoexttbl        30                 
 
261
#define dynstg_fsit_iagtbl      31                 
 
262
#define dynstg_fsit_inoexttbl   32                 
 
263
#define dynstg_fsit_inotbl      33                 
 
264
#define dynstg_ait_inotbl       34                 
 
265
 
 
266
#endif /* ! _JFS_FSCKDIRE */
 
267
 
 
268
 
 
269
 /* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 
270
  * The following are the possible values for current_fsck_phase
 
271
  * which is declared in xchkdsk.c
 
272
  *
 
273
  */
 
274
#define fsck_entry         16         /* x10 => entry linkage  */
 
275
#define fsck_phase_initial 17         /* x11 => initialization */
 
276
#define fsck_phase0         0
 
277
#define fsck_phase1         1
 
278
#define fsck_phase2         2
 
279
#define fsck_phase3         3
 
280
#define fsck_phase4         4
 
281
#define fsck_phase5         5
 
282
#define fsck_phase6         6
 
283
#define fsck_phase7         7
 
284
#define fsck_phase8         8
 
285
#define fsck_phase9         9
 
286
#define fsck_phase_final   32       /* x20 => cleanup        */
 
287
#define fsck_exit          33       /* x21 => exit linkage   */
 
288
 
 
289
 
 
290
/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 
291
 *
 
292
 * used during blockmap verify/rebuild
 
293
 *
 
294
 */
 
295
typedef struct fsck_bmap_record {
 
296
     char           eyecatcher[8];
 
297
     fsblkidx_t     total_blocks;
 
298
     fsblkidx_t     free_blocks;
 
299
     int8_t         ctl_fctl_error;
 
300
     int8_t         ctl_other_error;
 
301
     char           rsvd0[2];
 
302
 
 
303
     char           bmpctlinf_eyecatcher[8];
 
304
     dbmap_t        *bmpctl_bufptr;
 
305
     agg_byteidx_t  bmpctl_agg_fsblk_offset;
 
306
     char           rsvd1[4];
 
307
 
 
308
     char           AGinf_eyecatcher[8];
 
309
     fsblkidx_t     *AGFree_tbl;
 
310
     int8_t         AGActive[MAXAG];
 
311
 
 
312
     char           dmapinf_eyecatcher[8];
 
313
     reg_idx_t      dmappg_count;
 
314
     reg_idx_t      dmappg_ordno;
 
315
     reg_idx_t      dmappg_idx;
 
316
     int8_t         *dmap_wsp_stree;
 
317
     int8_t         *dmap_wsp_sleafs;
 
318
     dmap_t         *dmap_bufptr;
 
319
     agg_byteidx_t  dmap_agg_offset;
 
320
     fsblkidx_t     dmap_1stblk;
 
321
     int8_t         dmap_pmap_error;
 
322
     int8_t         dmap_slfv_error;
 
323
     int8_t         dmap_slnv_error;
 
324
     int8_t         dmap_other_error;
 
325
     char           rsvd2[4];
 
326
 
 
327
     char           L0inf_eyecatcher[8];
 
328
     reg_idx_t      L0pg_count;
 
329
     reg_idx_t      L0pg_ordno;
 
330
     reg_idx_t      L0pg_idx;
 
331
     int8_t         *L0_wsp_stree;
 
332
     int8_t         *L0_wsp_sleafs;
 
333
     dmapctl_t      *L0_bufptr;
 
334
     agg_byteidx_t  L0pg_agg_offset;
 
335
     fsblkidx_t     L0pg_1stblk;
 
336
     int8_t         L0_rsvd;
 
337
     int8_t         L0pg_slfv_error;
 
338
     int8_t         L0pg_slnv_error;
 
339
     int8_t         L0pg_other_error;
 
340
     char           rsvd3[4];
 
341
 
 
342
     char           L1inf_eyecatcher[8];
 
343
     reg_idx_t      L1pg_count;
 
344
     reg_idx_t      L1pg_ordno;
 
345
     reg_idx_t      L1pg_idx;
 
346
     int8_t         *L1_wsp_stree;
 
347
     int8_t         *L1_wsp_sleafs;
 
348
     dmapctl_t      *L1_bufptr;
 
349
     agg_byteidx_t  L1pg_agg_offset;
 
350
     fsblkidx_t     L1pg_1stblk;
 
351
     int8_t         L1_rsvd;
 
352
     int8_t         L1pg_slfv_error;
 
353
     int8_t         L1pg_slnv_error;
 
354
     int8_t         L1pg_other_error;
 
355
     char           rsvd4[4];
 
356
 
 
357
     char           L2inf_eyecatcher[8];
 
358
     reg_idx_t      L2pg_count;
 
359
     int8_t         *L2_wsp_stree;
 
360
     int8_t         *L2_wsp_sleafs;
 
361
     dmapctl_t      *L2_bufptr;
 
362
     agg_byteidx_t  L2pg_agg_offset;
 
363
     fsblkidx_t     L2pg_1stblk;
 
364
     int8_t         L2pg_slfv_error;
 
365
     int8_t         L2pg_slnv_error;
 
366
     int8_t         L2pg_other_error;
 
367
     char           rsvd5[5];
 
368
     }  fsck_bmap_record;
 
369
 
 
370
 
 
371
/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 
372
 *
 
373
 * unicharacter name structure
 
374
 */
 
375
struct uniname {
 
376
           uint32_t  len_in_UniChars;
 
377
           UniChar   name_in_UniChars[256];
 
378
};
 
379
 
 
380
typedef struct uniname *UniCharname;
 
381
 
 
382
 
 
383
/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 
384
 *
 
385
 * used to pass message inserts from one routine to another economically
 
386
 */
 
387
struct fsck_ino_msg_info {
 
388
   uint32_t  msg_inonum;
 
389
   int       msg_inopfx;
 
390
   int       msg_inotyp;
 
391
   int       msg_dxdtyp;
 
392
   };
 
393
 
 
394
typedef struct fsck_ino_msg_info *fsck_msg_info_ptr;
 
395
 
 
396
struct fsck_imap_msg_info {
 
397
   iagno_t  msg_iagnum;
 
398
   int32_t  msg_agnum;
 
399
   int      msg_mapowner;
 
400
   };
 
401
 
 
402
typedef struct fsck_imap_msg_info *fsck_imap_msg_info_ptr;
 
403
 
 
404
 
 
405
/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 
406
 *
 
407
 * used to specify what action should be performed by routing
 
408
 * process_extent
 
409
 */
 
410
#define FSCK_RECORD                 1
 
411
#define FSCK_RECORD_DUPCHECK        2
 
412
#define FSCK_UNRECORD               3
 
413
#define FSCK_QUERY                  4
 
414
#define FSCK_GET_OBJNAME            5
 
415
#define FSCK_FSIM_RECORD_DUPCHECK   6
 
416
#define FSCK_FSIM_UNRECORD          7
 
417
#define FSCK_FSIM_QUERY             8
 
418
 
 
419
 
 
420
 /* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 
421
  *
 
422
  * The following are the values which may be displayed in
 
423
  * message fsck_INOINLINECONFLICT
 
424
  *
 
425
  */
 
426
#define fsck_longdata_and_otherinline  1
 
427
 
 
428
 
 
429
 /* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 
430
  *
 
431
  * The following define return codes passed back by fsck when an
 
432
  * is detected in or by fsck.
 
433
  *
 
434
  */
 
435
 
 
436
/* informational return codes */
 
437
 
 
438
#define FSCK_OK                   00000
 
439
#define FSCK_FAILED              -00001
 
440
 
 
441
#define FSCK_AGFS_INOBAD          10001
 
442
#define FSCK_AGGAITINOBAD         10002
 
443
#define FSCK_AGGFSINOBAD          10003
 
444
#define FSCK_BADAGFSSIZ           10004
 
445
#define FSCK_BADBLKCTTTL          10005
 
446
#define FSCK_BADEADESCRIPTOR      10006
 
447
#define FSCK_BADMDDATA            10007
 
448
#define FSCK_BADMDDATAEXT         10008
 
449
#define FSCK_BADMDDATAIDX         10009
 
450
#define FSCK_BADMDDATAINLN        10010
 
451
#define FSCK_BADREAD_FBLKMP       10011
 
452
#define FSCK_BADREAD_FSCKLOG      10012
 
453
#define FSCK_BADSBAGSIZ           10013
 
454
#define FSCK_BADSBFJLA            10014
 
455
#define FSCK_BADSBFJLL            10015
 
456
#define FSCK_BADSBFSSIZ           10016
 
457
#define FSCK_BADSBFWSA            10017
 
458
#define FSCK_BADSBFWSL            10018
 
459
#define FSCK_BADSBFWSL1           10019
 
460
#define FSCK_BADSBMGC             10020
 
461
#define FSCK_BADSBVRSN            10021
 
462
#define FSCK_BADSBOTHR1           10022
 
463
#define FSCK_BADSBOTHR2           10023
 
464
#define FSCK_BADSBOTHR3           10024
 
465
#define FSCK_BADSBOTHR4           10025
 
466
#define FSCK_BADSBOTHR5           10026
 
467
#define FSCK_BADSBOTHR6           10027
 
468
#define FSCK_BADSBOTHR7           10028
 
469
#define FSCK_BADSBOTHR8           10029
 
470
#define FSCK_BADSBOTHR9           10030
 
471
#define FSCK_BADSBOTHR10          10031
 
472
#define FSCK_BADSBOTHR11          10032
 
473
#define FSCK_BADSBOTHR12          10033
 
474
#define FSCK_BADSBOTHR13          10034
 
475
#define FSCK_BADWRITE_FSCKLOG     10035
 
476
#define FSCK_BADWRITE_FBLKMP      10036
 
477
#define FSCK_BBINOBAD             10037
 
478
#define FSCK_BLSIZLTLVBLSIZ       10038
 
479
#define FSCK_BMINOBAD             10039
 
480
#define FSCK_CANT_ALLOC_INOREC    10040
 
481
#define FSCK_CANT_ALLOC_LSFN      10041
 
482
#define FSCK_CANT_EXTEND_ROOTDIR  10042
 
483
#define FSCK_CANTREADEAITEXT1     10043
 
484
#define FSCK_CANTREADAITEXT1      10044
 
485
#define FSCK_CANTREADAITEXT2      10045
 
486
#define FSCK_CANTREADAITEXT3      10046
 
487
#define FSCK_CANTREADAITEXT4      10047
 
488
#define FSCK_CANTREADAGGFSINO     10048
 
489
#define FSCK_CANTREADBBINO        10049
 
490
#define FSCK_CANTREADBMINO        10050
 
491
#define FSCK_CANTREADEA           10051
 
492
#define FSCK_CANTREADFSEXT        10052
 
493
#define FSCK_CANTREADFSRTDR       10053
 
494
#define FSCK_CANTREADLOGINO       10054
 
495
#define FSCK_CANTREADRECONDNODE   10055
 
496
#define FSCK_CANTREADRECONDNODE1  10056
 
497
#define FSCK_CANTREADSELFINO      10057
 
498
#define FSCK_CANTWRITRECONDNODE   10058
 
499
#define FSCK_CANTWRITRECONDNODE1  10059
 
500
#define FSCK_DUPMDBLKREF          10060
 
501
#define FSCK_FSETEXTBAD           10061
 
502
#define FSCK_FSRTDRBAD            10062
 
503
#define FSCK_IAGNOOOAGGBOUNDS     10063
 
504
#define FSCK_IAGNOOOFSETBOUNDS    10064
 
505
#define FSCK_INOEXTNOTALLOC       10065
 
506
#define FSCK_INOINLINECONFLICT1   10066
 
507
#define FSCK_INOINLINECONFLICT2   10067
 
508
#define FSCK_INOINLINECONFLICT3   10068
 
509
#define FSCK_INOINLINECONFLICT4   10069
 
510
#define FSCK_INOINLINECONFLICT5   10070
 
511
#define FSCK_LOGINOBAD            10071
 
512
#define FSCK_RIBADTREE            10072
 
513
#define FSCK_RIDATAERROR          10073
 
514
#define FSCK_RINOTDIR             10074
 
515
#define FSCK_RIUNALLOC            10075
 
516
#define FSCK_SELFINOBAD           10076
 
517
#define FSCK_INSUFDSTG4RECON      10077
 
518
#define FSCK_INSUFDSTG4RECON1     10078
 
519
#define FSCK_BLKSNOTAVAILABLE     10079
 
520
#define FSCK_BADREADTARGET        10080
 
521
#define FSCK_BADREADTARGET1       10081
 
522
#define FSCK_BADREADTARGET2       10082
 
523
#define FSCK_ENOMEMBDBLK1         10083
 
524
#define FSCK_ENOMEMBDBLK2         10084
 
525
#define FSCK_ENOMEMBDBLK3         10085
 
526
#define FSCK_ENOMEMBDBLK4         10086
 
527
#define FSCK_PARENTNULLIFIED      10087
 
528
#define FSCK_IOTARGETINJRNLLOG    10088
 
529
 
 
530
/* fatal condition return codes */
 
531
 
 
532
#define FSCK_FAILED_SEEK             -10001
 
533
#define FSCK_FAILED_BADSEEK          -10002
 
534
 
 
535
#define FSCK_FAILED_NODE_BADFLUSH    -10003
 
536
#define FSCK_FAILED_NODE_FLUSH       -10004
 
537
#define FSCK_FAILED_BADREAD_NODE     -10005
 
538
#define FSCK_FAILED_BADREAD_NODE1    -10006
 
539
#define FSCK_FAILED_READ_NODE        -10007
 
540
#define FSCK_FAILED_READ_NODE2       -10008
 
541
#define FSCK_FAILED_READ_NODE3       -10009
 
542
#define FSCK_FAILED_READ_NODE4       -10010
 
543
 
 
544
#define FSCK_FAILED_BADREAD_DNODE    -10011
 
545
#define FSCK_FAILED_READ_DNODE       -10012
 
546
 
 
547
#define FSCK_FAILED_INODE_BADFLUSH   -10013
 
548
#define FSCK_FAILED_INODE_FLUSH      -10014
 
549
#define FSCK_FAILED_BADREAD_INODE    -10015
 
550
#define FSCK_FAILED_BADREAD_INODE1   -10016
 
551
#define FSCK_FAILED_READ_INODE       -10017
 
552
 
 
553
#define FSCK_FAILED_IAG_BADFLUSH     -10018
 
554
#define FSCK_FAILED_IAG_FLUSH        -10019
 
555
#define FSCK_FAILED_BADREAD_IAG      -10020
 
556
#define FSCK_FAILED_BADREAD1_IAG     -10021
 
557
#define FSCK_FAILED_READ_IAG         -10022
 
558
#define FSCK_FAILED_IAG_CORRUPT_PXD  -10023
 
559
 
 
560
#define FSCK_FAILED_FBMAP_FLUSH      -10024
 
561
#define FSCK_FAILED_FBMAP_BADFLUSH   -10025
 
562
#define FSCK_FAILED_BADREAD_FBLKMP   -10026
 
563
#define FSCK_FAILED_READ_FBLKMP      -10027
 
564
#define FSCK_FAILED_WRITE_FBLKMP     -10028
 
565
#define FSCK_FAILED_BADWRITE_FBLKMP  -10029
 
566
 
 
567
#define FSCK_FAILED_PSBLK_WRITE      -10030
 
568
#define FSCK_FAILED_SSBLK_WRITE      -10031
 
569
#define FSCK_FAILED_BTHSBLK_WRITE    -10032
 
570
#define FSCK_FAILED_BTHSBLK_BAD      -10033
 
571
 
 
572
#define FSCK_FAILED_FSSIEXT_READ2    -10034
 
573
#define FSCK_FAILED_FSRTDIR_READ2    -10035
 
574
#define FSCK_FAILED_BADBLK_READ2     -10036
 
575
#define FSCK_FAILED_BMAP_READ2       -10037
 
576
#define FSCK_FAILED_LOG_READ2        -10038
 
577
#define FSCK_FAILED_SELF_READ2       -10039
 
578
#define FSCK_FAILED_SELF_READ3       -10040
 
579
#define FSCK_FAILED_SELF_READ4       -10041
 
580
#define FSCK_FAILED_SELF_READ5       -10042
 
581
#define FSCK_FAILED_SELF_NOWBAD      -10043
 
582
#define FSCK_FAILED_AGFS_READ2       -10044
 
583
#define FSCK_FAILED_AGFS_READ3       -10045
 
584
#define FSCK_FAILED_AGFS_READ4       -10046
 
585
#define FSCK_FAILED_AGFS_READ5       -10047
 
586
#define FSCK_FAILED_AGFS_NOWBAD      -10048
 
587
 
 
588
#define FSCK_FAILED_BOTHAITBAD       -10049
 
589
#define FSCK_FAILED_CANTREADAITEXT1  -10050
 
590
#define FSCK_FAILED_CANTREADAITEXT2  -10051
 
591
#define FSCK_FAILED_CANTREADAITEXT3  -10052
 
592
#define FSCK_FAILED_CANTREADAITEXT4  -10053
 
593
#define FSCK_FAILED_CANTREADAITEXT5  -10054
 
594
#define FSCK_FAILED_CANTREADAITEXT6  -10055
 
595
#define FSCK_FAILED_CANTREADAITEXT7  -10056
 
596
#define FSCK_FAILED_CANTREADAITEXT8  -10057
 
597
#define FSCK_FAILED_CANTREADAITEXT9  -10058
 
598
#define FSCK_FAILED_CANTREADAITEXTA  -10059
 
599
#define FSCK_FAILED_CANTREADAITEXTB  -10060
 
600
#define FSCK_FAILED_CANTREADAITEXTC  -10061
 
601
#define FSCK_FAILED_CANTREADAITEXTD  -10062
 
602
#define FSCK_FAILED_CANTREADAITEXTE  -10063
 
603
#define FSCK_FAILED_CANTREADAITEXTF  -10064
 
604
#define FSCK_FAILED_CANTREADAITEXTG  -10065
 
605
#define FSCK_FAILED_CANTREADAITEXTH  -10066
 
606
#define FSCK_FAILED_CANTREADAITEXTJ  -10067
 
607
#define FSCK_FAILED_CANTREADAITEXTK  -10068
 
608
#define FSCK_FAILED_CANTREADAITCTL   -10069
 
609
#define FSCK_FAILED_CANTREADAITS     -10070
 
610
#define FSCK_FAILED_CANTREADAIMNOW   -10071
 
611
 
 
612
#define FSCK_FAILED_IMPLF_BADFLUSH   -10072
 
613
#define FSCK_FAILED_IMPLF_FLUSH      -10073
 
614
#define FSCK_FAILED_BADREAD_IMPLF    -10074
 
615
#define FSCK_FAILED_READ_IMPLF       -10075
 
616
 
 
617
#define FSCK_FAILED_CANTREAD_DIRNOW  -10076
 
618
#define FSCK_FAILED_DIRGONEBAD       -10077
 
619
#define FSCK_FAILED_DIRGONEBAD2      -10078
 
620
#define FSCK_FAILED_DIRENTRYGONE     -10079
 
621
#define FSCK_FAILED_DIRENTRYBAD      -10080
 
622
 
 
623
#define FSCK_FAILED_MAPCTL_BADFLUSH  -10081
 
624
#define FSCK_FAILED_MAPCTL_FLUSH     -10082
 
625
#define FSCK_FAILED_BADREAD_MAPCTL   -10083
 
626
#define FSCK_FAILED_READ_MAPCTL      -10084
 
627
 
 
628
#define FSCK_FAILED_CANTREADBMPCTL   -10085
 
629
 
 
630
#define FSCK_FAILED_BMPLV_BADFLUSH   -10086
 
631
#define FSCK_FAILED_BMPLV_FLUSH      -10087
 
632
#define FSCK_FAILED_BADREAD_BMPLV    -10088
 
633
#define FSCK_FAILED_READ_BMPLV       -10089
 
634
 
 
635
#define FSCK_FAILED_BMPDM_BADFLUSH   -10090
 
636
#define FSCK_FAILED_BMPDM_FLUSH      -10091
 
637
#define FSCK_FAILED_BADREAD_BMPDM    -10092
 
638
#define FSCK_FAILED_READ_BMPDM       -10093
 
639
#define FSCK_FAILED_DYNSTG_EXHAUST1  -10094
 
640
#define FSCK_FAILED_DYNSTG_EXHAUST2  -10095
 
641
#define FSCK_FAILED_DYNSTG_EXHAUST3  -10096
 
642
#define FSCK_FAILED_DYNSTG_EXHAUST4  -10097
 
643
#define FSCK_FAILED_DYNSTG_EXHAUST5  -10098
 
644
#define FSCK_FAILED_DYNSTG_EXHAUST6  -10099
 
645
#define FSCK_FAILED_DYNSTG_EXHAUST7  -10100
 
646
#define FSCK_FAILED_DYNSTG_EXHAUST8  -10101
 
647
#define FSCK_FAILED_DYNSTG_EXHAUST9  -10102
 
648
#define FSCK_FAILED_DYNSTG_EXHAUSTA  -10103
 
649
#define FSCK_FAILED_REREAD_AGGINO    -10104
 
650
 
 
651
/* catastrophic error return codes */
 
652
 
 
653
#define FSCK_INTERNAL_ERROR_1   -11001
 
654
#define FSCK_INTERNAL_ERROR_2   -11002
 
655
#define FSCK_INTERNAL_ERROR_3   -11003
 
656
#define FSCK_INTERNAL_ERROR_4   -11004
 
657
#define FSCK_INTERNAL_ERROR_5   -11005
 
658
#define FSCK_INTERNAL_ERROR_6   -11006
 
659
#define FSCK_INTERNAL_ERROR_7   -11007
 
660
#define FSCK_INTERNAL_ERROR_8   -11008
 
661
#define FSCK_INTERNAL_ERROR_9   -11009
 
662
#define FSCK_INTERNAL_ERROR_10  -11010
 
663
#define FSCK_INTERNAL_ERROR_11  -11011
 
664
#define FSCK_INTERNAL_ERROR_12  -11012
 
665
#define FSCK_INTERNAL_ERROR_13  -11013
 
666
#define FSCK_INTERNAL_ERROR_14  -11014
 
667
#define FSCK_INTERNAL_ERROR_15  -11015
 
668
#define FSCK_INTERNAL_ERROR_16  -11016
 
669
#define FSCK_INTERNAL_ERROR_17  -11017
 
670
#define FSCK_INTERNAL_ERROR_18  -11018
 
671
#define FSCK_INTERNAL_ERROR_19  -11019
 
672
#define FSCK_INTERNAL_ERROR_20  -11020
 
673
#define FSCK_INTERNAL_ERROR_21  -11021
 
674
#define FSCK_INTERNAL_ERROR_22  -11022
 
675
#define FSCK_INTERNAL_ERROR_23  -11023
 
676
#define FSCK_INTERNAL_ERROR_24  -11024
 
677
#define FSCK_INTERNAL_ERROR_25  -11025
 
678
#define FSCK_INTERNAL_ERROR_26  -11026
 
679
#define FSCK_INTERNAL_ERROR_27  -11027
 
680
#define FSCK_INTERNAL_ERROR_28  -11028
 
681
#define FSCK_INTERNAL_ERROR_29  -11029
 
682
#define FSCK_INTERNAL_ERROR_30  -11030
 
683
#define FSCK_INTERNAL_ERROR_31  -11031
 
684
#define FSCK_INTERNAL_ERROR_32  -11032
 
685
#define FSCK_INTERNAL_ERROR_33  -11033
 
686
#define FSCK_INTERNAL_ERROR_34  -11034
 
687
#define FSCK_INTERNAL_ERROR_35  -11035
 
688
#define FSCK_INTERNAL_ERROR_36  -11036
 
689
#define FSCK_INTERNAL_ERROR_37  -11037
 
690
#define FSCK_INTERNAL_ERROR_38  -11038
 
691
#define FSCK_INTERNAL_ERROR_39  -11039
 
692
#define FSCK_INTERNAL_ERROR_40  -11040
 
693
#define FSCK_INTERNAL_ERROR_41  -11041
 
694
#define FSCK_INTERNAL_ERROR_42  -11042
 
695
#define FSCK_INTERNAL_ERROR_43  -11043
 
696
#define FSCK_INTERNAL_ERROR_44  -11044
 
697
#define FSCK_INTERNAL_ERROR_45  -11045
 
698
#define FSCK_INTERNAL_ERROR_46  -11046
 
699
#define FSCK_INTERNAL_ERROR_47  -11047
 
700
#define FSCK_INTERNAL_ERROR_48  -11048
 
701
#define FSCK_INTERNAL_ERROR_49  -11049
 
702
#define FSCK_INTERNAL_ERROR_50  -11050
 
703
#define FSCK_INTERNAL_ERROR_51  -11051
 
704
#define FSCK_INTERNAL_ERROR_52  -11052
 
705
#define FSCK_INTERNAL_ERROR_53  -11053
 
706
#define FSCK_INTERNAL_ERROR_54  -11054
 
707
#define FSCK_INTERNAL_ERROR_55  -11055
 
708
#define FSCK_INTERNAL_ERROR_56  -11056
 
709
#define FSCK_INTERNAL_ERROR_57  -11057
 
710
#define FSCK_INTERNAL_ERROR_58  -11058
 
711
#define FSCK_INTERNAL_ERROR_59  -11059
 
712
#define FSCK_INTERNAL_ERROR_60  -11060
 
713
#define FSCK_INTERNAL_ERROR_61  -11061
 
714
#define FSCK_INTERNAL_ERROR_62  -11062
 
715
#define FSCK_INTERNAL_ERROR_63  -11063
 
716
#define FSCK_INTERNAL_ERROR_64  -11064
 
717
#define FSCK_INTERNAL_ERROR_65  -11065
 
718
#define FSCK_INTERNAL_ERROR_66  -11066
 
719
#define FSCK_INTERNAL_ERROR_67  -11067
 
720
#define FSCK_INTERNAL_ERROR_68  -11068
 
721
#define FSCK_INTERNAL_ERROR_69  -11069
 
722
#define FSCK_INTERNAL_ERROR_70  -11070               
 
723
#define FSCK_INTERNAL_ERROR_71  -11071               
 
724
#define FSCK_INTERNAL_ERROR_72  -11072               
 
725
#define FSCK_INTERNAL_ERROR_73  -11073               
 
726
#define FSCK_INTERNAL_ERROR_74  -11074               
 
727
#define FSCK_INTERNAL_ERROR_75  -11075               
 
728
#define FSCK_INTERNAL_ERROR_76  -11076               
 
729
#define FSCK_INTERNAL_ERROR_77  -11077               
 
730
#define FSCK_INTERNAL_ERROR_78  -11078               
 
731
#define FSCK_INTERNAL_ERROR_79  -11079               
 
732
#define FSCK_INTERNAL_ERROR_80  -11080               
 
733
#define FSCK_INTERNAL_ERROR_81  -11081               
 
734
#define FSCK_INTERNAL_ERROR_82  -11082               
 
735
#define FSCK_INTERNAL_ERROR_83  -11083               
 
736
#define FSCK_INTERNAL_ERROR_84  -11084               
 
737
#define FSCK_INTERNAL_ERROR_85  -11085               
 
738
#define FSCK_INTERNAL_ERROR_86  -11086               
 
739
#define FSCK_INTERNAL_ERROR_87  -11087               
 
740
#define FSCK_INTERNAL_ERROR_88  -11088               
 
741
#define FSCK_INTERNAL_ERROR_89  -11089               
 
742
 
 
743
#endif