SCCS-vsn: sys/ufs/ffs/ffs_vnops.c 7.39
SCCS-vsn: sys/ufs/ffs/ufs_vnops.c 7.39
SCCS-vsn: sys/ufs/lfs/lfs_vnops.c 7.39
SCCS-vsn: sys/ufs/ufs/ufs_vnops.c 7.39
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
- * @(#)ffs_vnops.c 7.38 (Berkeley) %G%
+ * @(#)ffs_vnops.c 7.39 (Berkeley) %G%
*vpp = ip->i_devvp;
if (bnp == NULL)
return (0);
*vpp = ip->i_devvp;
if (bnp == NULL)
return (0);
- return (bmap(ip, bn, bnp, (daddr_t *)0, (int *)0));
+ return (bmap(ip, bn, bnp));
- * Just call the device strategy routine
+ * Calculate the logical to physical mapping if not done already,
+ * then call the device strategy routine.
ufs_strategy(bp)
register struct buf *bp;
{
register struct inode *ip = VTOI(bp->b_vp);
ufs_strategy(bp)
register struct buf *bp;
{
register struct inode *ip = VTOI(bp->b_vp);
- register struct buf *ep;
- struct buf *ebp;
- daddr_t start, last;
int error;
if (bp->b_vp->v_type == VBLK || bp->b_vp->v_type == VCHR)
int error;
if (bp->b_vp->v_type == VBLK || bp->b_vp->v_type == VCHR)
biodone(bp);
return (0);
}
biodone(bp);
return (0);
}
+ register struct buf *ep;
+ struct buf *ebp;
+ daddr_t start, last;
+
ebp = &buf[nbuf];
start = bp->b_blkno;
last = start + btodb(bp->b_bcount) - 1;
ebp = &buf[nbuf];
start = bp->b_blkno;
last = start + btodb(bp->b_bcount) - 1;
printf("\tstart %d, end %d overlap start %d, end %d\n",
start, last, ep->b_blkno,
ep->b_blkno + btodb(ep->b_bcount) - 1);
printf("\tstart %d, end %d overlap start %d, end %d\n",
start, last, ep->b_blkno,
ep->b_blkno + btodb(ep->b_bcount) - 1);
+ panic("Disk buffer overlap");
vp = ip->i_devvp;
bp->b_dev = vp->v_rdev;
(*(vp->v_op->vn_strategy))(bp);
vp = ip->i_devvp;
bp->b_dev = vp->v_rdev;
(*(vp->v_op->vn_strategy))(bp);
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
- * @(#)ufs_vnops.c 7.38 (Berkeley) %G%
+ * @(#)ufs_vnops.c 7.39 (Berkeley) %G%
*vpp = ip->i_devvp;
if (bnp == NULL)
return (0);
*vpp = ip->i_devvp;
if (bnp == NULL)
return (0);
- return (bmap(ip, bn, bnp, (daddr_t *)0, (int *)0));
+ return (bmap(ip, bn, bnp));
- * Just call the device strategy routine
+ * Calculate the logical to physical mapping if not done already,
+ * then call the device strategy routine.
ufs_strategy(bp)
register struct buf *bp;
{
register struct inode *ip = VTOI(bp->b_vp);
ufs_strategy(bp)
register struct buf *bp;
{
register struct inode *ip = VTOI(bp->b_vp);
- register struct buf *ep;
- struct buf *ebp;
- daddr_t start, last;
int error;
if (bp->b_vp->v_type == VBLK || bp->b_vp->v_type == VCHR)
int error;
if (bp->b_vp->v_type == VBLK || bp->b_vp->v_type == VCHR)
biodone(bp);
return (0);
}
biodone(bp);
return (0);
}
+ register struct buf *ep;
+ struct buf *ebp;
+ daddr_t start, last;
+
ebp = &buf[nbuf];
start = bp->b_blkno;
last = start + btodb(bp->b_bcount) - 1;
ebp = &buf[nbuf];
start = bp->b_blkno;
last = start + btodb(bp->b_bcount) - 1;
printf("\tstart %d, end %d overlap start %d, end %d\n",
start, last, ep->b_blkno,
ep->b_blkno + btodb(ep->b_bcount) - 1);
printf("\tstart %d, end %d overlap start %d, end %d\n",
start, last, ep->b_blkno,
ep->b_blkno + btodb(ep->b_bcount) - 1);
+ panic("Disk buffer overlap");
vp = ip->i_devvp;
bp->b_dev = vp->v_rdev;
(*(vp->v_op->vn_strategy))(bp);
vp = ip->i_devvp;
bp->b_dev = vp->v_rdev;
(*(vp->v_op->vn_strategy))(bp);
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
- * @(#)lfs_vnops.c 7.38 (Berkeley) %G%
+ * @(#)lfs_vnops.c 7.39 (Berkeley) %G%
*vpp = ip->i_devvp;
if (bnp == NULL)
return (0);
*vpp = ip->i_devvp;
if (bnp == NULL)
return (0);
- return (bmap(ip, bn, bnp, (daddr_t *)0, (int *)0));
+ return (bmap(ip, bn, bnp));
- * Just call the device strategy routine
+ * Calculate the logical to physical mapping if not done already,
+ * then call the device strategy routine.
ufs_strategy(bp)
register struct buf *bp;
{
register struct inode *ip = VTOI(bp->b_vp);
ufs_strategy(bp)
register struct buf *bp;
{
register struct inode *ip = VTOI(bp->b_vp);
- register struct buf *ep;
- struct buf *ebp;
- daddr_t start, last;
int error;
if (bp->b_vp->v_type == VBLK || bp->b_vp->v_type == VCHR)
int error;
if (bp->b_vp->v_type == VBLK || bp->b_vp->v_type == VCHR)
biodone(bp);
return (0);
}
biodone(bp);
return (0);
}
+ register struct buf *ep;
+ struct buf *ebp;
+ daddr_t start, last;
+
ebp = &buf[nbuf];
start = bp->b_blkno;
last = start + btodb(bp->b_bcount) - 1;
ebp = &buf[nbuf];
start = bp->b_blkno;
last = start + btodb(bp->b_bcount) - 1;
printf("\tstart %d, end %d overlap start %d, end %d\n",
start, last, ep->b_blkno,
ep->b_blkno + btodb(ep->b_bcount) - 1);
printf("\tstart %d, end %d overlap start %d, end %d\n",
start, last, ep->b_blkno,
ep->b_blkno + btodb(ep->b_bcount) - 1);
+ panic("Disk buffer overlap");
vp = ip->i_devvp;
bp->b_dev = vp->v_rdev;
(*(vp->v_op->vn_strategy))(bp);
vp = ip->i_devvp;
bp->b_dev = vp->v_rdev;
(*(vp->v_op->vn_strategy))(bp);
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
- * @(#)ufs_vnops.c 7.38 (Berkeley) %G%
+ * @(#)ufs_vnops.c 7.39 (Berkeley) %G%
*vpp = ip->i_devvp;
if (bnp == NULL)
return (0);
*vpp = ip->i_devvp;
if (bnp == NULL)
return (0);
- return (bmap(ip, bn, bnp, (daddr_t *)0, (int *)0));
+ return (bmap(ip, bn, bnp));
- * Just call the device strategy routine
+ * Calculate the logical to physical mapping if not done already,
+ * then call the device strategy routine.
ufs_strategy(bp)
register struct buf *bp;
{
register struct inode *ip = VTOI(bp->b_vp);
ufs_strategy(bp)
register struct buf *bp;
{
register struct inode *ip = VTOI(bp->b_vp);
- register struct buf *ep;
- struct buf *ebp;
- daddr_t start, last;
int error;
if (bp->b_vp->v_type == VBLK || bp->b_vp->v_type == VCHR)
int error;
if (bp->b_vp->v_type == VBLK || bp->b_vp->v_type == VCHR)
biodone(bp);
return (0);
}
biodone(bp);
return (0);
}
+ register struct buf *ep;
+ struct buf *ebp;
+ daddr_t start, last;
+
ebp = &buf[nbuf];
start = bp->b_blkno;
last = start + btodb(bp->b_bcount) - 1;
ebp = &buf[nbuf];
start = bp->b_blkno;
last = start + btodb(bp->b_bcount) - 1;
printf("\tstart %d, end %d overlap start %d, end %d\n",
start, last, ep->b_blkno,
ep->b_blkno + btodb(ep->b_bcount) - 1);
printf("\tstart %d, end %d overlap start %d, end %d\n",
start, last, ep->b_blkno,
ep->b_blkno + btodb(ep->b_bcount) - 1);
+ panic("Disk buffer overlap");
vp = ip->i_devvp;
bp->b_dev = vp->v_rdev;
(*(vp->v_op->vn_strategy))(bp);
vp = ip->i_devvp;
bp->b_dev = vp->v_rdev;
(*(vp->v_op->vn_strategy))(bp);