[PATCH 3/3] reiserfs: convert string formatting to evprintk

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



 The reiserfs string formatting code bounces back and forth between its
 own internal formatting rules and those provided by vsnprintf. It's worked
 alright, but depends on undefined behavior - behavior that changed in a recent
 gcc release IIRC.

 This patch eliminates the reiserfs-internal string formatting and
 provides sprintf_type rules to allow reiserfs to use evprintk.

Signed-off-by: Jeff Mahoney <jeffm@xxxxxxxx>
---
 fs/reiserfs/dir.c             |    4 
 fs/reiserfs/do_balan.c        |   25 +-
 fs/reiserfs/fix_node.c        |   58 +++--
 fs/reiserfs/ibalance.c        |    4 
 fs/reiserfs/inode.c           |   23 +-
 fs/reiserfs/item_ops.c        |   11 -
 fs/reiserfs/lbalance.c        |   43 ++--
 fs/reiserfs/namei.c           |    9 
 fs/reiserfs/prints.c          |  413 +++++++++++++++++++-----------------------
 fs/reiserfs/stree.c           |  119 ++++++------
 fs/reiserfs/super.c           |   27 +-
 fs/reiserfs/tail_conversion.c |   19 -
 fs/reiserfs/xattr.c           |   10 -
 13 files changed, 385 insertions(+), 380 deletions(-)

--- a/fs/reiserfs/dir.c
+++ b/fs/reiserfs/dir.c
@@ -92,8 +92,8 @@ static int reiserfs_readdir(struct file
 
 		/* we must have found item, that is item of this directory, */
 		RFALSE(COMP_SHORT_KEYS(&(ih->ih_key), &pos_key),
-		       "vs-9000: found item %h does not match to dir we readdir %K",
-		       ih, &pos_key);
+		       "vs-9000: found item %peh does not match to dir "
+		       "we readdir %peK", ih, &pos_key);
 		RFALSE(item_num > B_NR_ITEMS(bh) - 1,
 		       "vs-9005 item_num == %d, item amount == %d",
 		       item_num, B_NR_ITEMS(bh));
--- a/fs/reiserfs/do_balan.c
+++ b/fs/reiserfs/do_balan.c
@@ -79,7 +79,7 @@ static int balance_leaf_when_delete(stru
 	struct item_head *ih;
 
 	RFALSE(tb->FR[0] && B_LEVEL(tb->FR[0]) != DISK_LEAF_NODE_LEVEL + 1,
-	       "vs- 12000: level: wrong FR %z", tb->FR[0]);
+	       "vs- 12000: level: wrong FR %pez", tb->FR[0]);
 	RFALSE(tb->blknum[0] > 1,
 	       "PAP-12005: tb->blknum == %d, can not be > 1", tb->blknum[0]);
 	RFALSE(!tb->blknum[0] && !PATH_H_PPARENT(tb->tb_path, 0),
@@ -93,8 +93,8 @@ static int balance_leaf_when_delete(stru
 	case M_DELETE:		/* delete item in S[0] */
 
 		RFALSE(ih_item_len(ih) + IH_SIZE != -tb->insert_size[0],
-		       "vs-12013: mode Delete, insert size %d, ih to be deleted %h",
-		       -tb->insert_size[0], ih);
+		       "vs-12013: mode Delete, insert size %d, ih to "
+		       "be deleted %peh", -tb->insert_size[0], ih);
 
 		bi.tb = tb;
 		bi.bi_bh = tbS0;
@@ -1549,8 +1549,8 @@ static int balance_leaf(struct tree_bala
 
 		RFALSE(!buffer_journaled(S_new[i])
 		       || buffer_journal_dirty(S_new[i])
-		       || buffer_dirty(S_new[i]), "PAP-12247: S_new[%d] : (%b)",
-		       i, S_new[i]);
+		       || buffer_dirty(S_new[i]),
+		       "PAP-12247: S_new[%d] : (%peb)", i, S_new[i]);
 	}
 
 	/* if the affected item was not wholly shifted then we perform all necessary operations on that part or whole of the
@@ -1804,8 +1804,8 @@ void replace_key(struct tree_balance *tb
 	       "vs-12305: source or destination buffer is 0 (src=%p, dest=%p)",
 	       src, dest);
 	RFALSE(!B_IS_KEYS_LEVEL(dest),
-	       "vs-12310: invalid level (%z) for destination buffer. dest must be leaf",
-	       dest);
+	       "vs-12310: invalid level (%pez) for destination buffer. "
+	       "dest must be leaf", dest);
 	RFALSE(n_dest < 0 || n_src < 0,
 	       "vs-12315: src(%d) or dest(%d) key number < 0", n_src, n_dest);
 	RFALSE(n_dest >= B_NR_ITEMS(dest) || n_src >= B_NR_ITEMS(src),
@@ -1867,14 +1867,15 @@ static void check_internal_node(struct s
 
 	RFALSE(!buffer_dirty(bh) &&
 	       !(buffer_journaled(bh) || buffer_journal_dirty(bh)),
-	       "PAP-12337: buffer (%b) must be dirty", bh);
+	       "PAP-12337: buffer (%peb) must be dirty", bh);
 	dc = B_N_CHILD(bh, 0);
 
 	for (i = 0; i <= B_NR_ITEMS(bh); i++, dc++) {
 		if (!is_reusable(s, dc_block_number(dc), 1)) {
 			print_cur_tb(mes);
 			reiserfs_panic(s,
-				       "PAP-12338: check_internal_node: invalid child pointer %y in %b",
+				       "PAP-12338: check_internal_node: "
+				       "invalid child pointer %pey in %peb",
 				       dc, bh);
 		}
 	}
@@ -1885,7 +1886,7 @@ static int locked_or_not_in_tree(struct
 	if ((!buffer_journal_prepared(bh) && buffer_locked(bh)) ||
 	    !B_IS_IN_TREE(bh)) {
 		reiserfs_warning(NULL,
-				 "vs-12339: locked_or_not_in_tree: %s (%b)",
+				 "vs-12339: locked_or_not_in_tree: %s (%peb)",
 				 which, bh);
 		return 1;
 	}
@@ -1956,8 +1957,8 @@ static void check_after_balance_leaf(str
 							       1))));
 		print_cur_tb("12223");
 		reiserfs_warning(tb->tb_sb,
-				 "B_FREE_SPACE (PATH_H_PBUFFER(tb->tb_path,0)) = %d; "
-				 "MAX_CHILD_SIZE (%d) - dc_size( %y, %d ) [%d] = %d",
+			 "B_FREE_SPACE (PATH_H_PBUFFER(tb->tb_path,0)) = %d; "
+			 "MAX_CHILD_SIZE (%d) - dc_size( %pey, %d ) [%d] = %d",
 				 left,
 				 MAX_CHILD_SIZE(PATH_H_PBUFFER(tb->tb_path, 0)),
 				 PATH_H_PBUFFER(tb->tb_path, 1),
--- a/fs/reiserfs/fix_node.c
+++ b/fs/reiserfs/fix_node.c
@@ -187,7 +187,9 @@ static void create_virtual_node(struct t
 				/* node contains more than 1 item, or item is not directory item, or this item contains more than 1 entry */
 				print_block(Sh, 0, -1, -1);
 				reiserfs_panic(tb->tb_sb,
-					       "vs-8045: create_virtual_node: rdkey %k, affected item==%d (mode==%c) Must be %c",
+					       "vs-8045: create_virtual_node: "
+					       "rdkey %pek, affected item==%d "
+					       "(mode==%c) Must be %c",
 					       key, vn->vn_affected_item_num,
 					       vn->vn_mode, M_DELETE);
 			}
