diff options
| author | Poul-Henning Kamp <phk@FreeBSD.org> | 1999-09-20 19:57:28 +0000 |
|---|---|---|
| committer | Poul-Henning Kamp <phk@FreeBSD.org> | 1999-09-20 19:57:28 +0000 |
| commit | fae03f66d14484a1e2a667c7e882a029eb73c9a2 (patch) | |
| tree | 403f4f270a23a8a3e4d167bb18e9b318b7d8ebb2 /sys/gnu/ext2fs | |
| parent | 552f337f1f3f5f72c81593ef3cba5359afedcf69 (diff) | |
Notes
Diffstat (limited to 'sys/gnu/ext2fs')
| -rw-r--r-- | sys/gnu/ext2fs/ext2_bmap.c | 39 |
1 files changed, 4 insertions, 35 deletions
diff --git a/sys/gnu/ext2fs/ext2_bmap.c b/sys/gnu/ext2fs/ext2_bmap.c index cf564071491d..d200b36975f5 100644 --- a/sys/gnu/ext2fs/ext2_bmap.c +++ b/sys/gnu/ext2fs/ext2_bmap.c @@ -132,41 +132,10 @@ ufs_bmaparray(vp, bn, bnp, ap, nump, runp, runb) *runb = 0; } - maxrun = 0; - if (runp || runb || (vp->v_maxio == 0)) { - - struct vnode *devvp; - int blksize; - - blksize = mp->mnt_stat.f_iosize; - - /* - * XXX - * If MAXPHYS is the largest transfer the disks can handle, - * we probably want maxrun to be 1 block less so that we - * don't create a block larger than the device can handle. - */ - devvp = ip->i_devvp; - - if (devvp != NULL && devvp->v_tag != VT_MFS && - devvp->v_type == VBLK) { - if (devsw(devvp->v_rdev)->d_maxio > MAXPHYS) { - maxrun = MAXPHYS; - vp->v_maxio = MAXPHYS; - } else { - maxrun = devsw(devvp->v_rdev)->d_maxio; - vp->v_maxio = devsw(devvp->v_rdev)->d_maxio; - } - maxrun = maxrun / blksize; - maxrun -= 1; - } - - if (maxrun <= 0) { - vp->v_maxio = DFLTPHYS; - maxrun = DFLTPHYS / blksize; - maxrun -= 1; - } - } + if (vn_isdisk(vp)) + maxrun = vp->v_rdev->si_iosize_max / mp->mnt_stat.f_iosize - 1; + else + maxrun = 0; xap = ap == NULL ? a : ap; if (!nump) |
