diff options
author | phk <phk@FreeBSD.org> | 2003-01-04 11:29:44 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 2003-01-04 11:29:44 +0000 |
commit | d15bf2fa1db34432506208968135028e26abfc0d (patch) | |
tree | 97753f53a50a686920e108fd051384cde6fbfaeb /sys/fs/specfs | |
parent | f588520584c4c7e47c45be721a5670ee6691f9f6 (diff) | |
download | FreeBSD-src-d15bf2fa1db34432506208968135028e26abfc0d.zip FreeBSD-src-d15bf2fa1db34432506208968135028e26abfc0d.tar.gz |
Replace spec_bmap() with vop_panic: We should never BMAP a device backed
vnode only filesystem backed vnodes.
Diffstat (limited to 'sys/fs/specfs')
-rw-r--r-- | sys/fs/specfs/spec_vnops.c | 36 |
1 files changed, 1 insertions, 35 deletions
diff --git a/sys/fs/specfs/spec_vnops.c b/sys/fs/specfs/spec_vnops.c index 09860dd..6ee96d8 100644 --- a/sys/fs/specfs/spec_vnops.c +++ b/sys/fs/specfs/spec_vnops.c @@ -58,7 +58,6 @@ static int spec_advlock(struct vop_advlock_args *); -static int spec_bmap(struct vop_bmap_args *); static int spec_close(struct vop_close_args *); static int spec_freeblks(struct vop_freeblks_args *); static int spec_fsync(struct vop_fsync_args *); @@ -77,7 +76,7 @@ static struct vnodeopv_entry_desc spec_vnodeop_entries[] = { { &vop_default_desc, (vop_t *) vop_defaultop }, { &vop_access_desc, (vop_t *) vop_ebadf }, { &vop_advlock_desc, (vop_t *) spec_advlock }, - { &vop_bmap_desc, (vop_t *) spec_bmap }, + { &vop_bmap_desc, (vop_t *) vop_panic }, { &vop_close_desc, (vop_t *) spec_close }, { &vop_create_desc, (vop_t *) vop_panic }, { &vop_freeblks_desc, (vop_t *) spec_freeblks }, @@ -640,39 +639,6 @@ spec_freeblks(ap) } /* - * Implement degenerate case where the block requested is the block - * returned, and assume that the entire device is contiguous in regards - * to the contiguous block range (runp and runb). - */ -static int -spec_bmap(ap) - struct vop_bmap_args /* { - struct vnode *a_vp; - daddr_t a_bn; - struct vnode **a_vpp; - daddr_t *a_bnp; - int *a_runp; - int *a_runb; - } */ *ap; -{ - struct vnode *vp = ap->a_vp; - int runp = 0; - int runb = 0; - - if (ap->a_vpp != NULL) - *ap->a_vpp = vp; - if (ap->a_bnp != NULL) - *ap->a_bnp = ap->a_bn; - if (vp->v_mount != NULL) - runp = runb = MAXBSIZE / vp->v_mount->mnt_stat.f_iosize; - if (ap->a_runp != NULL) - *ap->a_runp = runp; - if (ap->a_runb != NULL) - *ap->a_runb = runb; - return (0); -} - -/* * Device close routine */ /* ARGSUSED */ |