@@ -833,8 +835,8 @@ static int get_empty_nodes(struct tree_b
 		RFALSE(buffer_dirty(p_s_new_bh) ||
 		       buffer_journaled(p_s_new_bh) ||
 		       buffer_journal_dirty(p_s_new_bh),
-		       "PAP-8140: journlaled or dirty buffer %b for the new block",
-		       p_s_new_bh);
+		       "PAP-8140: journlaled or dirty buffer %peb for the "
+		       "new block", p_s_new_bh);
 
 		/* Put empty buffers into the array. */
 		RFALSE(p_s_tb->FEB[p_s_tb->cur_blknum],
@@ -913,7 +915,7 @@ static int is_left_neighbor_in_cache(str
 	       !B_IS_IN_TREE(p_s_tb->FL[n_h]) ||
 	       !buffer_uptodate(p_s_father) ||
 	       !buffer_uptodate(p_s_tb->FL[n_h]),
-	       "vs-8165: F[h] (%b) or FL[h] (%b) is invalid",
+	       "vs-8165: F[h] (%peb) or FL[h] (%peb) is invalid",
 	       p_s_father, p_s_tb->FL[n_h]);
 
 	/* Get position of the pointer to the left neighbor into the left father. */
@@ -926,7 +928,7 @@ static int is_left_neighbor_in_cache(str
 	if ((left = sb_find_get_block(p_s_sb, n_left_neighbor_blocknr))) {
 
 		RFALSE(buffer_uptodate(left) && !B_IS_IN_TREE(left),
-		       "vs-8170: left neighbor (%b %z) is not in the tree",
+		       "vs-8170: left neighbor (%peb %pez) is not in the tree",
 		       left, left);
 		put_bh(left);
 		return 1;
@@ -1014,7 +1016,7 @@ static int get_far_parent(struct tree_ba
 	}
 
 	RFALSE(B_LEVEL(*pp_s_com_father) <= DISK_LEAF_NODE_LEVEL,
-	       "PAP-8185: (%b %z) level too small",
+	       "PAP-8185: (%peb %pez) level too small",
 	       *pp_s_com_father, *pp_s_com_father);
 
 	/* Check whether the common parent is locked. */
@@ -1058,7 +1060,8 @@ static int get_far_parent(struct tree_ba
 	*pp_s_father = PATH_PLAST_BUFFER(&s_path_to_neighbor_father);
 
 	RFALSE(B_LEVEL(*pp_s_father) != n_h + 1,
-	       "PAP-8190: (%b %z) level too small", *pp_s_father, *pp_s_father);
+	       "PAP-8190: (%peb %pez) level too small",
+	       *pp_s_father, *pp_s_father);
 	RFALSE(s_path_to_neighbor_father.path_length <
 	       FIRST_PATH_ELEMENT_OFFSET, "PAP-8192: path length is too small");
 
@@ -1122,7 +1125,8 @@ static int get_parents(struct tree_balan
 
 	RFALSE((p_s_curf && !B_IS_IN_TREE(p_s_curf)) ||
 	       (p_s_curcf && !B_IS_IN_TREE(p_s_curcf)),
-	       "PAP-8195: FL (%b) or CFL (%b) is invalid", p_s_curf, p_s_curcf);
+	       "PAP-8195: FL (%peb) or CFL (%peb) is invalid",
+	       p_s_curf, p_s_curcf);
 
 /* Get parent FR[n_h] of R[n_h]. */
 
@@ -1153,7 +1157,8 @@ static int get_parents(struct tree_balan
 
 	RFALSE((p_s_curf && !B_IS_IN_TREE(p_s_curf)) ||
 	       (p_s_curcf && !B_IS_IN_TREE(p_s_curcf)),
-	       "PAP-8205: FR (%b) or CFR (%b) is invalid", p_s_curf, p_s_curcf);
+	       "PAP-8205: FR (%peb) or CFR (%peb) is invalid",
+	       p_s_curf, p_s_curcf);
 
 	return CARRY_ON;
 }
@@ -2096,38 +2101,45 @@ static void tb_buffer_sanity_check(struc
 		if (atomic_read(&(p_s_bh->b_count)) <= 0) {
 
 			reiserfs_panic(p_s_sb,
-				       "jmacd-1: tb_buffer_sanity_check(): negative or zero reference counter for buffer %s[%d] (%b)\n",
+				       "jmacd-1: tb_buffer_sanity_check(): "
+				       "negative or zero reference counter "
+				       "for buffer %s[%d] (%peb)\n",
 				       descr, level, p_s_bh);
 		}
 
 		if (!buffer_uptodate(p_s_bh)) {
 			reiserfs_panic(p_s_sb,
-				       "jmacd-2: tb_buffer_sanity_check(): buffer is not up to date %s[%d] (%b)\n",
-				       descr, level, p_s_bh);
+				       "jmacd-2: tb_buffer_sanity_check(): "
+				       "buffer is not up to date %s[%d] "
+				       "(%peb)\n", descr, level, p_s_bh);
 		}
 
 		if (!B_IS_IN_TREE(p_s_bh)) {
 			reiserfs_panic(p_s_sb,
-				       "jmacd-3: tb_buffer_sanity_check(): buffer is not in tree %s[%d] (%b)\n",
+				       "jmacd-3: tb_buffer_sanity_check(): "
+				       "buffer is not in tree %s[%d] (%peb)\n",
 				       descr, level, p_s_bh);
 		}
 
 		if (p_s_bh->b_bdev != p_s_sb->s_bdev) {
 			reiserfs_panic(p_s_sb,
-				       "jmacd-4: tb_buffer_sanity_check(): buffer has wrong device %s[%d] (%b)\n",
-				       descr, level, p_s_bh);
+				       "jmacd-4: tb_buffer_sanity_check(): "
+				       "buffer has wrong device %s[%d] "
+				       "(%peb)\n", descr, level, p_s_bh);
 		}
 
 		if (p_s_bh->b_size != p_s_sb->s_blocksize) {
 			reiserfs_panic(p_s_sb,
-				       "jmacd-5: tb_buffer_sanity_check(): buffer has wrong blocksize %s[%d] (%b)\n",
-				       descr, level, p_s_bh);
+				       "jmacd-5: tb_buffer_sanity_check(): "
+				       "buffer has wrong blocksize %s[%d] "
+				       "(%peb)\n", descr, level, p_s_bh);
 		}
 
 		if (p_s_bh->b_blocknr > SB_BLOCK_COUNT(p_s_sb)) {
 			reiserfs_panic(p_s_sb,
-				       "jmacd-6: tb_buffer_sanity_check(): buffer block number too high %s[%d] (%b)\n",
-				       descr, level, p_s_bh);
+				       "jmacd-6: tb_buffer_sanity_check(): "
+				       "buffer block number too high %s[%d] "
+				       "(%peb)\n", descr, level, p_s_bh);
 		}
 	}
 }
@@ -2271,7 +2283,7 @@ static int wait_tb_buffers_until_unlocke
 				reiserfs_warning(p_s_tb->tb_sb,
 						 "wait_tb_buffers_until_released(): too many "
 						 "iterations waiting for buffer to unlock "
-						 "(%b)", locked);
+						 "(%peb)", locked);
 
 				/* Don't loop forever.  Try to recover from possible error. */
 
@@ -2364,9 +2376,9 @@ int fix_nodes(int n_op_mode, struct tree
 
 	if (!buffer_uptodate(p_s_tbS0) || !B_IS_IN_TREE(p_s_tbS0)) {
 		reiserfs_panic(p_s_tb->tb_sb,
-			       "PAP-8320: fix_nodes: S[0] (%b %z) is not uptodate "
-			       "at the beginning of fix_nodes or not in tree (mode %c)",
-			       p_s_tbS0, p_s_tbS0, n_op_mode);
+		       "PAP-8320: fix_nodes: S[0] (%peb %pez) is not uptodate "
+		       "at the beginning of fix_nodes or not in tree (mode %c)",
+		       p_s_tbS0, p_s_tbS0, n_op_mode);
 	}
 
 	/* Check parameters. */
--- a/fs/reiserfs/ibalance.c
+++ b/fs/reiserfs/ibalance.c
@@ -226,7 +226,7 @@ static void internal_delete_pointers_ite
 
 	RFALSE(first_i + del_num > B_NR_ITEMS(cur),
 	       "first_i = %d del_num = %d "
-	       "no so many keys (%d) in the node (%b)(%z)",
+	       "no so many keys (%d) in the node (%peb)(%pez)",
 	       first_i, del_num, first_i + del_num, cur, cur);
 
 	/* deleting */
