Module Name: src Committed By: mlelstv Date: Tue Aug 15 09:52:49 UTC 2017
Modified Files: src/sys/arch/amiga/amiga: disksubr.c Log Message: 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. To generate a diff of this commit: cvs rdiff -u -r1.67 -r1.68 src/sys/arch/amiga/amiga/disksubr.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/arch/amiga/amiga/disksubr.c diff -u src/sys/arch/amiga/amiga/disksubr.c:1.67 src/sys/arch/amiga/amiga/disksubr.c:1.68 --- src/sys/arch/amiga/amiga/disksubr.c:1.67 Sun Mar 12 21:02:47 2017 +++ src/sys/arch/amiga/amiga/disksubr.c Tue Aug 15 09:52:49 2017 @@ -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 @@ readdisklabel(dev_t dev, void (*strat)(s 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;