UBIFS: lessen amount of debugging check types
authorArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
Fri, 3 Jun 2011 05:53:35 +0000 (08:53 +0300)
committerArtem Bityutskiy <dedekind1@gmail.com>
Mon, 4 Jul 2011 07:54:28 +0000 (10:54 +0300)
We have too many different debugging checks - lessen the amount by merging all
index-related checks into one. At the same time, move the "force in-the-gap"
test to the "index checks" class, because it is too heavy for the "general"
class.

This patch merges TNC, Old index, and Index size check and calles this just
"index checks".

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Documentation/filesystems/ubifs.txt
fs/ubifs/commit.c
fs/ubifs/debug.c
fs/ubifs/debug.h
fs/ubifs/lpt_commit.c
fs/ubifs/tnc_commit.c

index 8e4fab639d9c322708c7e0ab01825697c3e4ccb7..91ef07652cd260582d35c3fe65ab4bcdf5932925 100644 (file)
@@ -123,10 +123,8 @@ debug_chks Selects extra checks that UBIFS can do while running:
                Check                                   Flag value
 
                General checks                          1
-               Check Tree Node Cache (TNC)             2
-               Check indexing tree size                4
+               Check the index                         2
                Check orphan area                       8
-               Check old indexing tree                 16
                Check LEB properties (lprops)           32
                Check leaf nodes and inodes             64
 
index 63c4e447f977eb290147be5bd9010b1b1c402151..fb3b5c813a30da7fe5654435f941d39e950729c4 100644 (file)
@@ -576,7 +576,7 @@ int dbg_check_old_index(struct ubifs_info *c, struct ubifs_zbranch *zroot)
        struct idx_node *i;
        size_t sz;
 
-       if (!dbg_is_chk_old_idx(c))
+       if (!dbg_is_chk_index(c))
                return 0;
 
        INIT_LIST_HEAD(&list);
index 79d8924aca5b262dc5b606244f331fa86f727dac..a967d6800ead28f849e4a97b14201b4d57a0a2cc 100644 (file)
@@ -1544,7 +1544,7 @@ int dbg_check_tnc(struct ubifs_info *c, int extra)
        long clean_cnt = 0, dirty_cnt = 0;
        int err, last;
 
-       if (!dbg_is_chk_tnc(c))
+       if (!dbg_is_chk_index(c))
                return 0;
 
        ubifs_assert(mutex_is_locked(&c->tnc_mutex));
@@ -1791,7 +1791,7 @@ int dbg_check_idx_size(struct ubifs_info *c, long long idx_size)
        int err;
        long long calc = 0;
 
-       if (!dbg_is_chk_idx_sz(c))
+       if (!dbg_is_chk_index(c))
                return 0;
 
        err = dbg_walk_index(c, NULL, add_size, &calc);
index c3d1ffd0610aad4b8665a325bd85be155b0cc7ca..44265a3a08cebe85914eb2313bc65b74ca4620e4 100644 (file)
@@ -173,19 +173,15 @@ extern spinlock_t dbg_lock;
  * Debugging check flags.
  *
  * UBIFS_CHK_GEN: general checks
- * UBIFS_CHK_TNC: check TNC
- * UBIFS_CHK_IDX_SZ: check index size
+ * UBIFS_CHK_INDEX: check the index
  * UBIFS_CHK_ORPH: check orphans
- * UBIFS_CHK_OLD_IDX: check the old index
  * UBIFS_CHK_LPROPS: check lprops
  * UBIFS_CHK_FS: check the file-system
  */
 enum {
        UBIFS_CHK_GEN     = 0x1,
-       UBIFS_CHK_TNC     = 0x2,
-       UBIFS_CHK_IDX_SZ  = 0x4,
+       UBIFS_CHK_INDEX   = 0x2,
        UBIFS_CHK_ORPH    = 0x8,
-       UBIFS_CHK_OLD_IDX = 0x10,
        UBIFS_CHK_LPROPS  = 0x20,
        UBIFS_CHK_FS      = 0x40,
 };
