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++) {