diff options
author | phk <phk@FreeBSD.org> | 1999-09-20 21:14:43 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 1999-09-20 21:14:43 +0000 |
commit | 915efc6d1eda968beabc52d119e8be62e73aa2c0 (patch) | |
tree | b657318b9e7bcfe5cbfb01dfbf1241ed4f3c8729 /sys/gnu/ext2fs | |
parent | 68cb32c3fdc719a560b299a3f421b23805257464 (diff) | |
download | FreeBSD-src-915efc6d1eda968beabc52d119e8be62e73aa2c0.zip FreeBSD-src-915efc6d1eda968beabc52d119e8be62e73aa2c0.tar.gz |
Fix a harmless bug I introduced, simplify a bit more while here.
Diffstat (limited to 'sys/gnu/ext2fs')
-rw-r--r-- | sys/gnu/ext2fs/ext2_bmap.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/sys/gnu/ext2fs/ext2_bmap.c b/sys/gnu/ext2fs/ext2_bmap.c index d200b36..22f83c3 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 |