Module Name:    src
Committed By:   martin
Date:           Mon Jun 17 16:38:07 UTC 2024

Modified Files:
        src/sbin/disklabel [netbsd-9]: main.c

Log Message:
Pull up following revision(s) (requested by tsutsui in ticket #1841):

        sbin/disklabel/main.c: revision 1.58

Fix an old bug in NATIVELABEL_ONLY case in PR/50729 by me. (sigh)
'disklabel -r -w' writes a disklabel at a wrong sector in
NATIVELABEL_ONLY && !LABELUSESMBR && LABELSECTOR != 0 case
if the target disk doesn't have a valid disklabel, due to
incorrect LABEL_OFFSET value.

Found and investigated on NetBSD/hp300 bootable CD tests.
Maybe this affects ports that use distrib/utils/x_disklabel
but have no MBR support, i.e. only NetBSD/hp300 10.0 and
NetBSD/ews4800mips 9.0 and later.


To generate a diff of this commit:
cvs rdiff -u -r1.52 -r1.52.2.1 src/sbin/disklabel/main.c

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

Modified files:

Index: src/sbin/disklabel/main.c
diff -u src/sbin/disklabel/main.c:1.52 src/sbin/disklabel/main.c:1.52.2.1
--- src/sbin/disklabel/main.c:1.52	Wed Jul  3 07:05:27 2019
+++ src/sbin/disklabel/main.c	Mon Jun 17 16:38:06 2024
@@ -1,4 +1,4 @@
-/*	$NetBSD: main.c,v 1.52 2019/07/03 07:05:27 mlelstv Exp $	*/
+/*	$NetBSD: main.c,v 1.52.2.1 2024/06/17 16:38:06 martin Exp $	*/
 
 /*
  * Copyright (c) 2006 The NetBSD Foundation, Inc.
@@ -76,7 +76,7 @@ __COPYRIGHT("@(#) Copyright (c) 1987, 19
 static char sccsid[] = "@(#)disklabel.c	8.4 (Berkeley) 5/4/95";
 /* from static char sccsid[] = "@(#)disklabel.c	1.2 (Symmetric) 11/28/85"; */
 #else
-__RCSID("$NetBSD: main.c,v 1.52 2019/07/03 07:05:27 mlelstv Exp $");
+__RCSID("$NetBSD: main.c,v 1.52.2.1 2024/06/17 16:38:06 martin Exp $");
 #endif
 #endif	/* not lint */
 
@@ -352,7 +352,7 @@ static const struct arch_endian {
 #define labelsector	LABELSECTOR
 #define labelusesmbr	LABELUSESMBR
 #define maxpartitions	MAXPARTITIONS
-#define LABEL_OFFSET	LABELOFFSET
+#define LABEL_OFFSET	(LABELSECTOR * DEV_BSIZE + LABELOFFSET)
 #endif /* !NATIVELABEL_ONLY */
 
 /*

Reply via email to