X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=fs%2Freiserfs%2Fprints.c;h=16fdca1d4bd795066a2b3fb7938a7ecc8056b95e;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=95217062f07120ece1f43a78b5a9a93f34fc330b;hpb=87fc8d1bb10cd459024a742c6a10961fefcef18f;p=linux-2.6.git diff --git a/fs/reiserfs/prints.c b/fs/reiserfs/prints.c index 95217062f..16fdca1d4 100644 --- a/fs/reiserfs/prints.c +++ b/fs/reiserfs/prints.c @@ -28,7 +28,7 @@ static char * reiserfs_cpu_offset (struct cpu_key * key) } -static char * le_offset (struct key * key) +static char * le_offset (struct reiserfs_key * key) { int version; @@ -57,7 +57,7 @@ static char * cpu_type (struct cpu_key * key) } -static char * le_type (struct key * key) +static char * le_type (struct reiserfs_key * key) { int version; @@ -76,7 +76,7 @@ static char * le_type (struct key * key) /* %k */ -static void sprintf_le_key (char * buf, struct key * key) +static void sprintf_le_key (char * buf, struct reiserfs_key * key) { if (key) sprintf (buf, "[%d %d %s %s]", le32_to_cpu (key->k_dir_id), @@ -213,7 +213,7 @@ prepare_error_buf( const char *fmt, va_list args ) switch (what) { case 'k': - sprintf_le_key (p, va_arg(args, struct key *)); + sprintf_le_key (p, va_arg(args, struct reiserfs_key *)); break; case 'K': sprintf_cpu_key (p, va_arg(args, struct cpu_key *)); @@ -286,7 +286,7 @@ void reiserfs_info (struct super_block *sb, const char * fmt, ...) } /* No newline.. reiserfs_printk calls can be followed by printk's */ -void reiserfs_printk (const char * fmt, ...) +static void reiserfs_printk (const char * fmt, ...) { do_reiserfs_warning(fmt); printk (error_buf); @@ -366,60 +366,32 @@ void reiserfs_panic (struct super_block * sb, const char * fmt, ...) reiserfs_bdevname (sb), error_buf); } - -void print_virtual_node (struct virtual_node * vn) +void +reiserfs_abort (struct super_block *sb, int errno, const char *fmt, ...) { - int i; - struct virtual_item * vi; + do_reiserfs_warning (fmt); - printk ("VIRTUAL NODE CONTAINS %d items, has size %d,%s,%s, ITEM_POS=%d POS_IN_ITEM=%d MODE=\'%c\'\n", - vn->vn_nr_item, vn->vn_size, - (vn->vn_vi[0].vi_type & VI_TYPE_LEFT_MERGEABLE )? "left mergeable" : "", - (vn->vn_vi[vn->vn_nr_item - 1].vi_type & VI_TYPE_RIGHT_MERGEABLE) ? "right mergeable" : "", - vn->vn_affected_item_num, vn->vn_pos_in_item, vn->vn_mode); - - vi = vn->vn_vi; - for (i = 0; i < vn->vn_nr_item; i ++, vi ++) - op_print_vi (vi); - -} + if (reiserfs_error_panic (sb)) { + panic (KERN_CRIT "REISERFS: panic (device %s): %s\n", + reiserfs_bdevname (sb), error_buf); + } + if (sb->s_flags & MS_RDONLY) + return; -void print_path (struct tree_balance * tb, struct path * path) -{ - int h = 0; - struct buffer_head * bh; - - if (tb) { - while (tb->insert_size[h]) { - bh = PATH_H_PBUFFER (path, h); - printk ("block %llu (level=%d), position %d\n", bh ? (unsigned long long)bh->b_blocknr : 0LL, - bh ? B_LEVEL (bh) : 0, PATH_H_POSITION (path, h)); - h ++; - } - } else { - int offset = path->path_length; - struct buffer_head * bh; - printk ("Offset Bh (b_blocknr, b_count) Position Nr_item\n"); - while ( offset > ILLEGAL_PATH_ELEMENT_OFFSET ) { - bh = PATH_OFFSET_PBUFFER (path, offset); - printk ("%6d %10p (%9llu, %7d) %8d %7d\n", offset, - bh, bh ? (unsigned long long)bh->b_blocknr : 0LL, bh ? atomic_read (&(bh->b_count)) : 0, - PATH_OFFSET_POSITION (path, offset), bh ? B_NR_ITEMS (bh) : -1); - - offset --; - } - } + printk (KERN_CRIT "REISERFS: abort (device %s): %s\n", + reiserfs_bdevname (sb), error_buf); + sb->s_flags |= MS_RDONLY; + reiserfs_journal_abort (sb, errno); } - /* this prints internal nodes (4 keys/items in line) (dc_number, dc_size)[k_dirid, k_objectid, k_offset, k_uniqueness](dc_number, dc_size)...*/ static int print_internal (struct buffer_head * bh, int first, int last) { - struct key * key; + struct reiserfs_key * key; struct disk_child * dc; int i; int from, to; @@ -605,7 +577,7 @@ void print_block (struct buffer_head * bh, ...)//int print_mode, int first, int -char print_tb_buf[2048]; +static char print_tb_buf[2048]; /* this stores initial state of tree balance in the print_tb_buf */ void store_print_tb (struct tree_balance * tb)