CVS commit: [netbsd-5] src/sys/ufs/lfs

2015-11-09 Thread Stephen Borrill
Module Name:src
Committed By:   sborrill
Date:   Mon Nov  9 09:59:18 UTC 2015

Modified Files:
src/sys/ufs/lfs [netbsd-5]: lfs_segment.c

Log Message:
Fix breakage from ticket #1974


To generate a diff of this commit:
cvs rdiff -u -r1.213.8.1 -r1.213.8.2 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_segment.c
diff -u src/sys/ufs/lfs/lfs_segment.c:1.213.8.1 src/sys/ufs/lfs/lfs_segment.c:1.213.8.2
--- src/sys/ufs/lfs/lfs_segment.c:1.213.8.1	Sat Nov  7 20:30:41 2015
+++ src/sys/ufs/lfs/lfs_segment.c	Mon Nov  9 09:59:18 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: lfs_segment.c,v 1.213.8.1 2015/11/07 20:30:41 snj Exp $	*/
+/*	$NetBSD: lfs_segment.c,v 1.213.8.2 2015/11/09 09:59:18 sborrill Exp $	*/
 
 /*-
  * Copyright (c) 1999, 2000, 2001, 2002, 2003 The NetBSD Foundation, Inc.
@@ -60,7 +60,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: lfs_segment.c,v 1.213.8.1 2015/11/07 20:30:41 snj Exp $");
+__KERNEL_RCSID(0, "$NetBSD: lfs_segment.c,v 1.213.8.2 2015/11/09 09:59:18 sborrill Exp $");
 
 #ifdef DEBUG
 # define vndebug(vp, str) do {		\
@@ -1700,7 +1700,7 @@ lfs_rewind(struct lfs *fs, int newsn)
 		panic("lfs_rewind: no clean segments");
 	if (newsn >= 0 && sn >= newsn)
 		return ENOENT;
-	fs->lfs_nextseg = lfs_sntod(fs, sn);
+	fs->lfs_nextseg = sntod(fs, sn);
 	lfs_newseg(fs);
 	fs->lfs_offset = fs->lfs_curseg;
 



CVS commit: [netbsd-5] src/sys/ufs/lfs

2015-11-07 Thread Soren Jacobsen
Module Name:src
Committed By:   snj
Date:   Sat Nov  7 20:30:41 UTC 2015

Modified Files:
src/sys/ufs/lfs [netbsd-5]: lfs_segment.c

Log Message:
Pull up following revision(s) (requested by dholland in ticket #1974):
sys/ufs/lfs/lfs_segment.c: revision 1.247 via patch
Fix catastrophic bug in lfs_rewind() that changed segment numbers
(lfs_curseg/lfs_nextseg in the superblock) using the wrong units.
These fields are for whatever reason the start addresses of segments
(measured in frags) rather than the segment numbers 0..n.
This only apparently affects dumping from a mounted fs; however, it
trashes the fs.
I would really, really like to have a static analysis tool that can
keep track of the units things are measured in, since fs code is full
of conversion macros and the macros are named inscrutable things like
"sntod" whose letters don't necessarily even correspond to the units
they convert. It is surprising that more of these are not wrong.


To generate a diff of this commit:
cvs rdiff -u -r1.213 -r1.213.8.1 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_segment.c
diff -u src/sys/ufs/lfs/lfs_segment.c:1.213 src/sys/ufs/lfs/lfs_segment.c:1.213.8.1
--- src/sys/ufs/lfs/lfs_segment.c:1.213	Mon Jun  2 16:25:34 2008
+++ src/sys/ufs/lfs/lfs_segment.c	Sat Nov  7 20:30:41 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: lfs_segment.c,v 1.213 2008/06/02 16:25:34 ad Exp $	*/
+/*	$NetBSD: lfs_segment.c,v 1.213.8.1 2015/11/07 20:30:41 snj Exp $	*/
 
 /*-
  * Copyright (c) 1999, 2000, 2001, 2002, 2003 The NetBSD Foundation, Inc.
@@ -60,7 +60,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: lfs_segment.c,v 1.213 2008/06/02 16:25:34 ad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: lfs_segment.c,v 1.213.8.1 2015/11/07 20:30:41 snj Exp $");
 
 #ifdef DEBUG
 # define vndebug(vp, str) do {		\
@@ -1669,7 +1669,7 @@ lfs_updatemeta(struct segment *sp)
 }
 
 /*
- * Move lfs_offset to a segment earlier than sn.
+ * Move lfs_offset to a segment earlier than newsn.
  */
 int
 lfs_rewind(struct lfs *fs, int newsn)
@@ -1700,7 +1700,7 @@ lfs_rewind(struct lfs *fs, int newsn)
 		panic("lfs_rewind: no clean segments");
 	if (newsn >= 0 && sn >= newsn)
 		return ENOENT;
-	fs->lfs_nextseg = sn;
+	fs->lfs_nextseg = lfs_sntod(fs, sn);
 	lfs_newseg(fs);
 	fs->lfs_offset = fs->lfs_curseg;
 



CVS commit: [netbsd-5] src/sys/ufs/lfs

2009-04-04 Thread Soren Jacobsen
Module Name:src
Committed By:   snj
Date:   Sat Apr  4 18:11:17 UTC 2009

Modified Files:
src/sys/ufs/lfs [netbsd-5]: lfs_vfsops.c

Log Message:
Pull up following revision(s) (requested by ad in ticket #662):
sys/ufs/lfs/lfs_vfsops.c: revision 1.272
Turn up the volume on the warning message a bit.


To generate a diff of this commit:
cvs rdiff -u -r1.267 -r1.267.6.1 src/sys/ufs/lfs/lfs_vfsops.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_vfsops.c
diff -u src/sys/ufs/lfs/lfs_vfsops.c:1.267 src/sys/ufs/lfs/lfs_vfsops.c:1.267.6.1
--- src/sys/ufs/lfs/lfs_vfsops.c:1.267	Sat Jun 28 15:50:20 2008
+++ src/sys/ufs/lfs/lfs_vfsops.c	Sat Apr  4 18:11:17 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: lfs_vfsops.c,v 1.267 2008/06/28 15:50:20 rumble Exp $	*/
+/*	$NetBSD: lfs_vfsops.c,v 1.267.6.1 2009/04/04 18:11:17 snj Exp $	*/
 
 /*-
  * Copyright (c) 1999, 2000, 2001, 2002, 2003, 2007, 2007
@@ -61,7 +61,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: lfs_vfsops.c,v 1.267 2008/06/28 15:50:20 rumble Exp $);
+__KERNEL_RCSID(0, $NetBSD: lfs_vfsops.c,v 1.267.6.1 2009/04/04 18:11:17 snj Exp $);
 
 #if defined(_KERNEL_OPT)
 #include opt_lfs.h
@@ -1046,8 +1046,8 @@
 	lfs_writerd, NULL, NULL, lfs_writer) != 0)
 		panic(fork lfs_writer);
 
-	printf(WARNING: the log-structured file system is experimental and 
-	may be unstable\n);
+	printf(WARNING: the log-structured file system is experimental\n
+	WARNING: it may cause system crashes and/or corrupt data\n);
 
 	return (0);