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;