From faad30291368656660218cbdd2109cec0552a5e0 Mon Sep 17 00:00:00 2001 From: Poul-Henning Kamp Date: Mon, 20 Sep 1999 21:14:43 +0000 Subject: Fix a harmless bug I introduced, simplify a bit more while here. --- sys/gnu/ext2fs/ext2_bmap.c | 10 ++++------ sys/gnu/fs/ext2fs/ext2_bmap.c | 10 ++++------ 2 files changed, 8 insertions(+), 12 deletions(-) (limited to 'sys/gnu') diff --git a/sys/gnu/ext2fs/ext2_bmap.c b/sys/gnu/ext2fs/ext2_bmap.c index d200b36975f5..22f83c3c20b9 100644 --- a/sys/gnu/ext2fs/ext2_bmap.c +++ b/sys/gnu/ext2fs/ext2_bmap.c @@ -114,11 +114,12 @@ ufs_bmaparray(vp, bn, bnp, ap, nump, runp, runb) struct indir a[NIADDR+1], *xap; ufs_daddr_t daddr; long metalbn; - int error, maxrun = 0, num; + int error, maxrun, num; ip = VTOI(vp); mp = vp->v_mount; ump = VFSTOUFS(mp); + devvp = ump->um_devvp; #ifdef DIAGNOSTIC if ((ap != NULL && nump == NULL) || (ap == NULL && nump != NULL)) panic("ufs_bmaparray: invalid arguments"); @@ -132,10 +133,8 @@ ufs_bmaparray(vp, bn, bnp, ap, nump, runp, runb) *runb = 0; } - if (vn_isdisk(vp)) - maxrun = vp->v_rdev->si_iosize_max / mp->mnt_stat.f_iosize - 1; - else - maxrun = 0; + vp->v_maxio = devvp->v_maxio; + maxrun = vp->v_maxio / mp->mnt_stat.f_iosize - 1; xap = ap == NULL ? a : ap; if (!nump) @@ -169,7 +168,6 @@ ufs_bmaparray(vp, bn, bnp, ap, nump, runp, runb) /* Get disk address out of indirect block array */ daddr = ip->i_ib[xap->in_off]; - devvp = VFSTOUFS(vp->v_mount)->um_devvp; for (bp = NULL, ++xap; --num; ++xap) { /* * Exit the loop if there is no disk address assigned yet and diff --git a/sys/gnu/fs/ext2fs/ext2_bmap.c b/sys/gnu/fs/ext2fs/ext2_bmap.c index d200b36975f5..22f83c3c20b9 100644 --- a/sys/gnu/fs/ext2fs/ext2_bmap.c +++ b/sys/gnu/fs/ext2fs/ext2_bmap.c @@ -114,11 +114,12 @@ ufs_bmaparray(vp, bn, bnp, ap, nump, runp, runb) struct indir a[NIADDR+1], *xap; ufs_daddr_t daddr; long metalbn; - int error, maxrun = 0, num; + int error, maxrun, num; ip = VTOI(vp); mp = vp->v_mount; ump = VFSTOUFS(mp); + devvp = ump->um_devvp; #ifdef DIAGNOSTIC if ((ap != NULL && nump == NULL) || (ap == NULL && nump != NULL)) panic("ufs_bmaparray: invalid arguments"); @@ -132,10 +133,8 @@ ufs_bmaparray(vp, bn, bnp, ap, nump, runp, runb) *runb = 0; } - if (vn_isdisk(vp)) - maxrun = vp->v_rdev->si_iosize_max / mp->mnt_stat.f_iosize - 1; - else - maxrun = 0; + vp->v_maxio = devvp->v_maxio; + maxrun = vp->v_maxio / mp->mnt_stat.f_iosize - 1; xap = ap == NULL ? a : ap; if (!nump) @@ -169,7 +168,6 @@ ufs_bmaparray(vp, bn, bnp, ap, nump, runp, runb) /* Get disk address out of indirect block array */ daddr = ip->i_ib[xap->in_off]; - devvp = VFSTOUFS(vp->v_mount)->um_devvp; for (bp = NULL, ++xap; --num; ++xap) { /* * Exit the loop if there is no disk address assigned yet and -- cgit v1.2.3