@@ -1063,7 +1063,7 @@ int balance_internal(struct tree_balance
 		new_insert_ptr = S_new;
 
 		RFALSE(!buffer_journaled(S_new) || buffer_journal_dirty(S_new)
-		       || buffer_dirty(S_new), "cm-00001: bad S_new (%b)",
+		       || buffer_dirty(S_new), "cm-00001: bad S_new (%peb)",
 		       S_new);
 
 		// S_new is released in unfix_nodes
--- a/fs/reiserfs/inode.c
+++ b/fs/reiserfs/inode.c
@@ -1008,7 +1008,7 @@ int reiserfs_get_block(struct inode *ino
 		if (retval == POSITION_FOUND) {
 			reiserfs_warning(inode->i_sb,
 					 "vs-825: reiserfs_get_block: "
-					 "%K should not be found", &key);
+					 "%peK should not be found", &key);
 			retval = -EEXIST;
 			if (allocated_block_nr)
 				reiserfs_free_block(th, inode,
@@ -1300,8 +1300,8 @@ static void update_stat_data(struct tree
 
 	if (!is_statdata_le_ih(ih))
 		reiserfs_panic(inode->i_sb,
-			       "vs-13065: update_stat_data: key %k, found item %h",
-			       INODE_PKEY(inode), ih);
+		       "vs-13065: update_stat_data: key %pek, found item %peh",
+		       INODE_PKEY(inode), ih);
 
 	if (stat_data_v1(ih)) {
 		// path points to old stat data
@@ -1334,8 +1334,8 @@ void reiserfs_update_sd_size(struct reis
 		if (retval == IO_ERROR) {
 			reiserfs_warning(inode->i_sb,
 					 "vs-13050: reiserfs_update_sd: "
-					 "i/o failure occurred trying to update %K stat data",
-					 &key);
+					 "i/o failure occurred trying to "
+					 "update %peK stat data", &key);
 			return;
 		}
 		if (retval == ITEM_NOT_FOUND) {
@@ -1347,7 +1347,8 @@ void reiserfs_update_sd_size(struct reis
 			}
 			reiserfs_warning(inode->i_sb,
 					 "vs-13060: reiserfs_update_sd: "
-					 "stat data of object %k (nlink == %d) not found (pos %d)",
+					 "stat data of object %pek "
+					 "(nlink == %d) not found (pos %d)",
 					 INODE_PKEY(inode), inode->i_nlink,
 					 pos);
 			reiserfs_check_path(&path);
@@ -1426,8 +1427,8 @@ void reiserfs_read_locked_inode(struct i
 	if (retval == IO_ERROR) {
 		reiserfs_warning(inode->i_sb,
 				 "vs-13070: reiserfs_read_locked_inode: "
-				 "i/o failure occurred trying to find stat data of %K",
-				 &key);
+				 "i/o failure occurred trying to find "
+				 "stat data of %peK", &key);
 		reiserfs_make_bad_inode(inode);
 		return;
 	}
@@ -1459,7 +1460,7 @@ void reiserfs_read_locked_inode(struct i
 	    !REISERFS_SB(inode->i_sb)->s_is_unlinked_ok) {
 		reiserfs_warning(inode->i_sb,
 				 "vs-13075: reiserfs_read_locked_inode: "
-				 "dead inode read from disk %K. "
+				 "dead inode read from disk %peK. "
 				 "This is likely to be race with knfsd. Ignore",
 				 &key);
 		reiserfs_make_bad_inode(inode);
@@ -1687,7 +1688,7 @@ static int reiserfs_new_directory(struct
 	if (retval == ITEM_FOUND) {
 		pathrelse(path);
 		reiserfs_warning(sb, "vs-13070: reiserfs_new_directory: "
-				 "object with this key exists (%k)",
+				 "object with this key exists (%pek)",
 				 &(ih->ih_key));
 		return -EEXIST;
 	}
@@ -1727,7 +1728,7 @@ static int reiserfs_new_symlink(struct r
 	if (retval == ITEM_FOUND) {
 		pathrelse(path);
 		reiserfs_warning(sb, "vs-13080: reiserfs_new_symlink: "
-				 "object with this key exists (%k)",
+				 "object with this key exists (%pek)",
 				 &(ih->ih_key));
 		return -EEXIST;
 	}
--- a/fs/reiserfs/item_ops.c
+++ b/fs/reiserfs/item_ops.c
@@ -97,7 +97,7 @@ static int sd_unit_num(struct virtual_it
 
 static void sd_print_vi(struct virtual_item *vi)
 {
-	reiserfs_warning(NULL, "STATDATA, index %d, type 0x%x, %h",
+	reiserfs_warning(NULL, "STATDATA, index %d, type 0x%x, %peh",
 			 vi->vi_index, vi->vi_type, vi->vi_ih);
 }
 
@@ -190,7 +190,7 @@ static int direct_unit_num(struct virtua
 
 static void direct_print_vi(struct virtual_item *vi)
 {
-	reiserfs_warning(NULL, "DIRECT, index %d, type 0x%x, %h",
+	reiserfs_warning(NULL, "DIRECT, index %d, type 0x%x, %peh",
 			 vi->vi_index, vi->vi_type, vi->vi_ih);
 }
 
@@ -334,7 +334,7 @@ static int indirect_unit_num(struct virt
 
 static void indirect_print_vi(struct virtual_item *vi)
 {
-	reiserfs_warning(NULL, "INDIRECT, index %d, type 0x%x, %h",
+	reiserfs_warning(NULL, "INDIRECT, index %d, type 0x%x, %peh",
 			 vi->vi_index, vi->vi_type, vi->vi_ih);
 }
 
@@ -614,8 +614,9 @@ static void direntry_print_vi(struct vir
 	int i;
 	struct direntry_uarea *dir_u = vi->vi_uarea;
 
-	reiserfs_warning(NULL, "DIRENTRY, index %d, type 0x%x, %h, flags 0x%x",
-			 vi->vi_index, vi->vi_type, vi->vi_ih, dir_u->flags);
+	reiserfs_warning(NULL, "DIRENTRY, index %d, type 0x%x, %peh, "
+			 "flags 0x%x", vi->vi_index, vi->vi_type,
+			 vi->vi_ih, dir_u->flags);
 	printk("%d entries: ", dir_u->entry_count);
 	for (i = 0; i < dir_u->entry_count; i++)
 		printk("%d ", dir_u->entry_sizes[i]);
--- a/fs/reiserfs/lbalance.c
+++ b/fs/reiserfs/lbalance.c
@@ -168,10 +168,11 @@ static int leaf_copy_boundary_item(struc
 			if (bytes_or_entries == ih_item_len(ih)
 			    && is_indirect_le_ih(ih))
 				if (get_ih_free_space(ih))
-					reiserfs_panic(NULL,
-						       "vs-10020: leaf_copy_boundary_item: "
-						       "last unformatted node must be filled entirely (%h)",
-						       ih);
+					reiserfs_panic(NULL, "vs-10020: "
+						"leaf_copy_boundary_item: "
+						"last unformatted node must "
+						"be filled entirely (%peh)",
+						ih);
 		}
 #endif
 
@@ -183,8 +184,9 @@ static int leaf_copy_boundary_item(struc
 
 		if (is_indirect_le_ih(dih)) {
 			RFALSE(get_ih_free_space(dih),
-			       "vs-10030: merge to left: last unformatted node of non-last indirect item %h must have zerto free space",
-			       ih);
+			       "vs-10030: merge to left: last unformatted "
+			       "node of non-last indirect item %peh must "
+			       "have zero free space", ih);
 			if (bytes_or_entries == ih_item_len(ih))
 				set_ih_free_space(dih, get_ih_free_space(ih));
 		}
@@ -222,8 +224,8 @@ static int leaf_copy_boundary_item(struc
 	 */
 
 	RFALSE(is_indirect_le_ih(ih) && get_ih_free_space(ih),
-	       "vs-10040: merge to right: last unformatted node of non-last indirect item must be filled entirely (%h)",
-	       ih);
+	       "vs-10040: merge to right: last unformatted node of "
+	       "non-last indirect item must be filled entirely (%peh)", ih);
 
 	if (bytes_or_entries == -1) {
 		/* bytes_or_entries = length of last item body of SOURCE */
@@ -231,7 +233,7 @@ static int leaf_copy_boundary_item(struc
 
 		RFALSE(le_ih_k_offset(dih) !=
 		       le_ih_k_offset(ih) + op_bytes_number(ih, src->b_size),
-		       "vs-10050: items %h and %h do not match", ih, dih);
+		       "vs-10050: items %peh and %peh do not match", ih, dih);
 
 		/* change first item key of the DEST */
 		set_le_ih_k_offset(dih, le_ih_k_offset(ih));
@@ -250,7 +252,7 @@ static int leaf_copy_boundary_item(struc
 		if (is_direct_le_ih(dih)) {
 			RFALSE(le_ih_k_offset(dih) <=
 			       (unsigned long)bytes_or_entries,
-			       "vs-10070: dih %h, bytes_or_entries(%d)", dih,
+			       "vs-10070: dih %peh, bytes_or_entries(%d)", dih,
 			       bytes_or_entries);
 			set_le_ih_k_offset(dih,
 					   le_ih_k_offset(dih) -
@@ -258,7 +260,7 @@ static int leaf_copy_boundary_item(struc
 		} else {
 			RFALSE(le_ih_k_offset(dih) <=
 			       (bytes_or_entries / UNFM_P_SIZE) * dest->b_size,
-			       "vs-10080: dih %h, bytes_or_entries(%d)",
+			       "vs-10080: dih %peh, bytes_or_entries(%d)",
 			       dih,
 			       (bytes_or_entries / UNFM_P_SIZE) * dest->b_size);
 			set_le_ih_k_offset(dih,
@@ -410,7 +412,7 @@ static void leaf_item_bottle(struct buff
 			}
 
 			RFALSE(op_is_left_mergeable(&(ih->ih_key), src->b_size),
-			       "vs-10190: bad mergeability of item %h", ih);
+			       "vs-10190: bad mergeability of item %peh", ih);
 			n_ih.ih_version = ih->ih_version;	/* JDM Endian safe, both le */
 			leaf_insert_into_buf(dest_bi, B_NR_ITEMS(dest), &n_ih,
 					     B_N_PITEM(src, item_num), 0);
@@ -811,7 +813,7 @@ void leaf_insert_into_buf(struct buffer_
 
 	/* check free space */
 	RFALSE(free_space < ih_item_len(inserted_item_ih) + IH_SIZE,
-	       "vs-10170: not enough free space in block %z, new item %h",
+	       "vs-10170: not enough free space in block %pez, new item %peh",
 	       bh, inserted_item_ih);
 	RFALSE(zeros_number > ih_item_len(inserted_item_ih),
 	       "vs-10172: zero number == %d, item length == %d",
@@ -1078,7 +1080,8 @@ void leaf_cut_from_buffer(struct buffer_
 						   bh->b_size);
 				RFALSE(ih_item_len(ih) == cut_size
 				       && get_ih_free_space(ih),
-				       "10205: invalid ih_free_space (%h)", ih);
+				       "10205: invalid ih_free_space (%peh)",
+				       ih);
 			}
 		}
 	}
@@ -1288,12 +1291,16 @@ void leaf_paste_entries(struct buffer_he
 
 			if (prev && prev <= deh_location(&(deh[i])))
 				reiserfs_warning(NULL,
-						 "vs-10240: leaf_paste_entries: directory item (%h) corrupted (prev %a, cur(%d) %a)",
-						 ih, deh + i - 1, i, deh + i);
+					 "vs-10240: leaf_paste_entries: "
+					 "directory item (%peh) corrupted "
+					 "(prev %pea, cur(%d) %pea)",
+					 ih, deh + i - 1, i, deh + i);
 			if (next && next >= deh_location(&(deh[i])))
 				reiserfs_warning(NULL,
-						 "vs-10250: leaf_paste_entries: directory item (%h) corrupted (cur(%d) %a, next %a)",
-						 ih, i, deh + i, deh + i + 1);
+					 "vs-10250: leaf_paste_entries: "
+					 "directory item (%peh) corrupted "
+					 "(cur(%d) %pea, next %pea)",
+					 ih, i, deh + i, deh + i + 1);
 		}
 	}
 #endif
--- a/fs/reiserfs/namei.c
+++ b/fs/reiserfs/namei.c
@@ -147,8 +147,9 @@ int search_by_entry_key(struct super_blo
 	    COMP_SHORT_KEYS(&(de->de_ih->ih_key), key)) {
 		print_block(de->de_bh, 0, -1, -1);
 		reiserfs_panic(sb,
-			       "vs-7005: search_by_entry_key: found item %h is not directory item or "
-			       "does not belong to the same directory as key %K",
+			       "vs-7005: search_by_entry_key: found item "
+			       "%peh is not directory item or does not "
+			       "belong to the same directory as key %peK",
 			       de->de_ih, key);
 	}
 #endif				/* CONFIG_REISERFS_CHECK */
@@ -517,8 +518,8 @@ static int reiserfs_add_entry(struct rei
 		    NAME_NOT_FOUND) {
 			reiserfs_warning(dir->i_sb,
 					 "vs-7032: reiserfs_add_entry: "
-					 "entry with this key (%K) already exists",
-					 &entry_key);
+					 "entry with this key (%peK) already "
+					 "exists", &entry_key);
 
 			if (buffer != small_buf)
 				kfree(buffer);
--- a/fs/reiserfs/prints.c
+++ b/fs/reiserfs/prints.c
@@ -10,42 +10,39 @@
 
 #include <stdarg.h>
 
-static char error_buf[1024];
-static char fmt_buf[1024];
-static char off_buf[80];
-
-static char *reiserfs_cpu_offset(struct cpu_key *key)
+static char *sprintf_cpu_offset(char *buf, char *end, const struct cpu_key *key)
 {
 	if (cpu_key_k_type(key) == TYPE_DIRENTRY)
-		sprintf(off_buf, "%Lu(%Lu)",
-			(unsigned long long)
-			GET_HASH_VALUE(cpu_key_k_offset(key)),
-			(unsigned long long)
-			GET_GENERATION_NUMBER(cpu_key_k_offset(key)));
+		buf += snprintf(buf, end - buf, "%llu(%llu)",
+			       (unsigned long long)
+			       GET_HASH_VALUE(cpu_key_k_offset(key)),
+			       (unsigned long long)
+			       GET_GENERATION_NUMBER(cpu_key_k_offset(key)));
 	else
-		sprintf(off_buf, "0x%Lx",
-			(unsigned long long)cpu_key_k_offset(key));
-	return off_buf;
+		buf += snprintf(buf, end - buf, "0x%llx",
+				(unsigned long long)cpu_key_k_offset(key));
+	return buf;
 }
 
-static char *le_offset(struct reiserfs_key *key)
+static char *sprintf_le_offset(char *buf, char *end,
+			       const struct reiserfs_key *key)
 {
 	int version;
 
 	version = le_key_version(key);
 	if (le_key_k_type(version, key) == TYPE_DIRENTRY)
-		sprintf(off_buf, "%Lu(%Lu)",
+		buf += snprintf(buf, end - buf, "%llu(%llu)",
 			(unsigned long long)
 			GET_HASH_VALUE(le_key_k_offset(version, key)),
 			(unsigned long long)
 			GET_GENERATION_NUMBER(le_key_k_offset(version, key)));
 	else
-		sprintf(off_buf, "0x%Lx",
+		buf += snprintf(buf, end - buf, "0x%Lx",
 			(unsigned long long)le_key_k_offset(version, key));
-	return off_buf;
+	return buf;
 }
 
-static char *cpu_type(struct cpu_key *key)
+static char *cpu_type(const struct cpu_key *key)
 {
 	if (cpu_key_k_type(key) == TYPE_STAT_DATA)
 		return "SD";
@@ -58,7 +55,7 @@ static char *cpu_type(struct cpu_key *ke
 	return "UNKNOWN";
 }
 
-static char *le_type(struct reiserfs_key *key)
+static char *le_type(const struct reiserfs_key *key)
 {
 	int version;
 
@@ -75,232 +72,206 @@ static char *le_type(struct reiserfs_key
 	return "UNKNOWN";
 }
 
-/* %k */
-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),
-			le32_to_cpu(key->k_objectid), le_offset(key),
-			le_type(key));
-	else
-		sprintf(buf, "[NULL]");
+static char *sprintf_le_key(const char *fmt, char *buf, char *end,
+			    const void *ptr, int field_width, int precision,
+			    int flags)
+{
+	const struct reiserfs_key *key = ptr;
+	if (key) {
+		buf += snprintf(buf, end - buf, "[%d %d ",
+			       le32_to_cpu(key->k_dir_id),
+			       le32_to_cpu(key->k_objectid));
+		buf = sprintf_le_offset(buf, end, key);
+		buf += snprintf(buf, end - buf, " %s]", le_type(key));
+	} else
+		buf += snprintf(buf, end - buf, "[NULL]");
+	return buf;
 }
 
-/* %K */
-static void sprintf_cpu_key(char *buf, struct cpu_key *key)
-{
-	if (key)
-		sprintf(buf, "[%d %d %s %s]", key->on_disk_key.k_dir_id,
-			key->on_disk_key.k_objectid, reiserfs_cpu_offset(key),
-			cpu_type(key));
-	else
-		sprintf(buf, "[NULL]");
+static char *sprintf_cpu_key(const char *fmt, char *buf, char *end,
+			     const void *ptr, int field_width, int precision,
+			     int flags)
+{
+	const struct cpu_key *key = ptr;
+	if (key) {
+		buf += snprintf(buf, end - buf, "[%d %d ",
+				key->on_disk_key.k_dir_id,
+				key->on_disk_key.k_objectid);
+		buf = sprintf_cpu_offset(buf, end, key);
+		buf += snprintf(buf, end - buf, " %s]", cpu_type(key));
+	} else
+		buf += snprintf(buf, end - buf, "[NULL]");
+	return buf;
 }
 
-static void sprintf_de_head(char *buf, struct reiserfs_de_head *deh)
+static char *sprintf_de_head(const char *fmt, char *buf, char *end,
+			     const void *ptr, int field_width, int precision,
+			     int flags)
 {
+	const struct reiserfs_de_head *deh  = ptr;
 	if (deh)
-		sprintf(buf,
-			"[offset=%d dir_id=%d objectid=%d location=%d state=%04x]",
-			deh_offset(deh), deh_dir_id(deh), deh_objectid(deh),
-			deh_location(deh), deh_state(deh));
+		buf += snprintf(buf, end - buf, "[offset=%d dir_id=%d "
+				"objectid=%d location=%d state=%04x]",
+				deh_offset(deh), deh_dir_id(deh),
+				deh_objectid(deh), deh_location(deh),
+				deh_state(deh));
 	else
-		sprintf(buf, "[NULL]");
+		buf += snprintf(buf, end - buf, "[NULL]");
+
+	return buf;
 
 }
 
-static void sprintf_item_head(char *buf, struct item_head *ih)
+static char *sprintf_item_head(const char *fmt, char *buf, char *end,
+			       const void *ptr, int field_width, int precision,
+			       int flags)
 {
+	const struct item_head *ih = ptr;
 	if (ih) {
-		strcpy(buf,
-		       (ih_version(ih) == KEY_FORMAT_3_6) ? "*3.6* " : "*3.5*");
-		sprintf_le_key(buf + strlen(buf), &(ih->ih_key));
-		sprintf(buf + strlen(buf), ", item_len %d, item_location %d, "
-			"free_space(entry_count) %d",
-			ih_item_len(ih), ih_location(ih), ih_free_space(ih));
+		buf += snprintf(buf, end - buf, "[*3.%d* ", ih_version(ih) + 5);
+		buf = sprintf_le_key(fmt, buf, end, &ih->ih_key, field_width,
+				     precision, flags);
+		buf += snprintf(buf, end - buf, ", item_len %d, "
+				"item_location %d, free_space(entry_count) %d]",
+				ih_item_len(ih), ih_location(ih),
+				ih_free_space(ih));
 	} else
-		sprintf(buf, "[NULL]");
+		buf += snprintf(buf, end - buf, "[NULL]");
+
+	return buf;
 }
 
-static void sprintf_direntry(char *buf, struct reiserfs_dir_entry *de)
+static char *sprintf_direntry(const char *fmt, char *buf, char *end,
+			      const void *ptr, int field_width, int precision,
+			      int flags)
 {
+	const struct reiserfs_dir_entry *de = ptr;
 	char name[20];
 
 	memcpy(name, de->de_name, de->de_namelen > 19 ? 19 : de->de_namelen);
 	name[de->de_namelen > 19 ? 19 : de->de_namelen] = 0;
-	sprintf(buf, "\"%s\"==>[%d %d]", name, de->de_dir_id, de->de_objectid);
-}
-
-static void sprintf_block_head(char *buf, struct buffer_head *bh)
-{
-	sprintf(buf, "level=%d, nr_items=%d, free_space=%d rdkey ",
-		B_LEVEL(bh), B_NR_ITEMS(bh), B_FREE_SPACE(bh));
+	buf += snprintf(buf, end - buf, "\"%s\"==>[%d %d]",
+		       name, de->de_dir_id, de->de_objectid);
+	return buf;
 }
 
-static void sprintf_buffer_head(char *buf, struct buffer_head *bh)
+static char *sprintf_block_head(const char *fmt, char *buf, char *end,
+				const void *ptr, int field_width,
+				int precision, int flags)
 {
-	char b[BDEVNAME_SIZE];
-
-	sprintf(buf,
-		"dev %s, size %zd, blocknr %llu, count %d, state 0x%lx, page %p, (%s, %s, %s)",
-		bdevname(bh->b_bdev, b), bh->b_size,
-		(unsigned long long)bh->b_blocknr, atomic_read(&(bh->b_count)),
-		bh->b_state, bh->b_page,
-		buffer_uptodate(bh) ? "UPTODATE" : "!UPTODATE",
-		buffer_dirty(bh) ? "DIRTY" : "CLEAN",
-		buffer_locked(bh) ? "LOCKED" : "UNLOCKED");
-}
-
-static void sprintf_disk_child(char *buf, struct disk_child *dc)
-{
-	sprintf(buf, "[dc_number=%d, dc_size=%u]", dc_block_number(dc),
-		dc_size(dc));
-}
-
-static char *is_there_reiserfs_struct(char *fmt, int *what, int *skip)
-{
-	char *k = fmt;
-
-	*skip = 0;
+	const struct buffer_head *bh = ptr;
 
-	while ((k = strchr(k, '%')) != NULL) {
-		if (k[1] == 'k' || k[1] == 'K' || k[1] == 'h' || k[1] == 't' ||
-		    k[1] == 'z' || k[1] == 'b' || k[1] == 'y' || k[1] == 'a') {
-			*what = k[1];
-			break;
-		}
-		(*skip)++;
-		k++;
-	}
-	return k;
+	buf += snprintf(buf, end - buf,
+		       "[level=%d, nr_items=%d, free_space=%d rdkey ]",
+		       B_LEVEL(bh), B_NR_ITEMS(bh), B_FREE_SPACE(bh));
+	return buf;
 }
 
-/* debugging reiserfs we used to print out a lot of different
-   variables, like keys, item headers, buffer heads etc. Values of
-   most fields matter. So it took a long time just to write
-   appropriative printk. With this reiserfs_warning you can use format
-   specification for complex structures like you used to do with
-   printfs for integers, doubles and pointers. For instance, to print
-   out key structure you have to write just: 
-   reiserfs_warning ("bad key %k", key); 
-   instead of 
-   printk ("bad key %lu %lu %lu %lu", key->k_dir_id, key->k_objectid, 
-           key->k_offset, key->k_uniqueness); 
-*/
-
-static void prepare_error_buf(const char *fmt, va_list args)
+static char *sprintf_buffer_head(const char *fmt, char *buf, char *end,
+				 const void *ptr, int field_width,
+				 int precision, int flags)
 {
-	char *fmt1 = fmt_buf;
-	char *k;
-	char *p = error_buf;
-	int i, j, what, skip;
-
-	strcpy(fmt1, fmt);
-
-	while ((k = is_there_reiserfs_struct(fmt1, &what, &skip)) != NULL) {
-		*k = 0;
-
-		p += vsprintf(p, fmt1, args);
-
-		for (i = 0; i < skip; i++)
-			j = va_arg(args, int);
-
-		switch (what) {
-		case 'k':
-			sprintf_le_key(p, va_arg(args, struct reiserfs_key *));
-			break;
-		case 'K':
-			sprintf_cpu_key(p, va_arg(args, struct cpu_key *));
-			break;
-		case 'h':
-			sprintf_item_head(p, va_arg(args, struct item_head *));
-			break;
-		case 't':
-			sprintf_direntry(p,
-					 va_arg(args,
-						struct reiserfs_dir_entry *));
-			break;
-		case 'y':
-			sprintf_disk_child(p,
-					   va_arg(args, struct disk_child *));
-			break;
-		case 'z':
-			sprintf_block_head(p,
-					   va_arg(args, struct buffer_head *));
-			break;
-		case 'b':
-			sprintf_buffer_head(p,
-					    va_arg(args, struct buffer_head *));
-			break;
-		case 'a':
-			sprintf_de_head(p,
-					va_arg(args,
-					       struct reiserfs_de_head *));
-			break;
-		}
-
-		p += strlen(p);
-		fmt1 = k + 2;
-	}
-	vsprintf(p, fmt1, args);
+	const struct buffer_head *bh = ptr;
+	char b[BDEVNAME_SIZE];
 
-}
+	buf += snprintf(buf, end - buf,
+			"[dev %s, size %zd, blocknr %llu, count %d, "
+			"state 0x%lx, page %p, (%s, %s, %s)]",
+			bdevname(bh->b_bdev, b), bh->b_size,
+			(unsigned long long)bh->b_blocknr,
+			atomic_read(&(bh->b_count)),
+			bh->b_state, bh->b_page,
+			buffer_uptodate(bh) ? "UPTODATE" : "!UPTODATE",
+			buffer_dirty(bh) ? "DIRTY" : "CLEAN",
+			buffer_locked(bh) ? "LOCKED" : "UNLOCKED");
+	return buf;
+}
+
+static char *sprintf_disk_child(const char *fmt, char *buf, char *end,
+				const void *ptr, int width, int precision,
+				int flags)
+{
+	const struct disk_child *dc = ptr;
+
+	buf += snprintf(buf, end - buf, "[dc_number=%d, dc_size=%u]",
+			dc_block_number(dc), dc_size(dc));
+	return buf;
+}
+
+const static struct sprintf_type reiserfs_sprintf_types[] = {
+	{ .format_char = 'a', .formatter = sprintf_de_head, },
+	{ .format_char = 'b', .formatter = sprintf_buffer_head, },
+	{ .format_char = 'h', .formatter = sprintf_item_head, },
+	{ .format_char = 'K', .formatter = sprintf_cpu_key, },
+	{ .format_char = 'k', .formatter = sprintf_le_key, },
+	{ .format_char = 't', .formatter = sprintf_direntry, },
+	{ .format_char = 'y', .formatter = sprintf_disk_child, },
+	{ .format_char = 'z', .formatter = sprintf_block_head, },
+	{},
+};
 
 /* in addition to usual conversion specifiers this accepts reiserfs
-   specific conversion specifiers: 
-   %k to print little endian key, 
-   %K to print cpu key, 
-   %h to print item_head,
-   %t to print directory entry 
-   %z to print block head (arg must be struct buffer_head *
-   %b to print buffer_head
+   specific conversion specifiers:
+   %pea to print disk entry head,
+   %peb to print buffer_head
+   %peh to print item_head,
+   %peK to print cpu order key,
+   %pek to print disk order key,
+   %pet to print directory entry
+   %pey to print disk_child
+   %pez to print block head (arg must be struct buffer_head *)
 */
 
-#define do_reiserfs_warning(fmt)\
-{\
-    va_list args;\
-    va_start( args, fmt );\
-    prepare_error_buf( fmt, args );\
-    va_end( args );\
-}
-
 void reiserfs_warning(struct super_block *sb, const char *fmt, ...)
 {
-	do_reiserfs_warning(fmt);
+	va_list args;
+	va_start(args, fmt);
+
 	if (sb)
-		printk(KERN_WARNING "ReiserFS: %s: warning: %s\n",
-		       reiserfs_bdevname(sb), error_buf);
+		printk(KERN_WARNING "REISERFS warning (device %s): ",
+		       sb->s_id);
 	else
-		printk(KERN_WARNING "ReiserFS: warning: %s\n", error_buf);
+		printk(KERN_WARNING "REISERFS warning: ");
+
+	evprintk(reiserfs_sprintf_types, fmt, args);
+	va_end(args);
 }
 
 /* No newline.. reiserfs_info calls can be followed by printk's */
 void reiserfs_info(struct super_block *sb, const char *fmt, ...)
 {
-	do_reiserfs_warning(fmt);
+	va_list args;
+	va_start(args, fmt);
+
 	if (sb)
-		printk(KERN_NOTICE "ReiserFS: %s: %s",
-		       reiserfs_bdevname(sb), error_buf);
+		printk(KERN_INFO "REISERFS (device %s): ", sb->s_id);
 	else
-		printk(KERN_NOTICE "ReiserFS: %s", error_buf);
+		printk(KERN_INFO "REISERFS: ");
+
+	evprintk(reiserfs_sprintf_types, fmt, args);
+	va_end(args);
 }
 
 /* No newline.. reiserfs_printk calls can be followed by printk's */
 static void reiserfs_printk(const char *fmt, ...)
 {
-	do_reiserfs_warning(fmt);
-	printk(error_buf);
+	va_list args;
+	va_start(args, fmt);
+	evprintk(reiserfs_sprintf_types, fmt, args);
+	va_end(args);
 }
 
 void reiserfs_debug(struct super_block *s, int level, const char *fmt, ...)
 {
 #ifdef CONFIG_REISERFS_CHECK
-	do_reiserfs_warning(fmt);
+	va_list args;
+	va_start(args, fmt);
 	if (s)
-		printk(KERN_DEBUG "ReiserFS: %s: %s\n",
-		       reiserfs_bdevname(s), error_buf);
+		printk(KERN_DEBUG "REISERFS debug (device %s): ", s->s_id);
 	else
-		printk(KERN_DEBUG "ReiserFS: %s\n", error_buf);
+		printk(KERN_DEBUG "REISERFS debug: ");
+
+	evprintk(reiserfs_sprintf_types, fmt, args);
 #endif
 }
 
@@ -355,28 +326,34 @@ extern struct tree_balance *cur_tb;
 
 void reiserfs_panic(struct super_block *sb, const char *fmt, ...)
 {
-	do_reiserfs_warning(fmt);
+	va_list args;
+	va_start(args, fmt);
 
 	dump_stack();
 
-	panic(KERN_EMERG "REISERFS: panic (device %s): %s\n",
-	       reiserfs_bdevname(sb), error_buf);
+	if (sb)
+		printk(KERN_EMERG "REISERFS panic (device %s): ", sb->s_id);
+	else
+		printk(KERN_EMERG "REISERFS panic: ");
+
+	va_end(args);
+
+	panic("REISERFS panic from previous error\n");
 }
 
 void reiserfs_abort(struct super_block *sb, int errno, const char *fmt, ...)
 {
-	do_reiserfs_warning(fmt);
-
-	if (reiserfs_error_panic(sb)) {
-		panic(KERN_CRIT "REISERFS: panic (device %s): %s\n",
-		      reiserfs_bdevname(sb), error_buf);
-	}
+	va_list args;
+	va_start(args, fmt);
 
 	if (sb->s_flags & MS_RDONLY)
 		return;
 
-	printk(KERN_CRIT "REISERFS: abort (device %s): %s\n",
-	       reiserfs_bdevname(sb), error_buf);
+	printk(KERN_CRIT "REISERFS abort (device %s): ", sb->s_id);
+	evprintk(reiserfs_sprintf_types, fmt, args);
+	va_end(args);
+	if (reiserfs_error_panic(sb))
+		panic("REISERFS panic from previous error\n");
 
 	sb->s_flags |= MS_RDONLY;
 	reiserfs_journal_abort(sb, errno);
@@ -405,14 +382,16 @@ static int print_internal(struct buffer_
 		to = last < B_NR_ITEMS(bh) ? last : B_NR_ITEMS(bh);
 	}
 
-	reiserfs_printk("INTERNAL NODE (%ld) contains %z\n", bh->b_blocknr, bh);
+	reiserfs_printk("INTERNAL NODE (%ld) contains %pez\n",
+			bh->b_blocknr, bh);
 
 	dc = B_N_CHILD(bh, from);
-	reiserfs_printk("PTR %d: %y ", from, dc);
+	reiserfs_printk("PTR %d: %pey ", from, dc);
 
 	for (i = from, key = B_N_PDELIM_KEY(bh, from), dc++; i < to;
 	     i++, key++, dc++) {
-		reiserfs_printk("KEY %d: %k PTR %d: %y ", i, key, i + 1, dc);
+		reiserfs_printk("KEY %d: %pek PTR %d: %pey ",
+				i, key, i + 1, dc);
 		if (i && i % 4 == 0)
 			printk("\n");
 	}
@@ -439,10 +418,10 @@ static int print_leaf(struct buffer_head
 
 	printk
 	    ("\n===================================================================\n");
-	reiserfs_printk("LEAF NODE (%ld) contains %z\n", bh->b_blocknr, bh);
+	reiserfs_printk("LEAF NODE (%ld) contains %pez\n", bh->b_blocknr, bh);
 
 	if (!(print_mode & PRINT_LEAF_ITEMS)) {
-		reiserfs_printk("FIRST ITEM_KEY: %k, LAST ITEM KEY: %k\n",
+		reiserfs_printk("FIRST ITEM_KEY: %pek, LAST ITEM KEY: %pek\n",
 				&(ih->ih_key), &((ih + nr - 1)->ih_key));
 		return 0;
 	}
@@ -465,7 +444,7 @@ static int print_leaf(struct buffer_head
 	for (i = from; i < to; i++, ih++) {
 		printk
 		    ("-------------------------------------------------------------------------------\n");
-		reiserfs_printk("|%2d| %h |\n", i, ih);
+		reiserfs_printk("|%2d| %peh |\n", i, ih);
 		if (print_mode & PRINT_LEAF_ITEMS)
 			op_print_item(ih, B_I_PITEM(bh, ih));
 	}
@@ -682,12 +661,12 @@ static void check_leaf_block_head(struct
 	nr = blkh_nr_item(blkh);
 	if (nr > (bh->b_size - BLKH_SIZE) / IH_SIZE)
 		reiserfs_panic(NULL,
-			       "vs-6010: check_leaf_block_head: invalid item number %z",
-			       bh);
+			       "vs-6010: check_leaf_block_head: "
+			       "invalid item number %pez", bh);
 	if (blkh_free_space(blkh) > bh->b_size - BLKH_SIZE - IH_SIZE * nr)
 		reiserfs_panic(NULL,
-			       "vs-6020: check_leaf_block_head: invalid free space %z",
-			       bh);
+			       "vs-6020: check_leaf_block_head: "
+			       "invalid free space %pez", bh);
 
 }
 
@@ -698,20 +677,20 @@ static void check_internal_block_head(st
 	blkh = B_BLK_HEAD(bh);
 	if (!(B_LEVEL(bh) > DISK_LEAF_NODE_LEVEL && B_LEVEL(bh) <= MAX_HEIGHT))
 		reiserfs_panic(NULL,
-			       "vs-6025: check_internal_block_head: invalid level %z",
-			       bh);
+			       "vs-6025: check_internal_block_head: "
+			       " invalid level %pez", bh);
 
 	if (B_NR_ITEMS(bh) > (bh->b_size - BLKH_SIZE) / IH_SIZE)
 		reiserfs_panic(NULL,
-			       "vs-6030: check_internal_block_head: invalid item number %z",
-			       bh);
+			       "vs-6030: check_internal_block_head: "
+			       "invalid item number %pez", bh);
 
 	if (B_FREE_SPACE(bh) !=
 	    bh->b_size - BLKH_SIZE - KEY_SIZE * B_NR_ITEMS(bh) -
 	    DC_SIZE * (B_NR_ITEMS(bh) + 1))
 		reiserfs_panic(NULL,
-			       "vs-6040: check_internal_block_head: invalid free space %z",
-			       bh);
+			       "vs-6040: check_internal_block_head: "
+			       "invalid free space %pez", bh);
 
 }
 
--- a/fs/reiserfs/stree.c
+++ b/fs/reiserfs/stree.c
@@ -61,7 +61,8 @@ inline int B_IS_IN_TREE(const struct buf
 {
 
 	RFALSE(B_LEVEL(p_s_bh) > MAX_HEIGHT,
-	       "PAP-1010: block (%b) has too big level (%z)", p_s_bh, p_s_bh);
+	       "PAP-1010: block (%peb) has too big level (%pez)",
+	       p_s_bh, p_s_bh);
 
 	return (B_LEVEL(p_s_bh) != FREE_LEVEL);
 }
@@ -366,9 +367,8 @@ inline void decrement_bcount(struct buff
 			put_bh(p_s_bh);
 			return;
 		}
-		reiserfs_panic(NULL,
-			       "PAP-5070: decrement_bcount: trying to free free buffer %b",
-			       p_s_bh);
+		reiserfs_panic(NULL, "PAP-5070: decrement_bcount: trying to "
+			       "free free buffer %peb", p_s_bh);
 	}
 }
 
@@ -452,14 +452,15 @@ static int is_leaf(char *buf, int blocks
 	nr = blkh_nr_item(blkh);
 	if (nr < 1 || nr > ((blocksize - BLKH_SIZE) / (IH_SIZE + MIN_ITEM_LEN))) {
 		/* item number is too big or too small */
-		reiserfs_warning(NULL, "is_leaf: nr_item seems wrong: %z", bh);
+		reiserfs_warning(NULL, "is_leaf: nr_item seems wrong: %pez",
+				 bh);
 		return 0;
 	}
 	ih = (struct item_head *)(buf + BLKH_SIZE) + nr - 1;
 	used_space = BLKH_SIZE + IH_SIZE * nr + (blocksize - ih_location(ih));
 	if (used_space != blocksize - blkh_free_space(blkh)) {
 		/* free space does not match to calculated amount of use space */
-		reiserfs_warning(NULL, "is_leaf: free space seems wrong: %z",
+		reiserfs_warning(NULL, "is_leaf: free space seems wrong: %pez",
 				 bh);
 		return 0;
 	}
@@ -471,29 +472,25 @@ static int is_leaf(char *buf, int blocks
 	prev_location = blocksize;
 	for (i = 0; i < nr; i++, ih++) {
 		if (le_ih_k_type(ih) == TYPE_ANY) {
-			reiserfs_warning(NULL,
-					 "is_leaf: wrong item type for item %h",
-					 ih);
+			reiserfs_warning(NULL, "is_leaf: wrong item type for "
+					 "item %peh", ih);
 			return 0;
 		}
 		if (ih_location(ih) >= blocksize
 		    || ih_location(ih) < IH_SIZE * nr) {
-			reiserfs_warning(NULL,
-					 "is_leaf: item location seems wrong: %h",
-					 ih);
+			reiserfs_warning(NULL, "is_leaf: item location seems "
+					 "wrong: %peh", ih);
 			return 0;
 		}
 		if (ih_item_len(ih) < 1
 		    || ih_item_len(ih) > MAX_ITEM_LEN(blocksize)) {
-			reiserfs_warning(NULL,
-					 "is_leaf: item length seems wrong: %h",
-					 ih);
+			reiserfs_warning(NULL, "is_leaf: item length seems "
+					 "wrong: %peh", ih);
 			return 0;
 		}
 		if (prev_location - ih_location(ih) != ih_item_len(ih)) {
-			reiserfs_warning(NULL,
-					 "is_leaf: item location seems wrong (second one): %h",
-					 ih);
+			reiserfs_warning(NULL, "is_leaf: item location seems "
+					 "wrong (second one): %peh", ih);
 			return 0;
 		}
 		prev_location = ih_location(ih);
@@ -523,15 +520,15 @@ static int is_internal(char *buf, int bl
 	if (nr > (blocksize - BLKH_SIZE - DC_SIZE) / (KEY_SIZE + DC_SIZE)) {
 		/* for internal which is not root we might check min number of keys */
 		reiserfs_warning(NULL,
-				 "is_internal: number of key seems wrong: %z",
+				 "is_internal: number of key seems wrong: %pez",
 				 bh);
 		return 0;
 	}
 
 	used_space = BLKH_SIZE + KEY_SIZE * nr + DC_SIZE * (nr + 1);
 	if (used_space != blocksize - blkh_free_space(blkh)) {
-		reiserfs_warning(NULL,
-				 "is_internal: free space seems wrong: %z", bh);
+		reiserfs_warning(NULL, "is_internal: free space seems wrong: "
+				 "%pez", bh);
 		return 0;
 	}
 	// one may imagine much more checks
@@ -543,8 +540,8 @@ static int is_internal(char *buf, int bl
 static int is_tree_node(struct buffer_head *bh, int level)
 {
 	if (B_LEVEL(bh) != level) {
-		reiserfs_warning(NULL,
-				 "is_tree_node: node level %d does not match to the expected one %d",
+		reiserfs_warning(NULL, "is_tree_node: node level %d does "
+				 "not match to the expected one %d",
 				 B_LEVEL(bh), level);
 		return 0;
 	}
@@ -647,7 +644,7 @@ int search_by_key(struct super_block *p_
 		if (!(++n_repeat_counter % 50000))
 			reiserfs_warning(p_s_sb, "PAP-5100: search_by_key: %s:"
 					 "there were %d iterations of while loop "
-					 "looking for key %K",
+					 "looking for key %peK",
 					 current->comm, n_repeat_counter,
 					 p_s_key);
 #endif
@@ -960,7 +957,8 @@ static inline int prepare_for_direntry_i
 	if (le_ih_k_offset(le_ih) == DOT_OFFSET &&
 	    new_file_length == max_reiserfs_offset(inode)) {
 		RFALSE(ih_entry_count(le_ih) != 2,
-		       "PAP-5220: incorrect empty directory item (%h)", le_ih);
+		       "PAP-5220: incorrect empty directory item (%peh)",
+		       le_ih);
 		*cut_size = -(IH_SIZE + ih_item_len(le_ih));
 		return M_DELETE;	/* Delete the directory item containing "." and ".." entry. */
 	}
@@ -1229,7 +1227,7 @@ int reiserfs_delete_item(struct reiserfs
 		if (n_ret_value == FILE_NOT_FOUND) {
 			reiserfs_warning(p_s_sb,
 					 "vs-5340: reiserfs_delete_item: "
-					 "no items of the file %K found",
+					 "no items of the file %peK found",
 					 p_s_item_key);
 			break;
 		}
@@ -1339,9 +1337,9 @@ void reiserfs_delete_solid_item(struct r
 		retval = search_item(th->t_super, &cpu_key, &path);
 		if (retval == IO_ERROR) {
 			reiserfs_warning(th->t_super,
-					 "vs-5350: reiserfs_delete_solid_item: "
-					 "i/o failure occurred trying to delete %K",
-					 &cpu_key);
+				 "vs-5350: reiserfs_delete_solid_item: "
+				 "i/o failure occurred trying to delete %peK",
+				 &cpu_key);
 			break;
 		}
 		if (retval != ITEM_FOUND) {
@@ -1355,9 +1353,9 @@ void reiserfs_delete_solid_item(struct r
 			     GET_GENERATION_NUMBER(le_key_k_offset
 						   (le_key_version(key),
 						    key)) == 1))
-				reiserfs_warning(th->t_super,
-						 "vs-5355: reiserfs_delete_solid_item: %k not found",
-						 key);
+				reiserfs_warning(th->t_super, "vs-5355: "
+					"reiserfs_delete_solid_item: "
+					"%pek not found", key);
 			break;
 		}
 		if (!tb_init) {
@@ -1391,8 +1389,8 @@ void reiserfs_delete_solid_item(struct r
 		// IO_ERROR, NO_DISK_SPACE, etc
 		reiserfs_warning(th->t_super,
 				 "vs-5360: reiserfs_delete_solid_item: "
-				 "could not delete %K due to fix_nodes failure",
-				 &cpu_key);
+				 "could not delete %peK due to fix_nodes "
+				 "failure", &cpu_key);
 		unfix_nodes(&tb);
 		break;
 	}
@@ -1615,9 +1613,10 @@ int reiserfs_cut_from_item(struct reiser
 				print_block(PATH_PLAST_BUFFER(p_s_path), 3,
 					    PATH_LAST_POSITION(p_s_path) - 1,
 					    PATH_LAST_POSITION(p_s_path) + 1);
-				reiserfs_panic(p_s_sb,
-					       "PAP-5580: reiserfs_cut_from_item: item to convert does not exist (%K)",
-					       p_s_item_key);
+				reiserfs_panic(p_s_sb, "PAP-5580: "
+					"reiserfs_cut_from_item: item to "
+					"convert does not exist (%peK)",
+					p_s_item_key);
 			}
 			continue;
 		}
@@ -1639,9 +1638,8 @@ int reiserfs_cut_from_item(struct reiser
 		if (n_ret_value == POSITION_FOUND)
 			continue;
 
-		reiserfs_warning(p_s_sb,
-				 "PAP-5610: reiserfs_cut_from_item: item %K not found",
-				 p_s_item_key);
+		reiserfs_warning(p_s_sb, "PAP-5610: reiserfs_cut_from_item: "
+				 "item %peK not found", p_s_item_key);
 		unfix_nodes(&s_cut_balance);
 		return (n_ret_value == IO_ERROR) ? -EIO : -ENOENT;
 	}			/* while */
@@ -1698,20 +1696,22 @@ int reiserfs_cut_from_item(struct reiser
 		if (!is_indirect_le_ih(le_ih))
 			reiserfs_panic(p_s_sb,
 				       "vs-5652: reiserfs_cut_from_item: "
-				       "item must be indirect %h", le_ih);
+				       "item must be indirect %peh", le_ih);
 
 		if (c_mode == M_DELETE && ih_item_len(le_ih) != UNFM_P_SIZE)
 			reiserfs_panic(p_s_sb,
 				       "vs-5653: reiserfs_cut_from_item: "
-				       "completing indirect2direct conversion indirect item %h "
-				       "being deleted must be of 4 byte long",
-				       le_ih);
+				       "completing indirect2direct conversion "
+				       "indirect item %peh being deleted must "
+				       "be of 4 byte long", le_ih);
 
 		if (c_mode == M_CUT
 		    && s_cut_balance.insert_size[0] != -UNFM_P_SIZE) {
 			reiserfs_panic(p_s_sb,
 				       "vs-5654: reiserfs_cut_from_item: "
-				       "can not complete indirect2direct conversion of %h (CUT, insert_size==%d)",
+				       "can not complete indirect2direct "
+				       "conversion of %peh "
+				       "(CUT, insert_size==%d)",
 				       le_ih, s_cut_balance.insert_size[0]);
 		}
 		/* it would be useful to make sure, that right neighboring
@@ -1799,7 +1799,7 @@ int reiserfs_do_truncate(struct reiserfs
 	if (retval == IO_ERROR) {
 		reiserfs_warning(p_s_inode->i_sb,
 				 "vs-5657: reiserfs_do_truncate: "
-				 "i/o failure occurred trying to truncate %K",
+				 "i/o failure occurred trying to truncate %peK",
 				 &s_item_key);
 		err = -EIO;
 		goto out;
@@ -1807,7 +1807,7 @@ int reiserfs_do_truncate(struct reiserfs
 	if (retval == POSITION_FOUND || retval == FILE_NOT_FOUND) {
 		reiserfs_warning(p_s_inode->i_sb,
 				 "PAP-5660: reiserfs_do_truncate: "
-				 "wrong result %d of search for %K", retval,
+				 "wrong result %d of search for %peK", retval,
 				 &s_item_key);
 
 		err = -EIO;
@@ -1857,7 +1857,8 @@ int reiserfs_do_truncate(struct reiserfs
 		}
 
 		RFALSE(n_deleted > n_file_size,
-		       "PAP-5670: reiserfs_cut_from_item: too many bytes deleted: deleted %d, file_size %lu, item_key %K",
+		       "PAP-5670: reiserfs_cut_from_item: too many bytes "
+		       "deleted: deleted %d, file_size %lu, item_key %peK",
 		       n_deleted, n_file_size, &s_item_key);
 
 		/* Change key to search the last file item. */
@@ -1929,9 +1930,10 @@ static void check_research_for_paste(str
 		    || op_bytes_number(found_ih,
 				       get_last_bh(path)->b_size) !=
 		    pos_in_item(path))
-			reiserfs_panic(NULL,
-				       "PAP-5720: check_research_for_paste: "
-				       "found direct item %h or position (%d) does not match to key %K",
+			reiserfs_panic(NULL, "PAP-5720: "
+				       "check_research_for_paste: found "
+				       "direct item %peh or position (%d) "
+				       "does not match to key %peK",
 				       found_ih, pos_in_item(path), p_s_key);
 	}
 	if (is_indirect_le_ih(found_ih)) {
@@ -1941,9 +1943,11 @@ static void check_research_for_paste(str
 		    cpu_key_k_offset(p_s_key)
 		    || I_UNFM_NUM(found_ih) != pos_in_item(path)
 		    || get_ih_free_space(found_ih) != 0)
-			reiserfs_panic(NULL,
-				       "PAP-5730: check_research_for_paste: "
-				       "found indirect item (%h) or position (%d) does not match to key (%K)",
+			reiserfs_panic(NULL, "PAP-5730: "
+				       "check_research_for_paste: "
+				       "found indirect item (%peh) or "
+				       "position (%d) does not match to "
+				       "key (%peK)",
 				       found_ih, pos_in_item(path), p_s_key);
 	}
 }
@@ -2000,8 +2004,9 @@ int reiserfs_paste_into_item(struct reis
 			goto error_out;
 		}
 		if (retval == POSITION_FOUND) {
-			reiserfs_warning(inode->i_sb,
-					 "PAP-5710: reiserfs_paste_into_item: entry or pasted byte (%K) exists",
+			reiserfs_warning(inode->i_sb, "PAP-5710: "
+					 "reiserfs_paste_into_item: "
+					 "entry or pasted byte (%peK) exists",
 					 p_s_key);
 			retval = -EEXIST;
 			goto error_out;
@@ -2089,7 +2094,7 @@ int reiserfs_insert_item(struct reiserfs
 		if (retval == ITEM_FOUND) {
 			reiserfs_warning(th->t_super,
 					 "PAP-5760: reiserfs_insert_item: "
-					 "key %K already exists in the tree",
+					 "key %peK already exists in the tree",
 					 key);
 			retval = -EEXIST;
 			goto error_out;
--- a/fs/reiserfs/super.c
+++ b/fs/reiserfs/super.c
@@ -235,18 +235,16 @@ static int finish_unfinished(struct supe
 		if (!inode) {
 			/* the unlink almost completed, it just did not manage to remove
 			   "save" link and release objectid */
-			reiserfs_warning(s,
-					 "vs-2180: finish_unfinished: iget failed for %K",
-					 &obj_key);
+			reiserfs_warning(s, "vs-2180: finish_unfinished: "
+					 "iget failed for %peK", &obj_key);
 			retval = remove_save_link_only(s, &save_link_key, 1);
 			continue;
 		}
 
 		if (!truncate && inode->i_nlink) {
 			/* file is not unlinked */
-			reiserfs_warning(s,
-					 "vs-2185: finish_unfinished: file %K is not unlinked",
-					 &obj_key);
+			reiserfs_warning(s, "vs-2185: finish_unfinished: "
+					 "file %peK is not unlinked", &obj_key);
 			retval = remove_save_link_only(s, &save_link_key, 0);
 			continue;
 		}
@@ -257,8 +255,8 @@ static int finish_unfinished(struct supe
 			   The only imaginable way is to execute unfinished truncate request
 			   then boot into old kernel, remove the file and create dir with
 			   the same key. */
-			reiserfs_warning(s,
-					 "green-2101: impossible truncate on a directory %k. Please report",
+			reiserfs_warning(s, "green-2101: impossible truncate "
+					 "on a directory %pek. Please report",
 					 INODE_PKEY(inode));
 			retval = remove_save_link_only(s, &save_link_key, 0);
 			truncate = 0;
@@ -271,7 +269,7 @@ static int finish_unfinished(struct supe
 			    i_link_saved_truncate_mask;
 			/* not completed truncate found. New size was committed together
 			   with "save" link */
-			reiserfs_info(s, "Truncating %k to %Ld ..",
+			reiserfs_info(s, "Truncating %pek to %lld ..",
 				      INODE_PKEY(inode), inode->i_size);
 			reiserfs_truncate_file(inode,
 					       0
@@ -281,7 +279,7 @@ static int finish_unfinished(struct supe
 		} else {
 			REISERFS_I(inode)->i_flags |= i_link_saved_unlink_mask;
 			/* not completed unlink (rmdir) found */
-			reiserfs_info(s, "Removing %k..", INODE_PKEY(inode));
+			reiserfs_info(s, "Removing %pek..", INODE_PKEY(inode));
 			if (memcmp(&last_inode_key, INODE_PKEY(inode),
 					sizeof(last_inode_key))){
 				last_inode_key = *INODE_PKEY(inode);
@@ -360,8 +358,9 @@ void add_save_link(struct reiserfs_trans
 	} else {
 		/* truncate */
 		if (S_ISDIR(inode->i_mode))
-			reiserfs_warning(inode->i_sb,
-					 "green-2102: Adding a truncate savelink for a directory %k! Please report",
+			reiserfs_warning(inode->i_sb, "green-2102: Adding a "
+					 "truncate savelink for a directory "
+					 "%pek! Please report",
 					 INODE_PKEY(inode));
 		set_cpu_key_k_offset(&key, 1);
 		set_cpu_key_k_type(&key, TYPE_INDIRECT);
@@ -377,8 +376,8 @@ void add_save_link(struct reiserfs_trans
 	if (retval != ITEM_NOT_FOUND) {
 		if (retval != -ENOSPC)
 			reiserfs_warning(inode->i_sb, "vs-2100: add_save_link:"
-					 "search_by_key (%K) returned %d", &key,
-					 retval);
+					 "search_by_key (%peK) returned %d",
+					 &key, retval);
 		pathrelse(&path);
 		return;
 	}
--- a/fs/reiserfs/tail_conversion.c
+++ b/fs/reiserfs/tail_conversion.c
@@ -48,8 +48,8 @@ int direct2indirect(struct reiserfs_tran
 
 	// FIXME: we could avoid this 
 	if (search_for_position_by_key(sb, &end_key, path) == POSITION_FOUND) {
-		reiserfs_warning(sb, "PAP-14030: direct2indirect: "
-				 "pasted or inserted byte exists in the tree %K. "
+		reiserfs_warning(sb, "PAP-14030: direct2indirect: pasted or "
+				 "inserted byte exists in the tree %peK. "
 				 "Use fsck to repair.", &end_key);
 		pathrelse(path);
 		return -EIO;
@@ -92,12 +92,12 @@ int direct2indirect(struct reiserfs_tran
 		   last item of the file */
 		if (search_for_position_by_key(sb, &end_key, path) ==
 		    POSITION_FOUND)
-			reiserfs_panic(sb,
-				       "PAP-14050: direct2indirect: "
-				       "direct item (%K) not found", &end_key);
+			reiserfs_panic(sb, "PAP-14050: direct2indirect: "
+				       "direct item (%peK) not found",
+				       &end_key);
 		p_le_ih = PATH_PITEM_HEAD(path);
 		RFALSE(!is_direct_le_ih(p_le_ih),
-		       "vs-14055: direct item expected(%K), found %h",
+		       "vs-14055: direct item expected(%peK), found %peh",
 		       &end_key, p_le_ih);
 		tail_size = (le_ih_k_offset(p_le_ih) & (n_blk_size - 1))
 		    + ih_item_len(p_le_ih) - 1;
@@ -214,10 +214,9 @@ int indirect2direct(struct reiserfs_tran
 		/* re-search indirect item */
 		if (search_for_position_by_key(p_s_sb, p_s_item_key, p_s_path)
 		    == POSITION_NOT_FOUND)
-			reiserfs_panic(p_s_sb,
-				       "PAP-5520: indirect2direct: "
-				       "item to be converted %K does not exist",
-				       p_s_item_key);
+			reiserfs_panic(p_s_sb, "PAP-5520: indirect2direct: "
+				       "item to be converted %peK does not "
+				       "exist", p_s_item_key);
 		copy_item_head(&s_ih, PATH_PITEM_HEAD(p_s_path));
 #ifdef CONFIG_REISERFS_CHECK
 		pos = le_ih_k_offset(&s_ih) - 1 +
--- a/fs/reiserfs/xattr.c
+++ b/fs/reiserfs/xattr.c
@@ -259,15 +259,15 @@ static int __xattr_readdir(struct inode
 		ih = de.de_ih;
 
 		if (!is_direntry_le_ih(ih)) {
-			reiserfs_warning(inode->i_sb, "not direntry %h", ih);
+			reiserfs_warning(inode->i_sb, "not direntry %peh", ih);
 			break;
 		}
 		copy_item_head(&tmp_ih, ih);
 
 		/* we must have found item, that is item of this directory, */
 		RFALSE(COMP_SHORT_KEYS(&(ih->ih_key), &pos_key),
-		       "vs-9000: found item %h does not match to dir we readdir %K",
-		       ih, &pos_key);
+		       "vs-9000: found item %peh does not match to "
+		       "dir we readdir %peK", ih, &pos_key);
 
 		if (deh_offset(deh) <= DOT_DOT_OFFSET) {
 			break;
@@ -600,7 +600,7 @@ reiserfs_xattr_get(const struct inode *i
 				reiserfs_put_page(page);
 				reiserfs_warning(inode->i_sb,
 						 "Invalid magic for xattr (%s) "
-						 "associated with %k", name,
+						 "associated with %pek", name,
 						 INODE_PKEY(inode));
 				err = -EIO;
 				goto out_dput;
@@ -620,7 +620,7 @@ reiserfs_xattr_get(const struct inode *i
 	    hash) {
 		reiserfs_warning(inode->i_sb,
 				 "Invalid hash for xattr (%s) associated "
-				 "with %k", name, INODE_PKEY(inode));
+				 "with %pek", name, INODE_PKEY(inode));
 		err = -EIO;
 	}
 
-- 
Jeff Mahoney
SUSE Labs
--
To unsubscribe from this list: send the line "unsubscribe reiserfs-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux File System Development]     [Linux BTRFS]     [Linux NFS]     [Linux Filesystems]     [Ext4 Filesystem]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Resources]

  Powered by Linux