Module Name:    src
Committed By:   skrll
Date:           Mon Jan  9 11:51:41 UTC 2012

Modified Files:
        src/distrib/utils/sysinst/arch/hp700: md.c msg.md.de msg.md.en
            msg.md.es msg.md.fr msg.md.pl

Log Message:
Error if the root partition exceeds the PDC 2GB limit. The check now
catches invalid "existing" partitions. PR/45742

Thanks to martin for the German translation. The others are all my fault.

Thanks to mrg for comments


To generate a diff of this commit:
cvs rdiff -u -r1.13 -r1.14 src/distrib/utils/sysinst/arch/hp700/md.c
cvs rdiff -u -r1.5 -r1.6 src/distrib/utils/sysinst/arch/hp700/msg.md.de \
    src/distrib/utils/sysinst/arch/hp700/msg.md.en \
    src/distrib/utils/sysinst/arch/hp700/msg.md.es \
    src/distrib/utils/sysinst/arch/hp700/msg.md.pl
cvs rdiff -u -r1.6 -r1.7 src/distrib/utils/sysinst/arch/hp700/msg.md.fr

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

Modified files:

Index: src/distrib/utils/sysinst/arch/hp700/md.c
diff -u src/distrib/utils/sysinst/arch/hp700/md.c:1.13 src/distrib/utils/sysinst/arch/hp700/md.c:1.14
--- src/distrib/utils/sysinst/arch/hp700/md.c:1.13	Thu Jan  5 21:32:36 2012
+++ src/distrib/utils/sysinst/arch/hp700/md.c	Mon Jan  9 11:51:41 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: md.c,v 1.13 2012/01/05 21:32:36 christos Exp $	*/
+/*	$NetBSD: md.c,v 1.14 2012/01/09 11:51:41 skrll Exp $	*/
 
 /*
  * Copyright 1997 Piermont Information Systems Inc.
@@ -50,6 +50,8 @@
 #include "msg_defs.h"
 #include "menu_defs.h"
 
+#define HP700_PDC_LIMIT	((unsigned)2*1024*1024*1024)
+
 void
 md_init(void)
 {
@@ -108,7 +110,7 @@ md_get_info(void)
 	/*
 	 * hp700 PDC can only address up to 2GB.
 	 */
-	root_limit = ((unsigned)2*1024*1024*1024) / (unsigned)sectorsize;
+	root_limit = HP700_PDC_LIMIT / (unsigned)sectorsize;
 
 	return 1;
 }
@@ -128,6 +130,23 @@ md_make_bsd_partitions(void)
 int
 md_check_partitions(void)
 {
+	/* Check the root partition is sane. */
+	uint32_t limit = HP700_PDC_LIMIT / (unsigned)sectorsize;
+	int part;
+
+	for (part = PART_A; part < MAXPARTITIONS; part++) {
+		if (strcmp(bsdlabel[part].pi_mount, "/") == 0) {
+			uint32_t offset = bsdlabel[part].pi_offset;
+			uint32_t size = bsdlabel[part].pi_size;
+
+			if (offset > limit || offset + size > limit) {
+				msg_display(MSG_md_pdclimit);
+				process_menu(MENU_ok, NULL);
+				return 0;
+			}
+		}
+	}
+
 	return 1;
 }
 