@@ -207,22 +203,14 @@ static inline int dbg_is_chk_gen(const struct ubifs_info *c)
 {
        return !!(ubifs_chk_flags & UBIFS_CHK_GEN);
 }
-static inline int dbg_is_chk_tnc(const struct ubifs_info *c)
+static inline int dbg_is_chk_index(const struct ubifs_info *c)
 {
-       return !!(ubifs_chk_flags & UBIFS_CHK_TNC);
-}
-static inline int dbg_is_chk_idx_sz(const struct ubifs_info *c)
-{
-       return !!(ubifs_chk_flags & UBIFS_CHK_IDX_SZ);
+       return !!(ubifs_chk_flags & UBIFS_CHK_INDEX);
 }
 static inline int dbg_is_chk_orph(const struct ubifs_info *c)
 {
        return !!(ubifs_chk_flags & UBIFS_CHK_ORPH);
 }
-static inline int dbg_is_chk_old_idx(const struct ubifs_info *c)
-{
-       return !!(ubifs_chk_flags & UBIFS_CHK_OLD_IDX);
-}
 static inline int dbg_is_chk_lprops(const struct ubifs_info *c)
 {
        return !!(ubifs_chk_flags & UBIFS_CHK_LPROPS);
@@ -462,10 +450,8 @@ dbg_check_nondata_nodes_order(struct ubifs_info *c,
                              struct list_head *head)             { return 0; }
 
 static inline int dbg_is_chk_gen(const struct ubifs_info *c)      { return 0; }
-static inline int dbg_is_chk_tnc(const struct ubifs_info *c)      { return 0; }
-static inline int dbg_is_chk_idx_sz(const struct ubifs_info *c)   { return 0; }
+static inline int dbg_is_chk_index(const struct ubifs_info *c)    { return 0; }
 static inline int dbg_is_chk_orph(const struct ubifs_info *c)     { return 0; }
-static inline int dbg_is_chk_old_idx(const struct ubifs_info *c)  { return 0; }
 static inline int dbg_is_chk_lprops(const struct ubifs_info *c)   { return 0; }
 static inline int dbg_is_chk_fs(const struct ubifs_info *c)       { return 0; }
 static inline int dbg_is_tst_rcvry(const struct ubifs_info *c)    { return 0; }
index f8e286ba8095362e8691b37837879d444df99ff5..f13addf72e895c41e08d530121ffcbe47e543e0b 100644 (file)
@@ -27,6 +27,7 @@
 
 #include <linux/crc16.h>
 #include <linux/slab.h>
+#include <linux/random.h>
 #include "ubifs.h"
 
 #ifdef CONFIG_UBIFS_FS_DEBUG
index 8959c726b024ac069ff42520b0b5ce454a469a16..4c15f07a8bb2b25d2f56f413f4e9883ee33e4b31 100644 (file)
@@ -22,8 +22,8 @@
 
 /* This file implements TNC functions for committing */
 
-#include "ubifs.h"
 #include <linux/random.h>
+#include "ubifs.h"
 
 /**
  * make_idx_node - make an index node for fill-the-gaps method of TNC commit.
@@ -382,7 +382,7 @@ static int layout_in_gaps(struct ubifs_info *c, int cnt)
                                c->gap_lebs = NULL;
                                return err;
                        }
-                       if (!dbg_is_chk_gen(c)) {
+                       if (!dbg_is_chk_index(c)) {
                                /*
                                 * Do not print scary warnings if the debugging
                                 * option which forces in-the-gaps is enabled.
@@ -690,7 +690,7 @@ static int alloc_idx_lebs(struct ubifs_info *c, int cnt)
                c->ilebs[c->ileb_cnt++] = lnum;
                dbg_cmt("LEB %d", lnum);
        }
-       if (dbg_is_chk_gen(c) && !(random32() & 7))
+       if (dbg_is_chk_index(c) && !(random32() & 7))
                return -ENOSPC;
        return 0;
 }