summaryrefslogtreecommitdiffstats
path: root/sys/ufs/ifs
diff options
context:
space:
mode:
authorjulian <julian@FreeBSD.org>2001-09-12 08:38:13 +0000
committerjulian <julian@FreeBSD.org>2001-09-12 08:38:13 +0000
commit5596676e6c6c1e81e899cd0531f9b1c28a292669 (patch)
treeb1a19fcdf05759281fab0d89efb13f0fdf42102e /sys/ufs/ifs
parent83e00d4274950d2b531c24692cd123538ffbddb9 (diff)
downloadFreeBSD-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.h1
-rw-r--r--sys/ufs/ifs/ifs_lookup.c12
-rw-r--r--sys/ufs/ifs/ifs_vfsops.c8
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));
}
OpenPOWER on IntegriCloud