summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPawel Jakub Dawidek <pjd@FreeBSD.org>2004-09-27 22:10:01 +0000
committerPawel Jakub Dawidek <pjd@FreeBSD.org>2004-09-27 22:10:01 +0000
commit6c25233782188ace040e47732d0c1e82fb701fd6 (patch)
tree26d052d31c7186c3f09d9146f3e49855b169c708
parent87d451b95e55f7353719ac401fe4213dedb613e9 (diff)
Notes
-rw-r--r--sys/geom/geom_dev.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/geom/geom_dev.c b/sys/geom/geom_dev.c
index 261e1f297b6d..5bb9d4244114 100644
--- a/sys/geom/geom_dev.c
+++ b/sys/geom/geom_dev.c
@@ -347,6 +347,12 @@ g_dev_strategy(struct bio *bp)
KASSERT(cp->acr || cp->acw,
("Consumer with zero access count in g_dev_strategy"));
+ if ((bp->bio_offset % cp->provider->sectorsize) != 0 ||
+ (bp->bio_bcount % cp->provider->sectorsize) != 0) {
+ biofinish(bp, NULL, EINVAL);
+ return;
+ }
+
for (;;) {
/*
* XXX: This is not an ideal solution, but I belive it to