Module Name: src Committed By: jakllsch Date: Tue Feb 28 00:33:36 UTC 2017
Modified Files: src/sys/kern: subr_disk.c Log Message: pi_bsize must be at least pi_secsize Allows block device accesses to 4KiB logical sector disks to function on the vast majority of ports with 2KiB BLKDEV_IOSIZE. To generate a diff of this commit: cvs rdiff -u -r1.116 -r1.117 src/sys/kern/subr_disk.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/kern/subr_disk.c diff -u src/sys/kern/subr_disk.c:1.116 src/sys/kern/subr_disk.c:1.117 --- src/sys/kern/subr_disk.c:1.116 Wed Jan 6 00:22:30 2016 +++ src/sys/kern/subr_disk.c Tue Feb 28 00:33:36 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: subr_disk.c,v 1.116 2016/01/06 00:22:30 christos Exp $ */ +/* $NetBSD: subr_disk.c,v 1.117 2017/02/28 00:33:36 jakllsch Exp $ */ /*- * Copyright (c) 1996, 1997, 1999, 2000, 2009 The NetBSD Foundation, Inc. @@ -67,7 +67,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: subr_disk.c,v 1.116 2016/01/06 00:22:30 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: subr_disk.c,v 1.117 2017/02/28 00:33:36 jakllsch Exp $"); #include <sys/param.h> #include <sys/kernel.h> @@ -573,7 +573,7 @@ disk_ioctl(struct disk *dk, dev_t dev, u pi = data; memset(pi, 0, sizeof(*pi)); pi->pi_secsize = dk->dk_geom.dg_secsize; - pi->pi_bsize = BLKDEV_IOSIZE; + pi->pi_bsize = MAX(BLKDEV_IOSIZE, pi->pi_secsize); if (DISKPART(dev) == RAW_PART) { pi->pi_size = dk->dk_geom.dg_secperunit;