diff options
author | julian <julian@FreeBSD.org> | 2001-09-12 08:38:13 +0000 |
---|---|---|
committer | julian <julian@FreeBSD.org> | 2001-09-12 08:38:13 +0000 |
commit | 5596676e6c6c1e81e899cd0531f9b1c28a292669 (patch) | |
tree | b1a19fcdf05759281fab0d89efb13f0fdf42102e /sys/ufs/ifs | |
parent | 83e00d4274950d2b531c24692cd123538ffbddb9 (diff) | |
download | FreeBSD-src-5596676e6c6c1e81e899cd0531f9b1c28a292669.zip FreeBSD-src-5596676e6c6c1e81e899cd0531f9b1c28a292669.tar.gz |
KSE Milestone 2
Note ALL MODULES MUST BE RECOMPILED
make the kernel aware that there are smaller units of scheduling than the
process. (but only allow one thread per process at this time).
This is functionally equivalent to teh previousl -current except
that there is a thread associated with each process.
Sorry john! (your next MFC will be a doosie!)
Reviewed by: peter@freebsd.org, dillon@freebsd.org
X-MFC after: ha ha ha ha
Diffstat (limited to 'sys/ufs/ifs')
-rw-r--r-- | sys/ufs/ifs/ifs_extern.h | 1 | ||||
-rw-r--r-- | sys/ufs/ifs/ifs_lookup.c | 12 | ||||
-rw-r--r-- | sys/ufs/ifs/ifs_vfsops.c | 8 |
3 files changed, 10 insertions, 11 deletions
diff --git a/sys/ufs/ifs/ifs_extern.h b/sys/ufs/ifs/ifs_extern.h index 62d3581..df3af4a 100644 --- a/sys/ufs/ifs/ifs_extern.h +++ b/sys/ufs/ifs/ifs_extern.h @@ -64,7 +64,6 @@ struct fs; struct inode; struct malloc_type; struct mount; -struct proc; struct sockaddr; struct statfs; struct ucred; diff --git a/sys/ufs/ifs/ifs_lookup.c b/sys/ufs/ifs/ifs_lookup.c index 7f65967..c6e5873 100644 --- a/sys/ufs/ifs/ifs_lookup.c +++ b/sys/ufs/ifs/ifs_lookup.c @@ -119,7 +119,7 @@ ifs_lookup(ap) int flags = cnp->cn_flags; int nameiop = cnp->cn_nameiop; int error, lockparent, wantparent; - struct proc *p = cnp->cn_proc; + struct thread *td = cnp->cn_thread; ufs_daddr_t inodenum; char *endp; @@ -140,12 +140,12 @@ ifs_lookup(ap) return (EPERM); } /* Deal with the '.' directory */ - /* VOP_UNLOCK(vdp, 0, p); */ + /* VOP_UNLOCK(vdp, 0, td); */ if (cnp->cn_namelen == 1 && *(cnp->cn_nameptr) == '.') { /* We don't unlock the parent dir since the're the same */ *vpp = vdp; VREF(vdp); - /* vn_lock(vdp, LK_SHARED | LK_RETRY, p); */ + /* vn_lock(vdp, LK_SHARED | LK_RETRY, td); */ return (0); } /* @@ -155,12 +155,12 @@ ifs_lookup(ap) if ((cnp->cn_namelen) == 7 && (strncmp(cnp->cn_nameptr, "newfile", 7) == 0)) { if (nameiop == CREATE) { /* Check for write permissions in . */ - error = VOP_ACCESS(vdp, VWRITE, cred, cnp->cn_proc); + error = VOP_ACCESS(vdp, VWRITE, cred, cnp->cn_thread); if (error) return (error); *vpp = NULL; if (!lockparent || !(flags & ISLASTCN)) - VOP_UNLOCK(pdp, 0, p); + VOP_UNLOCK(pdp, 0, td); cnp->cn_flags |= SAVENAME; return (EJUSTRETURN); } else { @@ -246,7 +246,7 @@ ifs_lookup(ap) if (error) return (error); if (!lockparent || !(flags & ISLASTCN)) - VOP_UNLOCK(pdp, 0, p); + VOP_UNLOCK(pdp, 0, td); *vpp = tdp; return (0); } diff --git a/sys/ufs/ifs/ifs_vfsops.c b/sys/ufs/ifs/ifs_vfsops.c index 41b1d5f..0cbf5d0 100644 --- a/sys/ufs/ifs/ifs_vfsops.c +++ b/sys/ufs/ifs/ifs_vfsops.c @@ -70,7 +70,7 @@ static MALLOC_DEFINE(M_IFSNODE, "IFS node", "IFS vnode private part"); static int ifs_init (struct vfsconf *); static int ifs_mount (struct mount *, char *, caddr_t, - struct nameidata *, struct proc *); + struct nameidata *, struct thread *); extern int ifs_vget (struct mount *, ino_t, struct vnode **); @@ -101,16 +101,16 @@ VFS_SET(ifs_vfsops, ifs, 0); * deal with softupdates so we make sure the user isn't trying to use it. */ static int -ifs_mount(mp, path, data, ndp, p) +ifs_mount(mp, path, data, ndp, td) struct mount *mp; char *path; caddr_t data; struct nameidata *ndp; - struct proc *p; + struct thread *td; { /* Clear the softdep flag */ mp->mnt_flag &= ~MNT_SOFTDEP; - return (ffs_mount(mp, path, data, ndp, p)); + return (ffs_mount(mp, path, data, ndp, td)); } |