aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ubifs/debug.c
diff options
context:
space:
mode:
authorArtem Bityutskiy <Artem.Bityutskiy@nokia.com>2011-06-03 01:31:29 -0400
committerArtem Bityutskiy <dedekind1@gmail.com>2011-07-04 03:54:28 -0400
commit2b1844a8c934723134ee1ff313e51d0d281cdef1 (patch)
tree1c490adba95a54eb14f9b00890ce9b09050358f7 /fs/ubifs/debug.c
parentd808efb407e1a2cf83a8d21411157195f26bdef9 (diff)
UBIFS: introduce helper functions for debugging checks and tests
This patch introduces helper functions for all debugging checks, so instead of doing if (!(ubifs_chk_flags & UBIFS_CHK_GEN)) we now do if (!dbg_is_chk_gen(c)) This is a preparation to further changes where the flags will go away, and we'll need to only change the helper functions, but the code which utilizes them won't be touched. At the same time this patch removes 'dbg_force_in_the_gaps()', 'dbg_force_in_the_gaps_enabled()', and dbg_failure_mode helpers for consistency. Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Diffstat (limited to 'fs/ubifs/debug.c')
-rw-r--r--fs/ubifs/debug.c30
1 files changed, 11 insertions, 19 deletions
diff --git a/fs/ubifs/debug.c b/fs/ubifs/debug.c
index 7adf9fe91817..79d8924aca5b 100644
--- a/fs/ubifs/debug.c
+++ b/fs/ubifs/debug.c
@@ -330,7 +330,7 @@ void dbg_dump_node(const struct ubifs_info *c, const void *node)
330 union ubifs_key key; 330 union ubifs_key key;
331 const struct ubifs_ch *ch = node; 331 const struct ubifs_ch *ch = node;
332 332
333 if (dbg_failure_mode) 333 if (dbg_is_tst_rcvry(c))
334 return; 334 return;
335 335
336 /* If the magic is incorrect, just hexdump the first bytes */ 336 /* If the magic is incorrect, just hexdump the first bytes */
@@ -886,7 +886,7 @@ void dbg_dump_leb(const struct ubifs_info *c, int lnum)
886 struct ubifs_scan_node *snod; 886 struct ubifs_scan_node *snod;
887 void *buf; 887 void *buf;
888 888
889 if (dbg_failure_mode) 889 if (dbg_is_tst_rcvry(c))
890 return; 890 return;
891 891
892 printk(KERN_DEBUG "(pid %d) start dumping LEB %d\n", 892 printk(KERN_DEBUG "(pid %d) start dumping LEB %d\n",
@@ -1145,7 +1145,7 @@ int dbg_check_synced_i_size(const struct ubifs_info *c, struct inode *inode)
1145 int err = 0; 1145 int err = 0;
1146 struct ubifs_inode *ui = ubifs_inode(inode); 1146 struct ubifs_inode *ui = ubifs_inode(inode);
1147 1147
1148 if (!(ubifs_chk_flags & UBIFS_CHK_GEN)) 1148 if (!dbg_is_chk_gen(c))
1149 return 0; 1149 return 0;
1150 if (!S_ISREG(inode->i_mode)) 1150 if (!S_ISREG(inode->i_mode))
1151 return 0; 1151 return 0;
@@ -1186,7 +1186,7 @@ int dbg_check_dir(struct ubifs_info *c, const struct inode *dir)
1186 struct qstr nm = { .name = NULL }; 1186 struct qstr nm = { .name = NULL };
1187 loff_t size = UBIFS_INO_NODE_SZ; 1187 loff_t size = UBIFS_INO_NODE_SZ;
1188 1188
1189 if (!(ubifs_chk_flags & UBIFS_CHK_GEN)) 1189 if (!dbg_is_chk_gen(c))
1190 return 0; 1190 return 0;
1191 1191
1192 if (!S_ISDIR(dir->i_mode)) 1192 if (!S_ISDIR(dir->i_mode))
@@ -1544,7 +1544,7 @@ int dbg_check_tnc(struct ubifs_info *c, int extra)
1544 long clean_cnt = 0, dirty_cnt = 0; 1544 long clean_cnt = 0, dirty_cnt = 0;
1545 int err, last; 1545 int err, last;
1546 1546
1547 if (!(ubifs_chk_flags & UBIFS_CHK_TNC)) 1547 if (!dbg_is_chk_tnc(c))
1548 return 0; 1548 return 0;
1549 1549
1550 ubifs_assert(mutex_is_locked(&c->tnc_mutex)); 1550 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)
1791 int err; 1791 int err;
1792 long long calc = 0; 1792 long long calc = 0;
1793 1793
1794 if (!(ubifs_chk_flags & UBIFS_CHK_IDX_SZ)) 1794 if (!dbg_is_chk_idx_sz(c))
1795 return 0; 1795 return 0;
1796 1796
1797 err = dbg_walk_index(c, NULL, add_size, &calc); 1797 err = dbg_walk_index(c, NULL, add_size, &calc);
@@ -2367,7 +2367,7 @@ int dbg_check_filesystem(struct ubifs_info *c)
2367 int err; 2367 int err;
2368 struct fsck_data fsckd; 2368 struct fsck_data fsckd;
2369 2369
2370 if (!(ubifs_chk_flags & UBIFS_CHK_FS)) 2370 if (!dbg_is_chk_fs(c))
2371 return 0; 2371 return 0;
2372 2372
2373 fsckd.inodes = RB_ROOT; 2373 fsckd.inodes = RB_ROOT;
@@ -2402,7 +2402,7 @@ int dbg_check_data_nodes_order(struct ubifs_info *c, struct list_head *head)
2402 struct list_head *cur; 2402 struct list_head *cur;
2403 struct ubifs_scan_node *sa, *sb; 2403 struct ubifs_scan_node *sa, *sb;
2404 2404
2405 if (!(ubifs_chk_flags & UBIFS_CHK_GEN)) 2405 if (!dbg_is_chk_gen(c))
2406 return 0; 2406 return 0;
2407 2407
2408 for (cur = head->next; cur->next != head; cur = cur->next) { 2408 for (cur = head->next; cur->next != head; cur = cur->next) {
@@ -2469,7 +2469,7 @@ int dbg_check_nondata_nodes_order(struct ubifs_info *c, struct list_head *head)
2469 struct list_head *cur; 2469 struct list_head *cur;
2470 struct ubifs_scan_node *sa, *sb; 2470 struct ubifs_scan_node *sa, *sb;
2471 2471
2472 if (!(ubifs_chk_flags & UBIFS_CHK_GEN)) 2472 if (!dbg_is_chk_gen(c))
2473 return 0; 2473 return 0;
2474 2474
2475 for (cur = head->next; cur->next != head; cur = cur->next) { 2475 for (cur = head->next; cur->next != head; cur = cur->next) {
@@ -2546,14 +2546,6 @@ error_dump:
2546 return 0; 2546 return 0;
2547} 2547}
2548 2548
2549int dbg_force_in_the_gaps(void)
2550{
2551 if (!(ubifs_chk_flags & UBIFS_CHK_GEN))
2552 return 0;
2553
2554 return !(random32() & 7);
2555}
2556
2557/* Failure mode for recovery testing */ 2549/* Failure mode for recovery testing */
2558 2550
2559#define chance(n, d) (simple_rand() <= (n) * 32768LL / (d)) 2551#define chance(n, d) (simple_rand() <= (n) * 32768LL / (d))
@@ -2624,7 +2616,7 @@ static int in_failure_mode(struct ubi_volume_desc *desc)
2624{ 2616{
2625 struct ubifs_info *c = dbg_find_info(desc); 2617 struct ubifs_info *c = dbg_find_info(desc);
2626 2618
2627 if (c && dbg_failure_mode) 2619 if (c && dbg_is_tst_rcvry(c))
2628 return c->dbg->failure_mode; 2620 return c->dbg->failure_mode;
2629 return 0; 2621 return 0;
2630} 2622}
@@ -2634,7 +2626,7 @@ static int do_fail(struct ubi_volume_desc *desc, int lnum, int write)
2634 struct ubifs_info *c = dbg_find_info(desc); 2626 struct ubifs_info *c = dbg_find_info(desc);
2635 struct ubifs_debug_info *d; 2627 struct ubifs_debug_info *d;
2636 2628
2637 if (!c || !dbg_failure_mode) 2629 if (!c || !dbg_is_tst_rcvry(c))
2638 return 0; 2630 return 0;
2639 d = c->dbg; 2631 d = c->dbg;
2640 if (d->failure_mode) 2632 if (d->failure_mode)