From b35539c7d2df26a29a35790df6a256de016ed94b Mon Sep 17 00:00:00 2001 From: phk Date: Wed, 13 Aug 2003 06:42:56 +0000 Subject: In case we encounter a zero sectorsize provider in g_io_check(), fail the request with a printf rather than a divide by zero error. --- sys/geom/geom_io.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'sys/geom/geom_io.c') diff --git a/sys/geom/geom_io.c b/sys/geom/geom_io.c index 4bed6f6..65828d9 100644 --- a/sys/geom/geom_io.c +++ b/sys/geom/geom_io.c @@ -209,6 +209,12 @@ g_io_check(struct bio *bp) case BIO_READ: case BIO_WRITE: case BIO_DELETE: + /* Noisily reject zero size sectors */ + if (pp->sectorsize == 0) { + printf("GEOM provider %s has zero sectorsize\n", + pp->name); + return (EDOOFUS); + } /* Reject I/O not on sector boundary */ if (bp->bio_offset % pp->sectorsize) return (EINVAL); -- cgit v1.1