aboutsummaryrefslogtreecommitdiff
path: root/sys/gnu
diff options
context:
space:
mode:
authorPoul-Henning Kamp <phk@FreeBSD.org>1999-09-20 21:14:43 +0000
committerPoul-Henning Kamp <phk@FreeBSD.org>1999-09-20 21:14:43 +0000
commitfaad30291368656660218cbdd2109cec0552a5e0 (patch)
tree7c4a58f06214c1aece5eb3076fa39e76c6eee2c4 /sys/gnu
parent1f687ff1e730d1a0c18f3cc870f59cc213ebd8f4 (diff)
downloadsrc-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.c10
-rw-r--r--sys/gnu/fs/ext2fs/ext2_bmap.c10
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