Module Name:    src
Committed By:   martin
Date:           Sun Nov 11 09:17:11 UTC 2018

Modified Files:
        src/usr.sbin/sysinst: defs.h disks.c

Log Message:
Do not allow installation onto floppy disk - can be overriden by
architectures where it would make sense (none currently), and also
works around a bug in QEMU for sparc that kills our -current anita tests.


To generate a diff of this commit:
cvs rdiff -u -r1.22 -r1.23 src/usr.sbin/sysinst/defs.h
cvs rdiff -u -r1.23 -r1.24 src/usr.sbin/sysinst/disks.c

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

Modified files:

Index: src/usr.sbin/sysinst/defs.h
diff -u src/usr.sbin/sysinst/defs.h:1.22 src/usr.sbin/sysinst/defs.h:1.23
--- src/usr.sbin/sysinst/defs.h:1.22	Thu Nov  8 20:29:37 2018
+++ src/usr.sbin/sysinst/defs.h	Sun Nov 11 09:17:10 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: defs.h,v 1.22 2018/11/08 20:29:37 martin Exp $	*/
+/*	$NetBSD: defs.h,v 1.23 2018/11/11 09:17:10 martin Exp $	*/
 
 /*
  * Copyright 1997 Piermont Information Systems Inc.
@@ -178,8 +178,14 @@ enum {
 #define PI_ISBSDFS(p) ((p)->pi_fstype == FS_BSDLFS || \
 		       (p)->pi_fstype == FS_BSDFFS)
 
-/* standard cd0 device */
+/*
+ * We do not offer CDs or floppies as installation target usually.
+ * Architectures might want to undefine if they want to allow
+ * these devices or redefine if they have unusual CD device names.
+ * Do not define to empty or an empty string, undefine instead.
+ */
 #define CD_NAMES "cd*"
+#define FLOPPY_NAMES "fd*"
 
 /* Types */
 

Index: src/usr.sbin/sysinst/disks.c
diff -u src/usr.sbin/sysinst/disks.c:1.23 src/usr.sbin/sysinst/disks.c:1.24
--- src/usr.sbin/sysinst/disks.c:1.23	Fri Nov  9 15:20:36 2018
+++ src/usr.sbin/sysinst/disks.c	Sun Nov 11 09:17:10 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: disks.c,v 1.23 2018/11/09 15:20:36 martin Exp $ */
+/*	$NetBSD: disks.c,v 1.24 2018/11/11 09:17:10 martin Exp $ */
 
 /*
  * Copyright 1997 Piermont Information Systems Inc.
@@ -515,7 +515,21 @@ is_ffs_wedge(const char *dev)
 bool
 is_cdrom_device(const char *dev)
 {
-	static const char *cdrom_devices[] = { CD_NAMES, 0 };
+	static const char *cdrom_devices[] = {
+#ifdef CD_NAMES
+		CD_NAMES
+#endif
+#if defined(CD_NAMES) && defined(FLOPPY_NAMES)
+		,
+#endif
+#ifdef FLOPPY_NAMES
+		FLOPPY_NAMES
+#endif
+#if defined(CD_NAMES) || defined(FLOPPY_NAMES)
+		,
+#endif
+		0
+	};
 
 	for (const char **dev_pat = cdrom_devices; *dev_pat; dev_pat++)
 		if (fnmatch(*dev_pat, dev, 0) == 0)

Reply via email to