diff options
| author | Xin LI <delphij@FreeBSD.org> | 2005-10-06 18:27:27 +0000 |
|---|---|---|
| committer | Xin LI <delphij@FreeBSD.org> | 2005-10-06 18:27:27 +0000 |
| commit | 57050c84e50a75778d5046dde7f64e9598505d44 (patch) | |
| tree | c0a4ca02fefce9d1acba61496df3c34fd97de4ab /sys/gnu | |
| parent | 09c157b360cc3b864983fb04b0468cb921a7d2d0 (diff) | |
Notes
Diffstat (limited to 'sys/gnu')
| -rw-r--r-- | sys/gnu/fs/ext2fs/ext2_vfsops.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/sys/gnu/fs/ext2fs/ext2_vfsops.c b/sys/gnu/fs/ext2fs/ext2_vfsops.c index b801b974c759..84d1809b1419 100644 --- a/sys/gnu/fs/ext2fs/ext2_vfsops.c +++ b/sys/gnu/fs/ext2fs/ext2_vfsops.c @@ -612,6 +612,18 @@ ext2_mountfs(devvp, mp, td) VOP_UNLOCK(devvp, 0, td); if (error) return (error); + + /* XXX: should we check for some sectorsize or 512 instead? */ + if (((SBSIZE % cp->provider->sectorsize) != 0) || + (SBSIZE < cp->provider->sectorsize)) { + DROP_GIANT(); + g_topology_lock(); + g_vfs_close(cp, td); + g_topology_unlock(); + PICKUP_GIANT(); + return (EINVAL); + } + bo = &devvp->v_bufobj; bo->bo_private = cp; bo->bo_ops = g_vfs_bufops; |