Index: src/distrib/utils/sysinst/arch/hp700/msg.md.de
diff -u src/distrib/utils/sysinst/arch/hp700/msg.md.de:1.5 src/distrib/utils/sysinst/arch/hp700/msg.md.de:1.6
--- src/distrib/utils/sysinst/arch/hp700/msg.md.de:1.5	Mon Apr  4 08:30:29 2011
+++ src/distrib/utils/sysinst/arch/hp700/msg.md.de	Mon Jan  9 11:51:41 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: msg.md.de,v 1.5 2011/04/04 08:30:29 mbalmer Exp $	*/
+/*	$NetBSD: msg.md.de,v 1.6 2012/01/09 11:51:41 skrll Exp $	*/
 
 /*
  * Copyright 1997 Piermont Information Systems Inc.
@@ -50,3 +50,6 @@ message dobootblks
 
 message set_kernel_1
 {Kernel (GENERIC)}
+
+message md_pdclimit
+{Die Root-Partition überschreitet die PDC Grenze von 2GB}
Index: src/distrib/utils/sysinst/arch/hp700/msg.md.en
diff -u src/distrib/utils/sysinst/arch/hp700/msg.md.en:1.5 src/distrib/utils/sysinst/arch/hp700/msg.md.en:1.6
--- src/distrib/utils/sysinst/arch/hp700/msg.md.en:1.5	Mon Apr  4 08:30:29 2011
+++ src/distrib/utils/sysinst/arch/hp700/msg.md.en	Mon Jan  9 11:51:41 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: msg.md.en,v 1.5 2011/04/04 08:30:29 mbalmer Exp $	*/
+/*	$NetBSD: msg.md.en,v 1.6 2012/01/09 11:51:41 skrll Exp $	*/
 
 /*
  * Copyright 1997 Piermont Information Systems Inc.
@@ -50,3 +50,6 @@ message dobootblks
 
 message set_kernel_1
 {Kernel (GENERIC)}
+
+message md_pdclimit
+{The root partition extends beyond the PDC limit of 2GB}
Index: src/distrib/utils/sysinst/arch/hp700/msg.md.es
diff -u src/distrib/utils/sysinst/arch/hp700/msg.md.es:1.5 src/distrib/utils/sysinst/arch/hp700/msg.md.es:1.6
--- src/distrib/utils/sysinst/arch/hp700/msg.md.es:1.5	Mon Apr  4 08:30:29 2011
+++ src/distrib/utils/sysinst/arch/hp700/msg.md.es	Mon Jan  9 11:51:41 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: msg.md.es,v 1.5 2011/04/04 08:30:29 mbalmer Exp $	*/
+/*	$NetBSD: msg.md.es,v 1.6 2012/01/09 11:51:41 skrll Exp $	*/
 
 /*
  * Copyright 1997 Piermont Information Systems Inc.
@@ -50,3 +50,6 @@ message dobootblks
 
 message set_kernel_1
 {Kernel (GENERIC)}
+
+message md_pdclimit
+{La partición raíz se extiende más allá del límite de 2 GB PDC}
Index: src/distrib/utils/sysinst/arch/hp700/msg.md.pl
diff -u src/distrib/utils/sysinst/arch/hp700/msg.md.pl:1.5 src/distrib/utils/sysinst/arch/hp700/msg.md.pl:1.6
--- src/distrib/utils/sysinst/arch/hp700/msg.md.pl:1.5	Mon Apr  4 08:30:29 2011
+++ src/distrib/utils/sysinst/arch/hp700/msg.md.pl	Mon Jan  9 11:51:41 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: msg.md.pl,v 1.5 2011/04/04 08:30:29 mbalmer Exp $	*/
+/*	$NetBSD: msg.md.pl,v 1.6 2012/01/09 11:51:41 skrll Exp $	*/
 /* Based on english version: */
 /*	NetBSD: msg.md.en,v 1.2 2002/12/03 01:54:49 minoura Exp */
 
@@ -53,3 +53,5 @@ message dobootblks
 message set_kernel_1
 {Kernel (GENERIC)}
 
+message md_pdclimit
+{Partycja jest d?u?szy ni? PDC 2GB}

Index: src/distrib/utils/sysinst/arch/hp700/msg.md.fr
diff -u src/distrib/utils/sysinst/arch/hp700/msg.md.fr:1.6 src/distrib/utils/sysinst/arch/hp700/msg.md.fr:1.7
--- src/distrib/utils/sysinst/arch/hp700/msg.md.fr:1.6	Mon Apr  4 08:30:29 2011
+++ src/distrib/utils/sysinst/arch/hp700/msg.md.fr	Mon Jan  9 11:51:41 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: msg.md.fr,v 1.6 2011/04/04 08:30:29 mbalmer Exp $	*/
+/*	$NetBSD: msg.md.fr,v 1.7 2012/01/09 11:51:41 skrll Exp $	*/
 
 /*
  * Copyright 1997 Piermont Information Systems Inc.
@@ -51,3 +51,5 @@ message dobootblks
 message set_kernel_1
 {Kernel (GENERIC)}
 
+message md_pdclimit
+{La partition racine s'étend au-delà de la limite de 2Go PDC}

Reply via email to