diff options
-rw-r--r-- | sys/geom/geom_vfs.c | 2 | ||||
-rw-r--r-- | sys/kern/vfs_bio.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/sys/geom/geom_vfs.c b/sys/geom/geom_vfs.c index 9bfa746..9d01f40 100644 --- a/sys/geom/geom_vfs.c +++ b/sys/geom/geom_vfs.c @@ -179,7 +179,7 @@ g_vfs_open(struct vnode *vp, struct g_consumer **cpp, const char *fsname, int wr bo = &vp->v_bufobj; bo->bo_ops = g_vfs_bufops; bo->bo_private = cp; - bo->bo_bsize = DEV_BSIZE; + bo->bo_bsize = pp->sectorsize; gp->softc = bo; return (error); diff --git a/sys/kern/vfs_bio.c b/sys/kern/vfs_bio.c index df9a257..4e9cfc6 100644 --- a/sys/kern/vfs_bio.c +++ b/sys/kern/vfs_bio.c @@ -2678,7 +2678,7 @@ loop: */ if (flags & GB_NOCREAT) return NULL; - bsize = bo->bo_bsize; + bsize = vn_isdisk(vp, NULL) ? DEV_BSIZE : bo->bo_bsize; offset = blkno * bsize; vmio = vp->v_object != NULL; maxsize = vmio ? size + (offset & PAGE_MASK) : size; |