diff options
author | Poul-Henning Kamp <phk@FreeBSD.org> | 1999-09-20 21:14:43 +0000 |
---|---|---|
committer | Poul-Henning Kamp <phk@FreeBSD.org> | 1999-09-20 21:14:43 +0000 |
commit | faad30291368656660218cbdd2109cec0552a5e0 (patch) | |
tree | 7c4a58f06214c1aece5eb3076fa39e76c6eee2c4 /sys/gnu | |
parent | 1f687ff1e730d1a0c18f3cc870f59cc213ebd8f4 (diff) | |
download | src-faad30291368656660218cbdd2109cec0552a5e0.tar.gz src-faad30291368656660218cbdd2109cec0552a5e0.zip |
Fix a harmless bug I introduced, simplify a bit more while here.
Notes
Notes:
svn path=/head/; revision=51483
Diffstat (limited to 'sys/gnu')
-rw-r--r-- | sys/gnu/ext2fs/ext2_bmap.c | 10 | ||||
-rw-r--r-- | sys/gnu/fs/ext2fs/ext2_bmap.c | 10 |
2 files changed, 8 insertions, 12 deletions
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 |