projects
/
unix-history
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
tags
|
clone url
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
more-or-less working with new proc & user structs
[unix-history]
/
usr
/
src
/
sys
/
miscfs
/
specfs
/
spec_vnops.c
diff --git
a/usr/src/sys/miscfs/specfs/spec_vnops.c
b/usr/src/sys/miscfs/specfs/spec_vnops.c
index
ababdc2
..
c1f2520
100644
(file)
--- a/
usr/src/sys/miscfs/specfs/spec_vnops.c
+++ b/
usr/src/sys/miscfs/specfs/spec_vnops.c
@@
-4,7
+4,7
@@
*
* %sccs.include.redist.c%
*
*
* %sccs.include.redist.c%
*
- * @(#)spec_vnops.c 7.3
0
(Berkeley) %G%
+ * @(#)spec_vnops.c 7.3
1
(Berkeley) %G%
*/
#include "param.h"
*/
#include "param.h"
@@
-45,8
+45,9
@@
int spec_lookup(),
spec_print(),
spec_advlock(),
spec_ebadf(),
spec_print(),
spec_advlock(),
spec_ebadf(),
- spec_badop(),
- spec_nullop();
+ spec_badop();
+
+int nullop();
struct vnodeops spec_vnodeops = {
spec_lookup, /* lookup */
struct vnodeops spec_vnodeops = {
spec_lookup, /* lookup */
@@
-62,7
+63,7
@@
struct vnodeops spec_vnodeops = {
spec_ioctl, /* ioctl */
spec_select, /* select */
spec_badop, /* mmap */
spec_ioctl, /* ioctl */
spec_select, /* select */
spec_badop, /* mmap */
-
spec_nullop,
/* fsync */
+
nullop,
/* fsync */
spec_badop, /* seek */
spec_badop, /* remove */
spec_badop, /* link */
spec_badop, /* seek */
spec_badop, /* remove */
spec_badop, /* link */
@@
-73,14
+74,14
@@
struct vnodeops spec_vnodeops = {
spec_badop, /* readdir */
spec_badop, /* readlink */
spec_badop, /* abortop */
spec_badop, /* readdir */
spec_badop, /* readlink */
spec_badop, /* abortop */
-
spec_nullop,
/* inactive */
-
spec_nullop,
/* reclaim */
+
nullop,
/* inactive */
+
nullop,
/* reclaim */
spec_lock, /* lock */
spec_unlock, /* unlock */
spec_bmap, /* bmap */
spec_strategy, /* strategy */
spec_print, /* print */
spec_lock, /* lock */
spec_unlock, /* unlock */
spec_bmap, /* bmap */
spec_strategy, /* strategy */
spec_print, /* print */
-
spec_nullop,
/* islocked */
+
nullop,
/* islocked */
spec_advlock, /* advlock */
};
spec_advlock, /* advlock */
};
@@
-108,6
+109,7
@@
spec_open(vp, mode, cred)
int mode;
struct ucred *cred;
{
int mode;
struct ucred *cred;
{
+ struct proc *p = curproc; /* XXX */
dev_t dev = (dev_t)vp->v_rdev;
register int maj = major(dev);
int error;
dev_t dev = (dev_t)vp->v_rdev;
register int maj = major(dev);
int error;
@@
-120,14
+122,14
@@
spec_open(vp, mode, cred)
case VCHR:
if ((u_int)maj >= nchrdev)
return (ENXIO);
case VCHR:
if ((u_int)maj >= nchrdev)
return (ENXIO);
- return ((*cdevsw[maj].d_open)(dev, mode, S_IFCHR));
+ return ((*cdevsw[maj].d_open)(dev, mode, S_IFCHR
, p
));
case VBLK:
if ((u_int)maj >= nblkdev)
return (ENXIO);
if (error = mountedon(vp))
return (error);
case VBLK:
if ((u_int)maj >= nblkdev)
return (ENXIO);
if (error = mountedon(vp))
return (error);
- return ((*bdevsw[maj].d_open)(dev, mode, S_IFBLK));
+ return ((*bdevsw[maj].d_open)(dev, mode, S_IFBLK
, p
));
}
return (0);
}
}
return (0);
}
@@
-142,6
+144,7
@@
spec_read(vp, uio, ioflag, cred)
int ioflag;
struct ucred *cred;
{
int ioflag;
struct ucred *cred;
{
+ struct proc *p = curproc; /* XXX */
struct buf *bp;
daddr_t bn;
long bsize, bscale;
struct buf *bp;
daddr_t bn;
long bsize, bscale;
@@
-165,7
+168,7
@@
spec_read(vp, uio, ioflag, cred)
return (EINVAL);
VOP_UNLOCK(vp);
error = (*cdevsw[major(vp->v_rdev)].d_read)
return (EINVAL);
VOP_UNLOCK(vp);
error = (*cdevsw[major(vp->v_rdev)].d_read)
- (vp->v_rdev, uio, ioflag);
+ (vp->v_rdev, uio, ioflag
, p
);
VOP_LOCK(vp);
return (error);
VOP_LOCK(vp);
return (error);
@@
-174,7
+177,7
@@
spec_read(vp, uio, ioflag, cred)
return (EINVAL);
bsize = BLKDEV_IOSIZE;
if ((*bdevsw[major(vp->v_rdev)].d_ioctl)(vp->v_rdev, DIOCGPART,
return (EINVAL);
bsize = BLKDEV_IOSIZE;
if ((*bdevsw[major(vp->v_rdev)].d_ioctl)(vp->v_rdev, DIOCGPART,
- (caddr_t)&dpart, FREAD) == 0) {
+ (caddr_t)&dpart, FREAD
, p
) == 0) {
if (dpart.part->p_fstype == FS_BSDFFS &&
dpart.part->p_frag != 0 && dpart.part->p_fsize != 0)
bsize = dpart.part->p_frag *
if (dpart.part->p_fstype == FS_BSDFFS &&
dpart.part->p_frag != 0 && dpart.part->p_fsize != 0)
bsize = dpart.part->p_frag *
@@
-219,6
+222,7
@@
spec_write(vp, uio, ioflag, cred)
int ioflag;
struct ucred *cred;
{
int ioflag;
struct ucred *cred;
{
+ struct proc *p = curproc; /* XXX */
struct buf *bp;
daddr_t bn;
int bsize, blkmask;
struct buf *bp;
daddr_t bn;
int bsize, blkmask;
@@
-240,7
+244,7
@@
spec_write(vp, uio, ioflag, cred)
return (EINVAL);
VOP_UNLOCK(vp);
error = (*cdevsw[major(vp->v_rdev)].d_write)
return (EINVAL);
VOP_UNLOCK(vp);
error = (*cdevsw[major(vp->v_rdev)].d_write)
- (vp->v_rdev, uio, ioflag);
+ (vp->v_rdev, uio, ioflag
, p
);
VOP_LOCK(vp);
return (error);
VOP_LOCK(vp);
return (error);
@@
-251,7
+255,7
@@
spec_write(vp, uio, ioflag, cred)
return (EINVAL);
bsize = BLKDEV_IOSIZE;
if ((*bdevsw[major(vp->v_rdev)].d_ioctl)(vp->v_rdev, DIOCGPART,
return (EINVAL);
bsize = BLKDEV_IOSIZE;
if ((*bdevsw[major(vp->v_rdev)].d_ioctl)(vp->v_rdev, DIOCGPART,
- (caddr_t)&dpart, FREAD) == 0) {
+ (caddr_t)&dpart, FREAD
, p
) == 0) {
if (dpart.part->p_fstype == FS_BSDFFS &&
dpart.part->p_frag != 0 && dpart.part->p_fsize != 0)
bsize = dpart.part->p_frag *
if (dpart.part->p_fstype == FS_BSDFFS &&
dpart.part->p_frag != 0 && dpart.part->p_fsize != 0)
bsize = dpart.part->p_frag *
@@
-297,12
+301,14
@@
spec_ioctl(vp, com, data, fflag, cred)
int fflag;
struct ucred *cred;
{
int fflag;
struct ucred *cred;
{
+ struct proc *p = curproc; /* XXX */
dev_t dev = vp->v_rdev;
switch (vp->v_type) {
case VCHR:
dev_t dev = vp->v_rdev;
switch (vp->v_type) {
case VCHR:
- return ((*cdevsw[major(dev)].d_ioctl)(dev, com, data, fflag));
+ return ((*cdevsw[major(dev)].d_ioctl)(dev, com, data,
+ fflag, p));
case VBLK:
if (com == 0 && (int)data == B_TAPE)
case VBLK:
if (com == 0 && (int)data == B_TAPE)
@@
-310,7
+316,8
@@
spec_ioctl(vp, com, data, fflag, cred)
return (0);
else
return (1);
return (0);
else
return (1);
- return ((*bdevsw[major(dev)].d_ioctl)(dev, com, data, fflag));
+ return ((*bdevsw[major(dev)].d_ioctl)(dev, com, data,
+ fflag, p));
default:
panic("spec_ioctl");
default:
panic("spec_ioctl");
@@
-324,6
+331,7
@@
spec_select(vp, which, fflags, cred)
int which, fflags;
struct ucred *cred;
{
int which, fflags;
struct ucred *cred;
{
+ struct proc *p = curproc; /* XXX */
register dev_t dev;
switch (vp->v_type) {
register dev_t dev;
switch (vp->v_type) {
@@
-333,7
+341,7
@@
spec_select(vp, which, fflags, cred)
case VCHR:
dev = vp->v_rdev;
case VCHR:
dev = vp->v_rdev;
- return (*cdevsw[major(dev)].d_select)(dev, which);
+ return (*cdevsw[major(dev)].d_select)(dev, which
, p
);
}
}
}
}
@@
-393,6
+401,7
@@
spec_close(vp, flag, cred)
int flag;
struct ucred *cred;
{
int flag;
struct ucred *cred;
{
+ struct proc *p = curproc; /* XXX */
dev_t dev = vp->v_rdev;
int (*cfunc)();
int mode;
dev_t dev = vp->v_rdev;
int (*cfunc)();
int mode;
@@
-439,7
+448,7
@@
spec_close(vp, flag, cred)
panic("spec_close: not special");
}
panic("spec_close: not special");
}
- return ((*cfunc)(dev, flag, mode));
+ return ((*cfunc)(dev, flag, mode
, p
));
}
/*
}
/*
@@
-485,12
+494,3
@@
spec_badop()
panic("spec_badop called");
/* NOTREACHED */
}
panic("spec_badop called");
/* NOTREACHED */
}
-
-/*
- * Special device null operation
- */
-spec_nullop()
-{
-
- return (0);
-}