Module Name:    src
Committed By:   dholland
Date:           Mon Oct 19 04:21:48 UTC 2015

Modified Files:
        src/sys/ufs/lfs: lfs_accessors.h lfs_segment.c

Log Message:
improve some panic messages


To generate a diff of this commit:
cvs rdiff -u -r1.38 -r1.39 src/sys/ufs/lfs/lfs_accessors.h
cvs rdiff -u -r1.262 -r1.263 src/sys/ufs/lfs/lfs_segment.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/ufs/lfs/lfs_accessors.h
diff -u src/sys/ufs/lfs/lfs_accessors.h:1.38 src/sys/ufs/lfs/lfs_accessors.h:1.39
--- src/sys/ufs/lfs/lfs_accessors.h:1.38	Thu Oct 15 06:24:21 2015
+++ src/sys/ufs/lfs/lfs_accessors.h	Mon Oct 19 04:21:48 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: lfs_accessors.h,v 1.38 2015/10/15 06:24:21 dholland Exp $	*/
+/*	$NetBSD: lfs_accessors.h,v 1.39 2015/10/19 04:21:48 dholland Exp $	*/
 
 /*  from NetBSD: lfs.h,v 1.165 2015/07/24 06:59:32 dholland Exp  */
 /*  from NetBSD: dinode.h,v 1.22 2013/01/22 09:39:18 dholland Exp  */
@@ -671,7 +671,8 @@ lfs_iblock_set(STRUCT_LFS *fs, void *blo
 	if ((_e = bread((F)->lfs_ivnode,				\
 	    ((IN) / lfs_sb_getsepb(F)) + lfs_sb_getcleansz(F),		\
 	    lfs_sb_getbsize(F), 0, &(BP))) != 0)			\
-		panic("lfs: ifile read: %d", _e);			\
+		panic("lfs: ifile read: segentry %llu: error %d\n",	\
+			 (unsigned long long)(IN), _e);			\
 	if (lfs_sb_getversion(F) == 1)					\
 		(SP) = (SEGUSE *)((SEGUSE_V1 *)(BP)->b_data +		\
 			((IN) & (lfs_sb_getsepb(F) - 1)));		\
@@ -933,11 +934,13 @@ lfs_ci_shiftdirtytoclean(STRUCT_LFS *fs,
 
 /* Read in the block with the cleaner info from the ifile. */
 #define LFS_CLEANERINFO(CP, F, BP) do {					\
+	int _e;								\
 	SHARE_IFLOCK(F);						\
 	VTOI((F)->lfs_ivnode)->i_flag |= IN_ACCESS;			\
-	if (bread((F)->lfs_ivnode,					\
-	    (daddr_t)0, lfs_sb_getbsize(F), 0, &(BP)))			\
-		panic("lfs: ifile read");				\
+	_e = bread((F)->lfs_ivnode,					\
+	    (daddr_t)0, lfs_sb_getbsize(F), 0, &(BP));			\
+	if (_e)								\
+		panic("lfs: ifile read: cleanerinfo: error %d\n", _e);	\
 	(CP) = (CLEANERINFO *)(BP)->b_data;				\
 	UNSHARE_IFLOCK(F);						\
 } while (0)

Index: src/sys/ufs/lfs/lfs_segment.c
diff -u src/sys/ufs/lfs/lfs_segment.c:1.262 src/sys/ufs/lfs/lfs_segment.c:1.263
--- src/sys/ufs/lfs/lfs_segment.c:1.262	Sat Oct 10 22:34:33 2015
+++ src/sys/ufs/lfs/lfs_segment.c	Mon Oct 19 04:21:48 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: lfs_segment.c,v 1.262 2015/10/10 22:34:33 dholland Exp $	*/
+/*	$NetBSD: lfs_segment.c,v 1.263 2015/10/19 04:21:48 dholland Exp $	*/
 
 /*-
  * Copyright (c) 1999, 2000, 2001, 2002, 2003 The NetBSD Foundation, Inc.
@@ -60,7 +60,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: lfs_segment.c,v 1.262 2015/10/10 22:34:33 dholland Exp $");
+__KERNEL_RCSID(0, "$NetBSD: lfs_segment.c,v 1.263 2015/10/19 04:21:48 dholland Exp $");
 
 #ifdef DEBUG
 # define vndebug(vp, str) do {						\
@@ -680,10 +680,16 @@ lfs_segwrite(struct mount *mp, int flags
 		segleft = lfs_sb_getnseg(fs);
 		curseg = 0;
 		for (n = 0; n < lfs_sb_getsegtabsz(fs); n++) {
+			int bread_error;
+
 			dirty = 0;
-			if (bread(fs->lfs_ivnode, lfs_sb_getcleansz(fs) + n,
-			    lfs_sb_getbsize(fs), B_MODIFY, &bp))
-				panic("lfs_segwrite: ifile read");
+			bread_error = bread(fs->lfs_ivnode,
+			    lfs_sb_getcleansz(fs) + n,
+			    lfs_sb_getbsize(fs), B_MODIFY, &bp);
+			if (bread_error)
+				panic("lfs_segwrite: ifile read: "
+				      "seguse %u: error %d\n",
+				      n, bread_error);
 			segusep = (SEGUSE *)bp->b_data;
 			maxseg = min(segleft, lfs_sb_getsepb(fs));
 			for (i = 0; i < maxseg; i++) {

Reply via email to