Hi,

This patch adds fsck_nilfs2.h file with fsck's constant declarations.

With the best regards,
Vyacheslav Dubeyko.
--
From: Vyacheslav Dubeyko <[email protected]>
Subject: [PATCH v4 05/15] nilfs-utils: fsck: add fsck_nilfs2.h file with fsck's 
constant declarations

This patch adds fsck_nilfs2.h file with fsck's constant declarations.

Signed-off-by: Vyacheslav Dubeyko <[email protected]>
---
 include/fsck_nilfs2.h |  148 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 148 insertions(+)
 create mode 100644 include/fsck_nilfs2.h

diff --git a/include/fsck_nilfs2.h b/include/fsck_nilfs2.h
new file mode 100644
index 0000000..7be0413
--- /dev/null
+++ b/include/fsck_nilfs2.h
@@ -0,0 +1,148 @@
+/*
+ * fsck_nilfs2.h - NILFS fsck declarations
+ *
+ * Copyright (C) 2012 Vyacheslav Dubeyko <[email protected]>
+ *
+ * This file is part of NILFS.
+ *
+ * NILFS is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * NILFS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with NILFS; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * Written by Vyacheslav Dubeyko <[email protected]>
+ */
+
+#ifndef FSCK_NILFS2_H
+#define FSCK_NILFS2_H
+
+/* NILFS fsck exit codes. */
+enum fsck_exit_codes {
+       RETURN_FSCK_OK                  = 0,
+       RETURN_FSCK_CORRECTED           = 1,
+       RETURN_FSCK_REBOOT              = 2,
+       RETURN_FSCK_ERRORS_UNCORRECTED  = 4,
+       RETURN_FSCK_OP_ERROR            = 8,
+       RETURN_FSCK_USAGE_ERROR         = 16,
+       EXIT_LIBRARY                    = 128
+}; /* enum fsck_exit_codes */
+
+/* Available modes of fsck working */
+enum available_working_mode {
+       FSCK_RO_MODE                    = 0x1,
+       FSCK_RW_MODE                    = 0x2,
+       FSCK_RW_POLICY_MASK             = 0x3,
+}; /* enum available_working_mode */
+
+/* Type of NILFS superblocks */
+enum superblock_type {
+       PRIMARY_SUPERBLOCK,
+       SECONDARY_SUPERBLOCK,
+       SUPERBLOCK_TYPES_NUMBER
+}; /* enum superblock_type */
+
+/*
+ * Flags define what should be checked in superblock
+ * Declaration order is crucial!!!
+ */
+#define SB_CHECK_FLAGS_MAX_NUM 33
+enum sb_check_flags {
+/*WARNING*/
+       CHECK_SB_MAGIC                  = 1ULL << 0,
+       CHECK_SB_REV_LEVEL              = 1ULL << 1,
+/*CRITICAL*/
+       CHECK_SB_BYTES                  = 1ULL << 2,
+       CHECK_SB_CRC                    = 1ULL << 3,
+       CHECK_SB_BLOCK_SZ               = 1ULL << 4,
+       CHECK_SB_DEV_SZ                 = 1ULL << 5,
+       CHECK_SB_BLOCKS_PER_SEG         = 1ULL << 6,
+       CHECK_SB_NSEGMENTS              = 1ULL << 7,
+       CHECK_SB_FIRST_DATA_BLOCK       = 1ULL << 8,
+       CHECK_SB_R_SEGS_PERCENT         = 1ULL << 9,
+       CHECK_SB_LAST_CNO               = 1ULL << 10,
+       CHECK_SB_LAST_PSEG              = 1ULL << 11,
+       CHECK_SB_LAST_SEQ               = 1ULL << 12,
+       CHECK_SB_FREE_BLKS              = 1ULL << 13,
+       CHECK_SB_STATE                  = 1ULL << 14,
+       CHECK_SB_FIRST_INO              = 1ULL << 15,
+       CHECK_SB_INODE_SZ               = 1ULL << 16,
+       CHECK_SB_DAT_ENTRY_SZ           = 1ULL << 17,
+       CHECK_SB_CHECKPOINT_SZ          = 1ULL << 18,
+       CHECK_SB_SEG_USAGE_SZ           = 1ULL << 19,
+/*MINOR*/
+       CHECK_SB_FEATURE                = 1ULL << 20,
+       CHECK_SB_RO_FEATURE             = 1ULL << 21,
+       CHECK_SB_FLAGS                  = 1ULL << 22,
+       CHECK_SB_CREATOR_OS             = 1ULL << 23,
+       CHECK_SB_DEF_RES_UID_GID        = 1ULL << 24,
+       CHECK_SB_C_INTERVAL             = 1ULL << 25,
+       CHECK_SB_C_BLOCK_MAX            = 1ULL << 26,
+/*LOOKS_LIKE_ERROR*/
+       CHECK_SB_TIMES                  = 1ULL << 27,
+       CHECK_SB_MNT_COUNT              = 1ULL << 28,
+       CHECK_SB_ERRORS                 = 1ULL << 29,
+       CHECK_SB_LAST_CHECK             = 1ULL << 30,
+       CHECK_SB_CLEAN_UMOUNT_FLAG      = 1ULL << 31,
+       CHECK_SB_ERRS_DETECTED_FLAG     = 1ULL << (SB_CHECK_FLAGS_MAX_NUM - 1),
+       SB_FULL_CHECK                   = 0x1FFFFFFFF,
+/* Mask for superblock corruption detection (CRITICAL + MINOR) */
+       SB_CORRUPTION_MASK              = 0x7FFFFFC,
+/* Flag should be set after check */
+       SB_HAS_CHECKED                  = 1ULL << 63
+}; /* enum sb_check_flags */
+
+/*
+ * Flags define what should be checked in segment summary header.
+ * Declaration order is crucial!!!
+ */
+#define SS_HDR_CHECK_FLAGS_MAX 13
+enum ss_hdr_check_flags {
+/*WARNING*/
+       CHECK_SS_MAGIC                  = 1UL << 0,
+       CHECK_SS_HDR_REV                = 1UL << 1,
+/*CRITICAL*/
+       CHECK_SS_DATASUM                = 1UL << 2,
+       CHECK_SS_SUMSUM                 = 1UL << 3,
+       CHECK_SS_BYTES                  = 1UL << 4,
+       CHECK_SS_NBLOCKS                = 1UL << 5,
+       CHECK_SS_NEXT                   = 1UL << 6,
+       CHECK_SS_NFINFO                 = 1UL << 7,
+       CHECK_SS_SUMBYTES               = 1UL << 8,
+/*MINOR*/
+       CHECK_SS_SEQ                    = 1UL << 9,
+       CHECK_SS_FLAGS                  = 1UL << 10,
+/*LOOKS_LIKE_ERROR*/
+       CHECK_SS_CREATE                 = 1UL << 11,
+       CHECK_SS_CNO                    = 1UL << (SS_HDR_CHECK_FLAGS_MAX - 1),
+       SS_HEADER_ONLY_CHECK            = 0x1EF3,
+/* Mask for segment summary header corruption detection */
+       SS_HDR_CORRUPTION_MASK          = 0x7FC,
+/* Flag should be set after check */
+/* |-> datasum was checked */
+       SS_DATASUM_HAS_CHECKED          = 1UL << 13,
+/* |-> sumsum was checked */
+       SS_SUMSUM_HAS_CHECKED           = 1UL << 14,
+/* |-> segment summary header was checked w/o checksums */
+       ONLY_SS_HDR_HAS_CHECKED         = 1UL << 15
+}; /* enum ss_hdr_check_flags */
+
+/*
+ * Flags define what should be checked on the volume at whole.
+ * Declaration order is crucial!!!
+ */
+enum volume_corruption_flags {
+       SB_CORRUPTION_DETECTED          = 1UL << 0,
+       SEGS_CHAIN_INCONSISTENT         = 1UL << 1,
+       SS_CORRUPTION_DETECTED          = 1UL << 2,
+}; /* enum segments_chain_check_flags */
+
+#endif /* FSCK_NILFS2_H */
-- 
1.7.9.5



--
To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to