Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/amiga/amiga Fix check of AmigaDOS environment vecto...



details:   https://anonhg.NetBSD.org/src/rev/44e75c051e1e
branches:  trunk
changeset: 355809:44e75c051e1e
user:      mlelstv <mlelstv%NetBSD.org@localhost>
date:      Tue Aug 15 09:52:49 2017 +0000

description:
Fix check of AmigaDOS environment vector for nonstandard disklabel values.
Don't set a default fsize for CD9660 partitions, the CD9660 filesystem
interprets it as a session offset.

diffstat:

 sys/arch/amiga/amiga/disksubr.c |  10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)

diffs (34 lines):

diff -r 2af4b0d5bffc -r 44e75c051e1e sys/arch/amiga/amiga/disksubr.c
--- a/sys/arch/amiga/amiga/disksubr.c   Tue Aug 15 09:51:43 2017 +0000
+++ b/sys/arch/amiga/amiga/disksubr.c   Tue Aug 15 09:52:49 2017 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: disksubr.c,v 1.67 2017/03/12 21:02:47 mlelstv Exp $    */
+/*     $NetBSD: disksubr.c,v 1.68 2017/08/15 09:52:49 mlelstv Exp $    */
 
 /*
  * Copyright (c) 1982, 1986, 1988 Regents of the University of California.
@@ -66,7 +66,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: disksubr.c,v 1.67 2017/03/12 21:02:47 mlelstv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: disksubr.c,v 1.68 2017/08/15 09:52:49 mlelstv Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -464,10 +464,14 @@
                                adt.archtype = ADT_UNKNOWN;
                                adt.fstype = FS_UNUSED;
                        }
-               } else if (pbp->e.tabsize > 22 && ISFSARCH_NETBSD(adt)) {
+               } else if (pbp->e.tabsize >= 22 && ISFSARCH_NETBSD(adt)) {
                        pp->p_fsize = pbp->e.fsize;
                        pp->p_frag = pbp->e.frag;
                        pp->p_cpg = pbp->e.cpg;
+               } else if (adt.fstype == FS_ISO9660) {
+                       pp->p_fsize = 0;
+                       pp->p_frag = 0;
+                       pp->p_cpg = 0;
                } else {
                        pp->p_fsize = 1024;
                        pp->p_frag = 8;



Home | Main Index | Thread Index | Old Index