summaryrefslogtreecommitdiffstats
path: root/sys/fs
diff options
context:
space:
mode:
authorattilio <attilio@FreeBSD.org>2009-05-11 15:33:26 +0000
committerattilio <attilio@FreeBSD.org>2009-05-11 15:33:26 +0000
commit1dcb84131b6679f5d53452314d4ca1dfe2d8c5f0 (patch)
tree6591f00318da636f44a6ceb26f517e7795eb1b44 /sys/fs
parentebcb20267286e4ffadb3f603af56bd7a1df1f422 (diff)
downloadFreeBSD-src-1dcb84131b6679f5d53452314d4ca1dfe2d8c5f0.zip
FreeBSD-src-1dcb84131b6679f5d53452314d4ca1dfe2d8c5f0.tar.gz
Remove the thread argument from the FSD (File-System Dependent) parts of
the VFS. Now all the VFS_* functions and relating parts don't want the context as long as it always refers to curthread. In some points, in particular when dealing with VOPs and functions living in the same namespace (eg. vflush) which still need to be converted, pass curthread explicitly in order to retain the old behaviour. Such loose ends will be fixed ASAP. While here fix a bug: now, UFS_EXTATTR can be compiled alone without the UFS_EXTATTR_AUTOSTART option. VFS KPI is heavilly changed by this commit so thirdy parts modules needs to be recompiled. Bump __FreeBSD_version in order to signal such situation.
Diffstat (limited to 'sys/fs')
-rw-r--r--sys/fs/cd9660/cd9660_vfsops.c18
-rw-r--r--sys/fs/coda/coda_vfsops.c20
-rw-r--r--sys/fs/devfs/devfs.h3
-rw-r--r--sys/fs/devfs/devfs_vfsops.c14
-rw-r--r--sys/fs/devfs/devfs_vnops.c21
-rw-r--r--sys/fs/fdescfs/fdesc.h2
-rw-r--r--sys/fs/fdescfs/fdesc_vfsops.c22
-rw-r--r--sys/fs/fdescfs/fdesc_vnops.c7
-rw-r--r--sys/fs/hpfs/hpfs_vfsops.c22
-rw-r--r--sys/fs/msdosfs/msdosfs_vfsops.c25
-rw-r--r--sys/fs/nfs/nfs_commonsubs.c16
-rw-r--r--sys/fs/nfs/nfs_var.h2
-rw-r--r--sys/fs/nfsclient/nfs_clvfsops.c23
-rw-r--r--sys/fs/nfsserver/nfs_nfsdport.c7
-rw-r--r--sys/fs/nfsserver/nfs_nfsdserv.c4
-rw-r--r--sys/fs/ntfs/ntfs_vfsops.c22
-rw-r--r--sys/fs/nullfs/null_vfsops.c31
-rw-r--r--sys/fs/nwfs/nwfs_vfsops.c28
-rw-r--r--sys/fs/portalfs/portal_vfsops.c17
-rw-r--r--sys/fs/pseudofs/pseudofs.c13
-rw-r--r--sys/fs/pseudofs/pseudofs.h18
-rw-r--r--sys/fs/smbfs/smbfs_vfsops.c26
-rw-r--r--sys/fs/tmpfs/tmpfs.h4
-rw-r--r--sys/fs/tmpfs/tmpfs_subr.c12
-rw-r--r--sys/fs/tmpfs/tmpfs_vfsops.c25
-rw-r--r--sys/fs/tmpfs/tmpfs_vnops.c9
-rw-r--r--sys/fs/udf/udf_vfsops.c12
-rw-r--r--sys/fs/unionfs/union_vfsops.c29
28 files changed, 228 insertions, 224 deletions
diff --git a/sys/fs/cd9660/cd9660_vfsops.c b/sys/fs/cd9660/cd9660_vfsops.c
index 95a9a23..b4c65e1 100644
--- a/sys/fs/cd9660/cd9660_vfsops.c
+++ b/sys/fs/cd9660/cd9660_vfsops.c
@@ -95,7 +95,7 @@ static int iso_mountfs(struct vnode *devvp, struct mount *mp);
*/
static int
-cd9660_cmount(struct mntarg *ma, void *data, int flags, struct thread *td)
+cd9660_cmount(struct mntarg *ma, void *data, int flags)
{
struct iso_args args;
int error;
@@ -123,15 +123,18 @@ cd9660_cmount(struct mntarg *ma, void *data, int flags, struct thread *td)
}
static int
-cd9660_mount(struct mount *mp, struct thread *td)
+cd9660_mount(struct mount *mp)
{
struct vnode *devvp;
+ struct thread *td;
char *fspec;
int error;
accmode_t accmode;
struct nameidata ndp;
struct iso_mnt *imp = 0;
+ td = curthread;
+
/*
* Unconditionally mount as read-only.
*/
@@ -490,17 +493,16 @@ out:
* unmount system call
*/
static int
-cd9660_unmount(mp, mntflags, td)
+cd9660_unmount(mp, mntflags)
struct mount *mp;
int mntflags;
- struct thread *td;
{
struct iso_mnt *isomp;
int error, flags = 0;
if (mntflags & MNT_FORCE)
flags |= FORCECLOSE;
- if ((error = vflush(mp, 0, flags, td)))
+ if ((error = vflush(mp, 0, flags, curthread)))
return (error);
isomp = VFSTOISOFS(mp);
@@ -530,11 +532,10 @@ cd9660_unmount(mp, mntflags, td)
* Return root of a filesystem
*/
static int
-cd9660_root(mp, flags, vpp, td)
+cd9660_root(mp, flags, vpp)
struct mount *mp;
int flags;
struct vnode **vpp;
- struct thread *td;
{
struct iso_mnt *imp = VFSTOISOFS(mp);
struct iso_directory_record *dp =
@@ -553,10 +554,9 @@ cd9660_root(mp, flags, vpp, td)
* Get filesystem statistics.
*/
static int
-cd9660_statfs(mp, sbp, td)
+cd9660_statfs(mp, sbp)
struct mount *mp;
struct statfs *sbp;
- struct thread *td;
{
struct iso_mnt *isomp;
diff --git a/sys/fs/coda/coda_vfsops.c b/sys/fs/coda/coda_vfsops.c
index 5ce6499..b12c43b 100644
--- a/sys/fs/coda/coda_vfsops.c
+++ b/sys/fs/coda/coda_vfsops.c
@@ -106,7 +106,7 @@ static const char *coda_opts[] = { "from", NULL };
*/
/*ARGSUSED*/
int
-coda_mount(struct mount *vfsp, struct thread *td)
+coda_mount(struct mount *vfsp)
{
struct vnode *dvp;
struct cnode *cp;
@@ -136,7 +136,7 @@ coda_mount(struct mount *vfsp, struct thread *td)
/*
* Validate mount device. Similar to getmdev().
*/
- NDINIT(&ndp, LOOKUP, FOLLOW, UIO_SYSSPACE, from, td);
+ NDINIT(&ndp, LOOKUP, FOLLOW, UIO_SYSSPACE, from, curthread);
error = namei(&ndp);
dvp = ndp.ni_vp;
if (error) {
@@ -206,7 +206,7 @@ coda_mount(struct mount *vfsp, struct thread *td)
}
int
-coda_unmount(struct mount *vfsp, int mntflags, struct thread *td)
+coda_unmount(struct mount *vfsp, int mntflags)
{
struct coda_mntinfo *mi = vftomi(vfsp);
int active, error = 0;
@@ -232,7 +232,7 @@ coda_unmount(struct mount *vfsp, int mntflags, struct thread *td)
vrele(coda_ctlvp);
coda_ctlvp = NULL;
active = coda_kill(vfsp, NOT_DOWNCALL);
- error = vflush(mi->mi_vfsp, 0, FORCECLOSE, td);
+ error = vflush(mi->mi_vfsp, 0, FORCECLOSE, curthread);
#ifdef CODA_VERBOSE
printf("coda_unmount: active = %d, vflush active %d\n",
active, error);
@@ -262,15 +262,17 @@ coda_unmount(struct mount *vfsp, int mntflags, struct thread *td)
* Find root of cfs.
*/
int
-coda_root(struct mount *vfsp, int flags, struct vnode **vpp,
- struct thread *td)
+coda_root(struct mount *vfsp, int flags, struct vnode **vpp)
{
struct coda_mntinfo *mi = vftomi(vfsp);
int error;
- struct proc *p = td->td_proc;
+ struct proc *p;
+ struct thread *td;
CodaFid VFid;
static const CodaFid invalfid = INVAL_FID;
+ td = curthread;
+ p = td->td_proc;
ENTRY;
MARK_ENTRY(CODA_ROOT_STATS);
if (vfsp == mi->mi_vfsp) {
@@ -345,7 +347,7 @@ coda_root(struct mount *vfsp, int flags, struct vnode **vpp,
* Get filesystem statistics.
*/
int
-coda_statfs(struct mount *vfsp, struct statfs *sbp, struct thread *td)
+coda_statfs(struct mount *vfsp, struct statfs *sbp)
{
ENTRY;
@@ -377,7 +379,7 @@ coda_statfs(struct mount *vfsp, struct statfs *sbp, struct thread *td)
* Flush any pending I/O.
*/
int
-coda_sync(struct mount *vfsp, int waitfor, struct thread *td)
+coda_sync(struct mount *vfsp, int waitfor)
{
ENTRY;
diff --git a/sys/fs/devfs/devfs.h b/sys/fs/devfs/devfs.h
index 1050ba5..524bec8 100644
--- a/sys/fs/devfs/devfs.h
+++ b/sys/fs/devfs/devfs.h
@@ -172,7 +172,8 @@ extern unsigned devfs_rule_depth;
void devfs_rules_apply(struct devfs_mount *dm, struct devfs_dirent *de);
void devfs_rules_cleanup (struct devfs_mount *dm);
int devfs_rules_ioctl(struct devfs_mount *dm, u_long cmd, caddr_t data, struct thread *td);
-int devfs_allocv (struct devfs_dirent *de, struct mount *mp, struct vnode **vpp, struct thread *td);
+int devfs_allocv (struct devfs_dirent *de, struct mount *mp,
+ struct vnode **vpp);
void devfs_delete(struct devfs_mount *dm, struct devfs_dirent *de, int vp_locked);
void devfs_dirent_free(struct devfs_dirent *de);
void devfs_populate (struct devfs_mount *dm);
diff --git a/sys/fs/devfs/devfs_vfsops.c b/sys/fs/devfs/devfs_vfsops.c
index 9a9bc38..ff86e36 100644
--- a/sys/fs/devfs/devfs_vfsops.c
+++ b/sys/fs/devfs/devfs_vfsops.c
@@ -60,7 +60,7 @@ static vfs_statfs_t devfs_statfs;
* Mount the filesystem
*/
static int
-devfs_mount(struct mount *mp, struct thread *td)
+devfs_mount(struct mount *mp)
{
int error;
struct devfs_mount *fmp;
@@ -92,7 +92,7 @@ devfs_mount(struct mount *mp, struct thread *td)
fmp->dm_rootdir = devfs_vmkdir(fmp, NULL, 0, NULL, DEVFS_ROOTINO);
- error = devfs_root(mp, LK_EXCLUSIVE, &rvp, td);
+ error = devfs_root(mp, LK_EXCLUSIVE, &rvp);
if (error) {
sx_destroy(&fmp->dm_lock);
free_unr(devfs_unr, fmp->dm_idx);
@@ -115,7 +115,7 @@ devfs_unmount_final(struct devfs_mount *fmp)
}
static int
-devfs_unmount(struct mount *mp, int mntflags, struct thread *td)
+devfs_unmount(struct mount *mp, int mntflags)
{
int error;
int flags = 0;
@@ -127,7 +127,7 @@ devfs_unmount(struct mount *mp, int mntflags, struct thread *td)
KASSERT(fmp->dm_mount != NULL,
("devfs_unmount unmounted devfs_mount"));
/* There is 1 extra root vnode reference from devfs_mount(). */
- error = vflush(mp, 1, flags, td);
+ error = vflush(mp, 1, flags, curthread);
if (error)
return (error);
sx_xlock(&fmp->dm_lock);
@@ -147,7 +147,7 @@ devfs_unmount(struct mount *mp, int mntflags, struct thread *td)
/* Return locked reference to root. */
static int
-devfs_root(struct mount *mp, int flags, struct vnode **vpp, struct thread *td)
+devfs_root(struct mount *mp, int flags, struct vnode **vpp)
{
int error;
struct vnode *vp;
@@ -155,7 +155,7 @@ devfs_root(struct mount *mp, int flags, struct vnode **vpp, struct thread *td)
dmp = VFSTODEVFS(mp);
sx_xlock(&dmp->dm_lock);
- error = devfs_allocv(dmp->dm_rootdir, mp, &vp, td);
+ error = devfs_allocv(dmp->dm_rootdir, mp, &vp);
if (error)
return (error);
vp->v_vflag |= VV_ROOT;
@@ -164,7 +164,7 @@ devfs_root(struct mount *mp, int flags, struct vnode **vpp, struct thread *td)
}
static int
-devfs_statfs(struct mount *mp, struct statfs *sbp, struct thread *td)
+devfs_statfs(struct mount *mp, struct statfs *sbp)
{
sbp->f_flags = 0;
diff --git a/sys/fs/devfs/devfs_vnops.c b/sys/fs/devfs/devfs_vnops.c
index 215f943..ece9559 100644
--- a/sys/fs/devfs/devfs_vnops.c
+++ b/sys/fs/devfs/devfs_vnops.c
@@ -330,14 +330,13 @@ devfs_insmntque_dtr(struct vnode *vp, void *arg)
* it on return.
*/
int
-devfs_allocv(struct devfs_dirent *de, struct mount *mp, struct vnode **vpp, struct thread *td)
+devfs_allocv(struct devfs_dirent *de, struct mount *mp, struct vnode **vpp)
{
int error;
struct vnode *vp;
struct cdev *dev;
struct devfs_mount *dmp;
- KASSERT(td == curthread, ("devfs_allocv: td != curthread"));
dmp = VFSTODEVFS(mp);
if (de->de_flags & DE_DOOMED) {
sx_xunlock(&dmp->dm_lock);
@@ -351,7 +350,7 @@ devfs_allocv(struct devfs_dirent *de, struct mount *mp, struct vnode **vpp, stru
VI_LOCK(vp);
mtx_unlock(&devfs_de_interlock);
sx_xunlock(&dmp->dm_lock);
- error = vget(vp, LK_EXCLUSIVE | LK_INTERLOCK, td);
+ error = vget(vp, LK_EXCLUSIVE | LK_INTERLOCK, curthread);
sx_xlock(&dmp->dm_lock);
if (devfs_allocv_drop_refs(0, dmp, de)) {
if (error == 0)
@@ -761,7 +760,7 @@ devfs_lookupx(struct vop_lookup_args *ap, int *dm_unlock)
de = TAILQ_FIRST(&dd->de_dlist); /* "." */
de = TAILQ_NEXT(de, de_list); /* ".." */
de = de->de_dir;
- error = devfs_allocv(de, dvp->v_mount, vpp, td);
+ error = devfs_allocv(de, dvp->v_mount, vpp);
*dm_unlock = 0;
vn_lock(dvp, LK_EXCLUSIVE | LK_RETRY);
return (error);
@@ -844,7 +843,7 @@ devfs_lookupx(struct vop_lookup_args *ap, int *dm_unlock)
return (0);
}
}
- error = devfs_allocv(de, dvp->v_mount, vpp, td);
+ error = devfs_allocv(de, dvp->v_mount, vpp);
*dm_unlock = 0;
return (error);
}
@@ -870,7 +869,6 @@ devfs_mknod(struct vop_mknod_args *ap)
{
struct componentname *cnp;
struct vnode *dvp, **vpp;
- struct thread *td;
struct devfs_dirent *dd, *de;
struct devfs_mount *dmp;
int error;
@@ -886,7 +884,6 @@ devfs_mknod(struct vop_mknod_args *ap)
cnp = ap->a_cnp;
vpp = ap->a_vpp;
- td = cnp->cn_thread;
dd = dvp->v_data;
error = ENOENT;
@@ -904,7 +901,7 @@ devfs_mknod(struct vop_mknod_args *ap)
if (de == NULL)
goto notfound;
de->de_flags &= ~DE_WHITEOUT;
- error = devfs_allocv(de, dvp->v_mount, vpp, td);
+ error = devfs_allocv(de, dvp->v_mount, vpp);
return (error);
notfound:
sx_xunlock(&dmp->dm_lock);
@@ -1427,12 +1424,8 @@ devfs_symlink(struct vop_symlink_args *ap)
struct devfs_dirent *dd;
struct devfs_dirent *de;
struct devfs_mount *dmp;
- struct thread *td;
-
- td = ap->a_cnp->cn_thread;
- KASSERT(td == curthread, ("devfs_symlink: td != curthread"));
- error = priv_check(td, PRIV_DEVFS_SYMLINK);
+ error = priv_check(curthread, PRIV_DEVFS_SYMLINK);
if (error)
return(error);
dmp = VFSTODEVFS(ap->a_dvp->v_mount);
@@ -1451,7 +1444,7 @@ devfs_symlink(struct vop_symlink_args *ap)
mac_devfs_create_symlink(ap->a_cnp->cn_cred, dmp->dm_mount, dd, de);
#endif
TAILQ_INSERT_TAIL(&dd->de_dlist, de, de_list);
- return (devfs_allocv(de, ap->a_dvp->v_mount, ap->a_vpp, td));
+ return (devfs_allocv(de, ap->a_dvp->v_mount, ap->a_vpp));
}
static int
diff --git a/sys/fs/fdescfs/fdesc.h b/sys/fs/fdescfs/fdesc.h
index 06f53fb..477193a 100644
--- a/sys/fs/fdescfs/fdesc.h
+++ b/sys/fs/fdescfs/fdesc.h
@@ -65,5 +65,5 @@ extern struct mtx fdesc_hashmtx;
extern vfs_init_t fdesc_init;
extern vfs_uninit_t fdesc_uninit;
extern int fdesc_allocvp(fdntype, unsigned, int, struct mount *,
- struct vnode **, struct thread *);
+ struct vnode **);
#endif /* _KERNEL */
diff --git a/sys/fs/fdescfs/fdesc_vfsops.c b/sys/fs/fdescfs/fdesc_vfsops.c
index 9651313..fdbcaba 100644
--- a/sys/fs/fdescfs/fdesc_vfsops.c
+++ b/sys/fs/fdescfs/fdesc_vfsops.c
@@ -64,7 +64,7 @@ static vfs_root_t fdesc_root;
* Compatibility shim for old mount(2) system call.
*/
int
-fdesc_cmount(struct mntarg *ma, void *data, int flags, struct thread *td)
+fdesc_cmount(struct mntarg *ma, void *data, int flags)
{
return kernel_mount(ma, flags);
}
@@ -73,7 +73,7 @@ fdesc_cmount(struct mntarg *ma, void *data, int flags, struct thread *td)
* Mount the per-process file descriptors (/dev/fd)
*/
static int
-fdesc_mount(struct mount *mp, struct thread *td)
+fdesc_mount(struct mount *mp)
{
int error = 0;
struct fdescmount *fmp;
@@ -94,7 +94,7 @@ fdesc_mount(struct mount *mp, struct thread *td)
*/
mp->mnt_data = (qaddr_t) fmp;
fmp->flags = 0;
- error = fdesc_allocvp(Froot, -1, FD_ROOT, mp, &rvp, td);
+ error = fdesc_allocvp(Froot, -1, FD_ROOT, mp, &rvp);
if (error) {
free(fmp, M_FDESCMNT);
mp->mnt_data = 0;
@@ -116,10 +116,9 @@ fdesc_mount(struct mount *mp, struct thread *td)
}
static int
-fdesc_unmount(mp, mntflags, td)
+fdesc_unmount(mp, mntflags)
struct mount *mp;
int mntflags;
- struct thread *td;
{
struct fdescmount *fmp;
caddr_t data;
@@ -143,7 +142,7 @@ fdesc_unmount(mp, mntflags, td)
* There is 1 extra root vnode reference corresponding
* to f_root.
*/
- if ((error = vflush(mp, 1, flags, td)) != 0)
+ if ((error = vflush(mp, 1, flags, curthread)) != 0)
return (error);
/*
@@ -160,11 +159,10 @@ fdesc_unmount(mp, mntflags, td)
}
static int
-fdesc_root(mp, flags, vpp, td)
+fdesc_root(mp, flags, vpp)
struct mount *mp;
int flags;
struct vnode **vpp;
- struct thread *td;
{
struct vnode *vp;
@@ -172,23 +170,25 @@ fdesc_root(mp, flags, vpp, td)
* Return locked reference to root.
*/
vp = VFSTOFDESC(mp)->f_root;
- vget(vp, LK_EXCLUSIVE | LK_RETRY, td);
+ vget(vp, LK_EXCLUSIVE | LK_RETRY, curthread);
*vpp = vp;
return (0);
}
static int
-fdesc_statfs(mp, sbp, td)
+fdesc_statfs(mp, sbp)
struct mount *mp;
struct statfs *sbp;
- struct thread *td;
{
+ struct thread *td;
struct filedesc *fdp;
int lim;
int i;
int last;
int freefd;
+ td = curthread;
+
/*
* Compute number of free file descriptors.
* [ Strange results will ensue if the open file
diff --git a/sys/fs/fdescfs/fdesc_vnops.c b/sys/fs/fdescfs/fdesc_vnops.c
index d1788ae..9857d93 100644
--- a/sys/fs/fdescfs/fdesc_vnops.c
+++ b/sys/fs/fdescfs/fdesc_vnops.c
@@ -145,20 +145,21 @@ fdesc_remove_entry(struct fdescnode *fd)
}
int
-fdesc_allocvp(ftype, fd_fd, ix, mp, vpp, td)
+fdesc_allocvp(ftype, fd_fd, ix, mp, vpp)
fdntype ftype;
unsigned fd_fd;
int ix;
struct mount *mp;
struct vnode **vpp;
- struct thread *td;
{
struct fdescmount *fmp;
struct fdhashhead *fc;
struct fdescnode *fd, *fd2;
struct vnode *vp, *vp2;
+ struct thread *td;
int error = 0;
+ td = curthread;
fc = FD_NHASH(ix);
loop:
mtx_lock(&fdesc_hashmtx);
@@ -328,7 +329,7 @@ fdesc_lookup(ap)
vhold(dvp);
VOP_UNLOCK(dvp, 0);
error = fdesc_allocvp(Fdesc, fd, FD_DESC + fd, dvp->v_mount,
- &fvp, td);
+ &fvp);
fdrop(fp, td);
/*
* The root vnode must be locked last to prevent deadlock condition.
diff --git a/sys/fs/hpfs/hpfs_vfsops.c b/sys/fs/hpfs/hpfs_vfsops.c
index a20614b..9aa95ff 100644
--- a/sys/fs/hpfs/hpfs_vfsops.c
+++ b/sys/fs/hpfs/hpfs_vfsops.c
@@ -73,8 +73,7 @@ static int
hpfs_cmount (
struct mntarg *ma,
void *data,
- int flags,
- struct thread *td )
+ int flags)
{
struct hpfs_args args;
int error;
@@ -103,16 +102,16 @@ static const char *hpfs_opts[] = {
};
static int
-hpfs_mount (
- struct mount *mp,
- struct thread *td )
+hpfs_mount (struct mount *mp)
{
int err = 0, error;
struct vnode *devvp;
+ struct thread *td;
struct nameidata ndp;
struct export_args export;
char *from;
+ td = curthread;
dprintf(("hpfs_omount():\n"));
/*
***
@@ -299,7 +298,7 @@ hpfs_mountfs(devvp, mp, td)
goto failed;
}
- error = hpfs_root(mp, LK_EXCLUSIVE, &vp, td);
+ error = hpfs_root(mp, LK_EXCLUSIVE, &vp);
if (error) {
hpfs_cpdeinit(hpmp);
hpfs_bmdeinit(hpmp);
@@ -331,8 +330,7 @@ failed:
static int
hpfs_unmount(
struct mount *mp,
- int mntflags,
- struct thread *td)
+ int mntflags)
{
int error, flags;
register struct hpfsmount *hpmp = VFSTOHPFS(mp);
@@ -345,7 +343,7 @@ hpfs_unmount(
dprintf(("hpfs_unmount: vflushing...\n"));
- error = vflush(mp, 0, flags, td);
+ error = vflush(mp, 0, flags, curthread);
if (error) {
printf("hpfs_unmount: vflush failed: %d\n",error);
return (error);
@@ -375,8 +373,7 @@ static int
hpfs_root(
struct mount *mp,
int flags,
- struct vnode **vpp,
- struct thread *td )
+ struct vnode **vpp)
{
int error = 0;
struct hpfsmount *hpmp = VFSTOHPFS(mp);
@@ -394,8 +391,7 @@ hpfs_root(
static int
hpfs_statfs(
struct mount *mp,
- struct statfs *sbp,
- struct thread *td)
+ struct statfs *sbp)
{
struct hpfsmount *hpmp = VFSTOHPFS(mp);
diff --git a/sys/fs/msdosfs/msdosfs_vfsops.c b/sys/fs/msdosfs/msdosfs_vfsops.c
index 2da25a7..8186763 100644
--- a/sys/fs/msdosfs/msdosfs_vfsops.c
+++ b/sys/fs/msdosfs/msdosfs_vfsops.c
@@ -184,7 +184,7 @@ update_mp(struct mount *mp, struct thread *td)
pmp->pm_flags |= MSDOSFSMNT_LONGNAME;
else {
if ((error =
- msdosfs_root(mp, LK_EXCLUSIVE, &rootvp, td)) != 0)
+ msdosfs_root(mp, LK_EXCLUSIVE, &rootvp)) != 0)
return error;
pmp->pm_flags |= findwin95(VTODE(rootvp)) ?
MSDOSFSMNT_LONGNAME : MSDOSFSMNT_SHORTNAME;
@@ -195,7 +195,7 @@ update_mp(struct mount *mp, struct thread *td)
}
static int
-msdosfs_cmount(struct mntarg *ma, void *data, int flags, struct thread *td)
+msdosfs_cmount(struct mntarg *ma, void *data, int flags)
{
struct msdosfs_args args;
int error;
@@ -233,9 +233,10 @@ msdosfs_cmount(struct mntarg *ma, void *data, int flags, struct thread *td)
* special file to treat as a filesystem.
*/
static int
-msdosfs_mount(struct mount *mp, struct thread *td)
+msdosfs_mount(struct mount *mp)
{
struct vnode *devvp; /* vnode for blk device to mount */
+ struct thread *td;
/* msdosfs specific mount control block */
struct msdosfsmount *pmp = NULL;
struct nameidata ndp;
@@ -243,6 +244,7 @@ msdosfs_mount(struct mount *mp, struct thread *td)
accmode_t accmode;
char *from;
+ td = curthread;
if (vfs_filteropt(mp->mnt_optnew, msdosfs_opts))
return (EINVAL);
@@ -265,7 +267,7 @@ msdosfs_mount(struct mount *mp, struct thread *td)
}
if (!(pmp->pm_flags & MSDOSFSMNT_RONLY) &&
vfs_flagopt(mp->mnt_optnew, "ro", NULL, 0)) {
- error = VFS_SYNC(mp, MNT_WAIT, td);
+ error = VFS_SYNC(mp, MNT_WAIT);
if (error)
return (error);
flags = WRITECLOSE;
@@ -392,7 +394,7 @@ msdosfs_mount(struct mount *mp, struct thread *td)
error = update_mp(mp, td);
if (error) {
if ((mp->mnt_flag & MNT_UPDATE) == 0)
- msdosfs_unmount(mp, MNT_FORCE, td);
+ msdosfs_unmount(mp, MNT_FORCE);
return error;
}
@@ -774,7 +776,7 @@ error_exit:
* Unmount the filesystem described by mp.
*/
static int
-msdosfs_unmount(struct mount *mp, int mntflags, struct thread *td)
+msdosfs_unmount(struct mount *mp, int mntflags)
{
struct msdosfsmount *pmp;
int error, flags;
@@ -782,7 +784,7 @@ msdosfs_unmount(struct mount *mp, int mntflags, struct thread *td)
flags = 0;
if (mntflags & MNT_FORCE)
flags |= FORCECLOSE;
- error = vflush(mp, 0, flags, td);
+ error = vflush(mp, 0, flags, curthread);
if (error && error != ENXIO)
return error;
pmp = VFSTOMSDOSFS(mp);
@@ -844,7 +846,7 @@ msdosfs_unmount(struct mount *mp, int mntflags, struct thread *td)
}
static int
-msdosfs_root(struct mount *mp, int flags, struct vnode **vpp, struct thread *td)
+msdosfs_root(struct mount *mp, int flags, struct vnode **vpp)
{
struct msdosfsmount *pmp = VFSTOMSDOSFS(mp);
struct denode *ndep;
@@ -861,7 +863,7 @@ msdosfs_root(struct mount *mp, int flags, struct vnode **vpp, struct thread *td)
}
static int
-msdosfs_statfs(struct mount *mp, struct statfs *sbp, struct thread *td)
+msdosfs_statfs(struct mount *mp, struct statfs *sbp)
{
struct msdosfsmount *pmp;
@@ -877,13 +879,16 @@ msdosfs_statfs(struct mount *mp, struct statfs *sbp, struct thread *td)
}
static int
-msdosfs_sync(struct mount *mp, int waitfor, struct thread *td)
+msdosfs_sync(struct mount *mp, int waitfor)
{
struct vnode *vp, *nvp;
+ struct thread *td;
struct denode *dep;
struct msdosfsmount *pmp = VFSTOMSDOSFS(mp);
int error, allerror = 0;
+ td = curthread;
+
/*
* If we ever switch to not updating all of the fats all the time,
* this would be the place to update them from the first one.
diff --git a/sys/fs/nfs/nfs_commonsubs.c b/sys/fs/nfs/nfs_commonsubs.c
index bb19902..a398a72 100644
--- a/sys/fs/nfs/nfs_commonsubs.c
+++ b/sys/fs/nfs/nfs_commonsubs.c
@@ -1446,7 +1446,7 @@ nfsv4_loadattr(struct nfsrv_descript *nd, vnode_t vp,
savuid = p->p_cred->p_ruid;
p->p_cred->p_ruid = cred->cr_uid;
if (!VFS_QUOTACTL(vnode_mount(vp),QCMD(Q_GETQUOTA,
- USRQUOTA), cred->cr_uid, (caddr_t)&dqb, p))
+ USRQUOTA), cred->cr_uid, (caddr_t)&dqb))
freenum = min(dqb.dqb_bhardlimit, freenum);
p->p_cred->p_ruid = savuid;
#endif /* QUOTA */
@@ -1475,7 +1475,7 @@ nfsv4_loadattr(struct nfsrv_descript *nd, vnode_t vp,
savuid = p->p_cred->p_ruid;
p->p_cred->p_ruid = cred->cr_uid;
if (!VFS_QUOTACTL(vnode_mount(vp),QCMD(Q_GETQUOTA,
- USRQUOTA), cred->cr_uid, (caddr_t)&dqb, p))
+ USRQUOTA), cred->cr_uid, (caddr_t)&dqb))
freenum = min(dqb.dqb_bsoftlimit, freenum);
p->p_cred->p_ruid = savuid;
#endif /* QUOTA */
@@ -1501,7 +1501,7 @@ nfsv4_loadattr(struct nfsrv_descript *nd, vnode_t vp,
savuid = p->p_cred->p_ruid;
p->p_cred->p_ruid = cred->cr_uid;
if (!VFS_QUOTACTL(vnode_mount(vp),QCMD(Q_GETQUOTA,
- USRQUOTA), cred->cr_uid, (caddr_t)&dqb, p))
+ USRQUOTA), cred->cr_uid, (caddr_t)&dqb))
freenum = dqb.dqb_curblocks;
p->p_cred->p_ruid = savuid;
#endif /* QUOTA */
@@ -1943,7 +1943,7 @@ nfsv4_fillattr(struct nfsrv_descript *nd, vnode_t vp, NFSACL_T *saclp,
* Get the VFS_STATFS(), since some attributes need them.
*/
if (NFSISSETSTATFS_ATTRBIT(retbitp)) {
- error = VFS_STATFS(vnode_mount(vp), &fs, p);
+ error = VFS_STATFS(vnode_mount(vp), &fs);
if (error != 0) {
if (reterr) {
nd->nd_repstat = NFSERR_ACCES;
@@ -2138,7 +2138,7 @@ nfsv4_fillattr(struct nfsrv_descript *nd, vnode_t vp, NFSACL_T *saclp,
savuid = p->p_cred->p_ruid;
p->p_cred->p_ruid = cred->cr_uid;
if (!VFS_QUOTACTL(vnode_mount(vp),QCMD(Q_GETQUOTA,USRQUOTA),
- cred->cr_uid, (caddr_t)&dqb, p))
+ cred->cr_uid, (caddr_t)&dqb))
freenum = min(dqb.dqb_isoftlimit-dqb.dqb_curinodes,
freenum);
p->p_cred->p_ruid = savuid;
@@ -2245,7 +2245,7 @@ nfsv4_fillattr(struct nfsrv_descript *nd, vnode_t vp, NFSACL_T *saclp,
savuid = p->p_cred->p_ruid;
p->p_cred->p_ruid = cred->cr_uid;
if (!VFS_QUOTACTL(vnode_mount(vp),QCMD(Q_GETQUOTA,USRQUOTA),
- cred->cr_uid, (caddr_t)&dqb, p))
+ cred->cr_uid, (caddr_t)&dqb))
freenum = min(dqb.dqb_bhardlimit, freenum);
p->p_cred->p_ruid = savuid;
#endif /* QUOTA */
@@ -2269,7 +2269,7 @@ nfsv4_fillattr(struct nfsrv_descript *nd, vnode_t vp, NFSACL_T *saclp,
savuid = p->p_cred->p_ruid;
p->p_cred->p_ruid = cred->cr_uid;
if (!VFS_QUOTACTL(vnode_mount(vp),QCMD(Q_GETQUOTA,USRQUOTA),
- cred->cr_uid, (caddr_t)&dqb, p))
+ cred->cr_uid, (caddr_t)&dqb))
freenum = min(dqb.dqb_bsoftlimit, freenum);
p->p_cred->p_ruid = savuid;
#endif /* QUOTA */
@@ -2290,7 +2290,7 @@ nfsv4_fillattr(struct nfsrv_descript *nd, vnode_t vp, NFSACL_T *saclp,
savuid = p->p_cred->p_ruid;
p->p_cred->p_ruid = cred->cr_uid;
if (!VFS_QUOTACTL(vnode_mount(vp),QCMD(Q_GETQUOTA,USRQUOTA),
- cred->cr_uid, (caddr_t)&dqb, p))
+ cred->cr_uid, (caddr_t)&dqb))
freenum = dqb.dqb_curblocks;
p->p_cred->p_ruid = savuid;
#endif /* QUOTA */
diff --git a/sys/fs/nfs/nfs_var.h b/sys/fs/nfs/nfs_var.h
index 64b1e90..b41e0a6 100644
--- a/sys/fs/nfs/nfs_var.h
+++ b/sys/fs/nfs/nfs_var.h
@@ -558,7 +558,7 @@ int nfsvno_rename(struct nameidata *, struct nameidata *, u_int32_t,
int nfsvno_link(struct nameidata *, vnode_t, struct ucred *,
NFSPROC_T *, struct nfsexstuff *);
int nfsvno_fsync(vnode_t, u_int64_t, int, struct ucred *, NFSPROC_T *);
-int nfsvno_statfs(vnode_t, struct statfs *, struct ucred *, NFSPROC_T *);
+int nfsvno_statfs(vnode_t, struct statfs *);
void nfsvno_getfs(struct nfsfsinfo *, int);
void nfsvno_open(struct nfsrv_descript *, struct nameidata *, nfsquad_t,
nfsv4stateid_t *, struct nfsstate *, int *, struct nfsvattr *, u_char *,
diff --git a/sys/fs/nfsclient/nfs_clvfsops.c b/sys/fs/nfsclient/nfs_clvfsops.c
index 1ceba85..66ea55b 100644
--- a/sys/fs/nfsclient/nfs_clvfsops.c
+++ b/sys/fs/nfsclient/nfs_clvfsops.c
@@ -244,9 +244,10 @@ nfs_convert_diskless(void)
* nfs statfs call
*/
static int
-nfs_statfs(struct mount *mp, struct statfs *sbp, struct thread *td)
+nfs_statfs(struct mount *mp, struct statfs *sbp)
{
struct vnode *vp;
+ struct thread *td;
struct nfsmount *nmp = VFSTONFS(mp);
struct nfsvattr nfsva;
struct nfsfsinfo fs;
@@ -254,6 +255,8 @@ nfs_statfs(struct mount *mp, struct statfs *sbp, struct thread *td)
int error = 0, attrflag, gotfsinfo = 0, ret;
struct nfsnode *np;
+ td = curthread;
+
error = vfs_busy(mp, MBF_NOWAIT);
if (error)
return (error);
@@ -659,7 +662,7 @@ static const char *nfs_opts[] = { "from", "nfs_args",
*/
/* ARGSUSED */
static int
-nfs_mount(struct mount *mp, struct thread *td)
+nfs_mount(struct mount *mp)
{
struct nfs_args args = {
.version = NFS_ARGSVERSION,
@@ -689,6 +692,7 @@ nfs_mount(struct mount *mp, struct thread *td)
int error;
struct sockaddr *nam;
struct vnode *vp;
+ struct thread *td;
char hst[MNAMELEN];
size_t len;
u_char nfh[NFSX_FHMAX], krbname[100], dirpath[100], srvkrbname[100];
@@ -698,6 +702,7 @@ nfs_mount(struct mount *mp, struct thread *td)
goto out;
}
+ td = curthread;
if ((mp->mnt_flag & (MNT_ROOTFS | MNT_UPDATE)) == MNT_ROOTFS) {
error = ncl_mountroot(mp, td);
goto out;
@@ -835,7 +840,7 @@ out:
*/
/* ARGSUSED */
static int
-nfs_cmount(struct mntarg *ma, void *data, int flags, struct thread *td)
+nfs_cmount(struct mntarg *ma, void *data, int flags)
{
int error;
struct nfs_args args;
@@ -1069,11 +1074,14 @@ bad:
* unmount system call
*/
static int
-nfs_unmount(struct mount *mp, int mntflags, struct thread *td)
+nfs_unmount(struct mount *mp, int mntflags)
{
+ struct thread *td;
struct nfsmount *nmp;
int error, flags = 0, trycnt = 0;
+ td = curthread;
+
if (mntflags & MNT_FORCE)
flags |= FORCECLOSE;
nmp = VFSTONFS(mp);
@@ -1120,7 +1128,7 @@ out:
* Return root of a filesystem
*/
static int
-nfs_root(struct mount *mp, int flags, struct vnode **vpp, struct thread *td)
+nfs_root(struct mount *mp, int flags, struct vnode **vpp)
{
struct vnode *vp;
struct nfsmount *nmp;
@@ -1153,11 +1161,14 @@ nfs_root(struct mount *mp, int flags, struct vnode **vpp, struct thread *td)
*/
/* ARGSUSED */
static int
-nfs_sync(struct mount *mp, int waitfor, struct thread *td)
+nfs_sync(struct mount *mp, int waitfor)
{
struct vnode *vp, *mvp;
+ struct thread *td;
int error, allerror = 0;
+ td = curthread;
+
/*
* Force stale buffer cache information to be flushed.
*/
diff --git a/sys/fs/nfsserver/nfs_nfsdport.c b/sys/fs/nfsserver/nfs_nfsdport.c
index 09a1d73..5dbb21d 100644
--- a/sys/fs/nfsserver/nfs_nfsdport.c
+++ b/sys/fs/nfsserver/nfs_nfsdport.c
@@ -1257,13 +1257,10 @@ nfsvno_fsync(struct vnode *vp, u_int64_t off, int cnt, struct ucred *cred,
* Statfs vnode op.
*/
int
-nfsvno_statfs(struct vnode *vp, struct statfs *sf, struct ucred *cred,
- struct thread *p)
+nfsvno_statfs(struct vnode *vp, struct statfs *sf)
{
- int error;
- error = VFS_STATFS(vp->v_mount, sf, p);
- return (error);
+ return (VFS_STATFS(vp->v_mount, sf));
}
/*
diff --git a/sys/fs/nfsserver/nfs_nfsdserv.c b/sys/fs/nfsserver/nfs_nfsdserv.c
index 141a614..61c646c 100644
--- a/sys/fs/nfsserver/nfs_nfsdserv.c
+++ b/sys/fs/nfsserver/nfs_nfsdserv.c
@@ -1907,7 +1907,7 @@ nfsrvd_statfs(struct nfsrv_descript *nd, __unused int isdgram,
return (0);
}
sf = &sfs;
- nd->nd_repstat = nfsvno_statfs(vp, sf, nd->nd_cred, p);
+ nd->nd_repstat = nfsvno_statfs(vp, sf);
getret = nfsvno_getattr(vp, &at, nd->nd_cred, p);
vput(vp);
if (nd->nd_flag & ND_NFSV3)
@@ -3285,7 +3285,7 @@ nfsrvd_verify(struct nfsrv_descript *nd, int isdgram,
nd->nd_repstat = nfsvno_getattr(vp, &nva, nd->nd_cred, p);
if (!nd->nd_repstat)
- nd->nd_repstat = nfsvno_statfs(vp, &sf, nd->nd_cred, p);
+ nd->nd_repstat = nfsvno_statfs(vp, &sf);
if (!nd->nd_repstat)
nd->nd_repstat = nfsvno_getfh(vp, &fh, p);
if (!nd->nd_repstat) {
diff --git a/sys/fs/ntfs/ntfs_vfsops.c b/sys/fs/ntfs/ntfs_vfsops.c
index 7b57949..07dc2dd 100644
--- a/sys/fs/ntfs/ntfs_vfsops.c
+++ b/sys/fs/ntfs/ntfs_vfsops.c
@@ -117,8 +117,7 @@ static int
ntfs_cmount (
struct mntarg *ma,
void *data,
- int flags,
- struct thread *td )
+ int flags)
{
int error;
struct ntfs_args args;
@@ -149,9 +148,7 @@ static const char *ntfs_opts[] = {
};
static int
-ntfs_mount (
- struct mount *mp,
- struct thread *td )
+ntfs_mount (struct mount *mp)
{
int err = 0, error;
struct vnode *devvp;
@@ -184,7 +181,7 @@ ntfs_mount (
* Not an update, or updating the name: look up the name
* and verify that it refers to a sensible block device.
*/
- NDINIT(&ndp, LOOKUP, FOLLOW | LOCKLEAF, UIO_SYSSPACE, from, td);
+ NDINIT(&ndp, LOOKUP, FOLLOW | LOCKLEAF, UIO_SYSSPACE, from, curthread);
err = namei(&ndp);
if (err) {
/* can't get devvp!*/
@@ -231,7 +228,7 @@ ntfs_mount (
/* Save "mounted from" info for mount point (NULL pad)*/
vfs_mountedfrom(mp, from);
- err = ntfs_mountfs(devvp, mp, td);
+ err = ntfs_mountfs(devvp, mp, curthread);
}
if (err) {
vrele(devvp);
@@ -471,13 +468,14 @@ out:
static int
ntfs_unmount(
struct mount *mp,
- int mntflags,
- struct thread *td)
+ int mntflags)
{
+ struct thread *td;
struct ntfsmount *ntmp;
int error, flags, i;
dprintf(("ntfs_unmount: unmounting...\n"));
+ td = curthread;
ntmp = VFSTONTFS(mp);
flags = 0;
@@ -534,8 +532,7 @@ static int
ntfs_root(
struct mount *mp,
int flags,
- struct vnode **vpp,
- struct thread *td )
+ struct vnode **vpp)
{
struct vnode *nvp;
int error = 0;
@@ -587,8 +584,7 @@ ntfs_calccfree(
static int
ntfs_statfs(
struct mount *mp,
- struct statfs *sbp,
- struct thread *td)
+ struct statfs *sbp)
{
struct ntfsmount *ntmp = VFSTONTFS(mp);
u_int64_t mftsize,mftallocated;
diff --git a/sys/fs/nullfs/null_vfsops.c b/sys/fs/nullfs/null_vfsops.c
index 841c9ca..7bd4ab7 100644
--- a/sys/fs/nullfs/null_vfsops.c
+++ b/sys/fs/nullfs/null_vfsops.c
@@ -69,7 +69,7 @@ static vfs_extattrctl_t nullfs_extattrctl;
* Mount null layer
*/
static int
-nullfs_mount(struct mount *mp, struct thread *td)
+nullfs_mount(struct mount *mp)
{
int error = 0;
struct vnode *lowerrootvp, *vp;
@@ -115,8 +115,7 @@ nullfs_mount(struct mount *mp, struct thread *td)
/*
* Find lower node
*/
- NDINIT(ndp, LOOKUP, FOLLOW|LOCKLEAF,
- UIO_SYSSPACE, target, td);
+ NDINIT(ndp, LOOKUP, FOLLOW|LOCKLEAF, UIO_SYSSPACE, target, curthread);
error = namei(ndp);
/*
* Re-lock vnode.
@@ -200,10 +199,9 @@ nullfs_mount(struct mount *mp, struct thread *td)
* Free reference to null layer
*/
static int
-nullfs_unmount(mp, mntflags, td)
+nullfs_unmount(mp, mntflags)
struct mount *mp;
int mntflags;
- struct thread *td;
{
void *mntdata;
int error;
@@ -215,7 +213,7 @@ nullfs_unmount(mp, mntflags, td)
flags |= FORCECLOSE;
/* There is 1 extra root vnode reference (nullm_rootvp). */
- error = vflush(mp, 1, flags, td);
+ error = vflush(mp, 1, flags, curthread);
if (error)
return (error);
@@ -229,11 +227,10 @@ nullfs_unmount(mp, mntflags, td)
}
static int
-nullfs_root(mp, flags, vpp, td)
+nullfs_root(mp, flags, vpp)
struct mount *mp;
int flags;
struct vnode **vpp;
- struct thread *td;
{
struct vnode *vp;
@@ -257,21 +254,19 @@ nullfs_root(mp, flags, vpp, td)
}
static int
-nullfs_quotactl(mp, cmd, uid, arg, td)
+nullfs_quotactl(mp, cmd, uid, arg)
struct mount *mp;
int cmd;
uid_t uid;
void *arg;
- struct thread *td;
{
- return VFS_QUOTACTL(MOUNTTONULLMOUNT(mp)->nullm_vfs, cmd, uid, arg, td);
+ return VFS_QUOTACTL(MOUNTTONULLMOUNT(mp)->nullm_vfs, cmd, uid, arg);
}
static int
-nullfs_statfs(mp, sbp, td)
+nullfs_statfs(mp, sbp)
struct mount *mp;
struct statfs *sbp;
- struct thread *td;
{
int error;
struct statfs mstat;
@@ -282,7 +277,7 @@ nullfs_statfs(mp, sbp, td)
bzero(&mstat, sizeof(mstat));
- error = VFS_STATFS(MOUNTTONULLMOUNT(mp)->nullm_vfs, &mstat, td);
+ error = VFS_STATFS(MOUNTTONULLMOUNT(mp)->nullm_vfs, &mstat);
if (error)
return (error);
@@ -300,10 +295,9 @@ nullfs_statfs(mp, sbp, td)
}
static int
-nullfs_sync(mp, waitfor, td)
+nullfs_sync(mp, waitfor)
struct mount *mp;
int waitfor;
- struct thread *td;
{
/*
* XXX - Assumes no data cached at null layer.
@@ -341,16 +335,15 @@ nullfs_fhtovp(mp, fidp, vpp)
}
static int
-nullfs_extattrctl(mp, cmd, filename_vp, namespace, attrname, td)
+nullfs_extattrctl(mp, cmd, filename_vp, namespace, attrname)
struct mount *mp;
int cmd;
struct vnode *filename_vp;
int namespace;
const char *attrname;
- struct thread *td;
{
return VFS_EXTATTRCTL(MOUNTTONULLMOUNT(mp)->nullm_vfs, cmd, filename_vp,
- namespace, attrname, td);
+ namespace, attrname);
}
diff --git a/sys/fs/nwfs/nwfs_vfsops.c b/sys/fs/nwfs/nwfs_vfsops.c
index a7880b6..eed51c6 100644
--- a/sys/fs/nwfs/nwfs_vfsops.c
+++ b/sys/fs/nwfs/nwfs_vfsops.c
@@ -129,8 +129,7 @@ nwfs_initnls(struct nwmount *nmp) {
return 0;
}
-static int nwfs_cmount(struct mntarg *ma, void *data, int flags,
- struct thread *td)
+static int nwfs_cmount(struct mntarg *ma, void *data, int flags)
{
struct nwfs_args args; /* will hold data from mount request */
int error;
@@ -155,7 +154,7 @@ static int nwfs_cmount(struct mntarg *ma, void *data, int flags,
* mp - path - addr in user space of mount point (ie /usr or whatever)
* data - addr in user space of mount params
*/
-static int nwfs_mount(struct mount *mp, struct thread *td)
+static int nwfs_mount(struct mount *mp)
{
struct nwfs_args args; /* will hold data from mount request */
int error;
@@ -163,8 +162,10 @@ static int nwfs_mount(struct mount *mp, struct thread *td)
struct ncp_conn *conn = NULL;
struct ncp_handle *handle = NULL;
struct vnode *vp;
+ struct thread *td;
char *pc,*pe;
+ td = curthread;
if (mp->mnt_flag & MNT_ROOTFS)
return (EOPNOTSUPP);
if (mp->mnt_flag & MNT_UPDATE) {
@@ -224,7 +225,7 @@ static int nwfs_mount(struct mount *mp, struct thread *td)
/* protect against invalid mount points */
nmp->m.mount_point[sizeof(nmp->m.mount_point)-1] = '\0';
vfs_getnewfsid(mp);
- error = nwfs_root(mp, LK_EXCLUSIVE, &vp, td);
+ error = nwfs_root(mp, LK_EXCLUSIVE, &vp);
if (error)
goto bad;
/*
@@ -243,13 +244,15 @@ bad:
/* Unmount the filesystem described by mp. */
static int
-nwfs_unmount(struct mount *mp, int mntflags, struct thread *td)
+nwfs_unmount(struct mount *mp, int mntflags)
{
+ struct thread *td;
struct nwmount *nmp = VFSTONWFS(mp);
struct ncp_conn *conn;
int error, flags;
NCPVODEBUG("nwfs_unmount: flags=%04x\n",mntflags);
+ td = curthread;
flags = 0;
if (mntflags & MNT_FORCE)
flags |= FORCECLOSE;
@@ -275,16 +278,20 @@ nwfs_unmount(struct mount *mp, int mntflags, struct thread *td)
/* Return locked vnode to root of a filesystem */
static int
-nwfs_root(struct mount *mp, int flags, struct vnode **vpp, struct thread *td) {
+nwfs_root(struct mount *mp, int flags, struct vnode **vpp) {
struct vnode *vp;
struct nwmount *nmp;
struct nwnode *np;
struct ncp_conn *conn;
struct nw_entry_info fattr;
- struct ucred *cred = td->td_ucred;
+ struct thread *td;
+ struct ucred *cred;
int error, nsf, opt;
u_char vol;
+ td = curthread;
+ cred = td->td_ucred;
+
nmp = VFSTONWFS(mp);
conn = NWFSTOCONN(nmp);
if (nmp->n_root) {
@@ -371,12 +378,11 @@ nwfs_root(struct mount *mp, int flags, struct vnode **vpp, struct thread *td) {
*/
/* ARGSUSED */
static int
-nwfs_quotactl(mp, cmd, uid, arg, td)
+nwfs_quotactl(mp, cmd, uid, arg)
struct mount *mp;
int cmd;
uid_t uid;
void *arg;
- struct thread *td;
{
NCPVODEBUG("return EOPNOTSUPP\n");
return (EOPNOTSUPP);
@@ -406,12 +412,12 @@ nwfs_uninit(struct vfsconf *vfsp)
* nwfs_statfs call
*/
int
-nwfs_statfs(mp, sbp, td)
+nwfs_statfs(mp, sbp)
struct mount *mp;
struct statfs *sbp;
- struct thread *td;
{
struct nwmount *nmp = VFSTONWFS(mp);
+ struct thread *td = curthread;
int error = 0, secsize;
struct nwnode *np = nmp->n_root;
struct ncp_volume_info vi;
diff --git a/sys/fs/portalfs/portal_vfsops.c b/sys/fs/portalfs/portal_vfsops.c
index c2057c6..a8c16c4 100644
--- a/sys/fs/portalfs/portal_vfsops.c
+++ b/sys/fs/portalfs/portal_vfsops.c
@@ -68,7 +68,7 @@ static const char *portal_opts[] = {
};
static int
-portal_cmount(struct mntarg *ma, void *data, int flags, struct thread *td)
+portal_cmount(struct mntarg *ma, void *data, int flags)
{
struct portal_args args;
int error;
@@ -90,16 +90,18 @@ portal_cmount(struct mntarg *ma, void *data, int flags, struct thread *td)
* Mount the per-process file descriptors (/dev/fd)
*/
static int
-portal_mount(struct mount *mp, struct thread *td)
+portal_mount(struct mount *mp)
{
struct file *fp;
struct portalmount *fmp;
struct socket *so;
struct vnode *rvp;
+ struct thread *td;
struct portalnode *pn;
int error, v;
char *p;
+ td = curthread;
if (vfs_filteropt(mp->mnt_optnew, portal_opts))
return (EINVAL);
@@ -165,10 +167,9 @@ portal_mount(struct mount *mp, struct thread *td)
}
static int
-portal_unmount(mp, mntflags, td)
+portal_unmount(mp, mntflags)
struct mount *mp;
int mntflags;
- struct thread *td;
{
int error, flags = 0;
@@ -187,7 +188,7 @@ portal_unmount(mp, mntflags, td)
return (EBUSY);
#endif
/* There is 1 extra root vnode reference (pm_root). */
- error = vflush(mp, 1, flags, td);
+ error = vflush(mp, 1, flags, curthread);
if (error)
return (error);
@@ -211,11 +212,10 @@ portal_unmount(mp, mntflags, td)
}
static int
-portal_root(mp, flags, vpp, td)
+portal_root(mp, flags, vpp)
struct mount *mp;
int flags;
struct vnode **vpp;
- struct thread *td;
{
struct vnode *vp;
@@ -230,10 +230,9 @@ portal_root(mp, flags, vpp, td)
}
static int
-portal_statfs(mp, sbp, td)
+portal_statfs(mp, sbp)
struct mount *mp;
struct statfs *sbp;
- struct thread *td;
{
sbp->f_flags = 0;
diff --git a/sys/fs/pseudofs/pseudofs.c b/sys/fs/pseudofs/pseudofs.c
index f7a0426..f13aa83 100644
--- a/sys/fs/pseudofs/pseudofs.c
+++ b/sys/fs/pseudofs/pseudofs.c
@@ -299,7 +299,7 @@ pfs_destroy(struct pfs_node *pn)
* Mount a pseudofs instance
*/
int
-pfs_mount(struct pfs_info *pi, struct mount *mp, struct thread *td)
+pfs_mount(struct pfs_info *pi, struct mount *mp)
{
struct statfs *sbp;
@@ -330,7 +330,7 @@ pfs_mount(struct pfs_info *pi, struct mount *mp, struct thread *td)
* Compatibility shim for old mount(2) system call
*/
int
-pfs_cmount(struct mntarg *ma, void *data, int flags, struct thread *td)
+pfs_cmount(struct mntarg *ma, void *data, int flags)
{
int error;
@@ -342,11 +342,12 @@ pfs_cmount(struct mntarg *ma, void *data, int flags, struct thread *td)
* Unmount a pseudofs instance
*/
int
-pfs_unmount(struct mount *mp, int mntflags, struct thread *td)
+pfs_unmount(struct mount *mp, int mntflags)
{
int error;
- error = vflush(mp, 0, (mntflags & MNT_FORCE) ? FORCECLOSE : 0, td);
+ error = vflush(mp, 0, (mntflags & MNT_FORCE) ? FORCECLOSE : 0,
+ curthread);
return (error);
}
@@ -354,7 +355,7 @@ pfs_unmount(struct mount *mp, int mntflags, struct thread *td)
* Return a root vnode
*/
int
-pfs_root(struct mount *mp, int flags, struct vnode **vpp, struct thread *td)
+pfs_root(struct mount *mp, int flags, struct vnode **vpp)
{
struct pfs_info *pi;
@@ -366,7 +367,7 @@ pfs_root(struct mount *mp, int flags, struct vnode **vpp, struct thread *td)
* Return filesystem stats
*/
int
-pfs_statfs(struct mount *mp, struct statfs *sbp, struct thread *td)
+pfs_statfs(struct mount *mp, struct statfs *sbp)
{
/* no-op: always called with mp->mnt_stat */
return (0);
diff --git a/sys/fs/pseudofs/pseudofs.h b/sys/fs/pseudofs/pseudofs.h
index c9e1697..6dc5535 100644
--- a/sys/fs/pseudofs/pseudofs.h
+++ b/sys/fs/pseudofs/pseudofs.h
@@ -241,16 +241,12 @@ struct pfs_node {
/*
* VFS interface
*/
-int pfs_mount (struct pfs_info *pi, struct mount *mp,
- struct thread *td);
-int pfs_cmount (struct mntarg *ma, void *data, int flags,
- struct thread *td);
-int pfs_unmount (struct mount *mp, int mntflags,
- struct thread *td);
+int pfs_mount (struct pfs_info *pi, struct mount *mp);
+int pfs_cmount (struct mntarg *ma, void *data, int flags);
+int pfs_unmount (struct mount *mp, int mntflags);
int pfs_root (struct mount *mp, int flags,
- struct vnode **vpp, struct thread *td);
-int pfs_statfs (struct mount *mp, struct statfs *sbp,
- struct thread *td);
+ struct vnode **vpp);
+int pfs_statfs (struct mount *mp, struct statfs *sbp);
int pfs_init (struct pfs_info *pi, struct vfsconf *vfc);
int pfs_uninit (struct pfs_info *pi, struct vfsconf *vfc);
@@ -284,8 +280,8 @@ static struct pfs_info name##_info = { \
}; \
\
static int \
-_##name##_mount(struct mount *mp, struct thread *td) { \
- return pfs_mount(&name##_info, mp, td); \
+_##name##_mount(struct mount *mp) { \
+ return pfs_mount(&name##_info, mp); \
} \
\
static int \
diff --git a/sys/fs/smbfs/smbfs_vfsops.c b/sys/fs/smbfs/smbfs_vfsops.c
index 71b3960..b762bde 100644
--- a/sys/fs/smbfs/smbfs_vfsops.c
+++ b/sys/fs/smbfs/smbfs_vfsops.c
@@ -104,7 +104,7 @@ MODULE_DEPEND(smbfs, libmchain, 1, 1, 1);
int smbfs_pbuf_freecnt = -1; /* start out unlimited */
static int
-smbfs_cmount(struct mntarg *ma, void * data, int flags, struct thread *td)
+smbfs_cmount(struct mntarg *ma, void * data, int flags)
{
struct smbfs_args args;
int error;
@@ -143,16 +143,18 @@ static const char *smbfs_opts[] = {
};
static int
-smbfs_mount(struct mount *mp, struct thread *td)
+smbfs_mount(struct mount *mp)
{
struct smbmount *smp = NULL;
struct smb_vc *vcp;
struct smb_share *ssp = NULL;
struct vnode *vp;
+ struct thread *td;
struct smb_cred scred;
int error, v;
char *pc, *pe;
+ td = curthread;
if (mp->mnt_flag & (MNT_UPDATE | MNT_ROOTFS))
return EOPNOTSUPP;
@@ -249,7 +251,7 @@ smbfs_mount(struct mount *mp, struct thread *td)
}
}
vfs_getnewfsid(mp);
- error = smbfs_root(mp, LK_EXCLUSIVE, &vp, td);
+ error = smbfs_root(mp, LK_EXCLUSIVE, &vp);
if (error) {
vfs_mount_error(mp, "smbfs_root error: %d", error);
goto bad;
@@ -279,13 +281,15 @@ bad:
/* Unmount the filesystem described by mp. */
static int
-smbfs_unmount(struct mount *mp, int mntflags, struct thread *td)
+smbfs_unmount(struct mount *mp, int mntflags)
{
+ struct thread *td;
struct smbmount *smp = VFSTOSMBFS(mp);
struct smb_cred scred;
int error, flags;
SMBVDEBUG("smbfs_unmount: flags=%04x\n", mntflags);
+ td = curthread;
flags = 0;
if (mntflags & MNT_FORCE)
flags |= FORCECLOSE;
@@ -329,16 +333,20 @@ smbfs_unmount(struct mount *mp, int mntflags, struct thread *td)
* Return locked root vnode of a filesystem
*/
static int
-smbfs_root(struct mount *mp, int flags, struct vnode **vpp, struct thread *td)
+smbfs_root(struct mount *mp, int flags, struct vnode **vpp)
{
struct smbmount *smp = VFSTOSMBFS(mp);
struct vnode *vp;
struct smbnode *np;
struct smbfattr fattr;
- struct ucred *cred = td->td_ucred;
+ struct thread *td;
+ struct ucred *cred;
struct smb_cred scred;
int error;
+ td = curthread;
+ cred = td->td_ucred;
+
if (smp == NULL) {
SMBERROR("smp == NULL (bug in umount)\n");
vfs_mount_error(mp, "smp == NULL (bug in umount)");
@@ -368,12 +376,11 @@ smbfs_root(struct mount *mp, int flags, struct vnode **vpp, struct thread *td)
*/
/* ARGSUSED */
static int
-smbfs_quotactl(mp, cmd, uid, arg, td)
+smbfs_quotactl(mp, cmd, uid, arg)
struct mount *mp;
int cmd;
uid_t uid;
void *arg;
- struct thread *td;
{
SMBVDEBUG("return EOPNOTSUPP\n");
return EOPNOTSUPP;
@@ -404,8 +411,9 @@ smbfs_uninit(struct vfsconf *vfsp)
* smbfs_statfs call
*/
int
-smbfs_statfs(struct mount *mp, struct statfs *sbp, struct thread *td)
+smbfs_statfs(struct mount *mp, struct statfs *sbp)
{
+ struct thread *td = curthread;
struct smbmount *smp = VFSTOSMBFS(mp);
struct smbnode *np = smp->sm_root;
struct smb_share *ssp = smp->sm_share;
diff --git a/sys/fs/tmpfs/tmpfs.h b/sys/fs/tmpfs/tmpfs.h
index 1ae8ca6..ffd705f 100644
--- a/sys/fs/tmpfs/tmpfs.h
+++ b/sys/fs/tmpfs/tmpfs.h
@@ -394,14 +394,14 @@ struct tmpfs_fid {
int tmpfs_alloc_node(struct tmpfs_mount *, enum vtype,
uid_t uid, gid_t gid, mode_t mode, struct tmpfs_node *,
- char *, dev_t, struct thread *, struct tmpfs_node **);
+ char *, dev_t, struct tmpfs_node **);
void tmpfs_free_node(struct tmpfs_mount *, struct tmpfs_node *);
int tmpfs_alloc_dirent(struct tmpfs_mount *, struct tmpfs_node *,
const char *, uint16_t, struct tmpfs_dirent **);
void tmpfs_free_dirent(struct tmpfs_mount *, struct tmpfs_dirent *,
boolean_t);
int tmpfs_alloc_vp(struct mount *, struct tmpfs_node *, int,
- struct vnode **, struct thread *);
+ struct vnode **);
void tmpfs_free_vp(struct vnode *);
int tmpfs_alloc_file(struct vnode *, struct vnode **, struct vattr *,
struct componentname *, char *);
diff --git a/sys/fs/tmpfs/tmpfs_subr.c b/sys/fs/tmpfs/tmpfs_subr.c
index 3e5adf7..f2be735 100644
--- a/sys/fs/tmpfs/tmpfs_subr.c
+++ b/sys/fs/tmpfs/tmpfs_subr.c
@@ -82,7 +82,7 @@ __FBSDID("$FreeBSD$");
int
tmpfs_alloc_node(struct tmpfs_mount *tmp, enum vtype type,
uid_t uid, gid_t gid, mode_t mode, struct tmpfs_node *parent,
- char *target, dev_t rdev, struct thread *p, struct tmpfs_node **node)
+ char *target, dev_t rdev, struct tmpfs_node **node)
{
struct tmpfs_node *nnode;
@@ -303,7 +303,7 @@ tmpfs_free_dirent(struct tmpfs_mount *tmp, struct tmpfs_dirent *de,
*/
int
tmpfs_alloc_vp(struct mount *mp, struct tmpfs_node *node, int lkflag,
- struct vnode **vpp, struct thread *td)
+ struct vnode **vpp)
{
int error = 0;
struct vnode *vp;
@@ -314,7 +314,7 @@ loop:
VI_LOCK(vp);
TMPFS_NODE_UNLOCK(node);
vholdl(vp);
- (void) vget(vp, lkflag | LK_INTERLOCK | LK_RETRY, td);
+ (void) vget(vp, lkflag | LK_INTERLOCK | LK_RETRY, curthread);
vdrop(vp);
/*
@@ -482,8 +482,7 @@ tmpfs_alloc_file(struct vnode *dvp, struct vnode **vpp, struct vattr *vap,
/* Allocate a node that represents the new file. */
error = tmpfs_alloc_node(tmp, vap->va_type, cnp->cn_cred->cr_uid,
- dnode->tn_gid, vap->va_mode, parent, target, vap->va_rdev,
- cnp->cn_thread, &node);
+ dnode->tn_gid, vap->va_mode, parent, target, vap->va_rdev, &node);
if (error != 0)
goto out;
@@ -496,8 +495,7 @@ tmpfs_alloc_file(struct vnode *dvp, struct vnode **vpp, struct vattr *vap,
}
/* Allocate a vnode for the new file. */
- error = tmpfs_alloc_vp(dvp->v_mount, node, LK_EXCLUSIVE, vpp,
- cnp->cn_thread);
+ error = tmpfs_alloc_vp(dvp->v_mount, node, LK_EXCLUSIVE, vpp);
if (error != 0) {
tmpfs_free_dirent(tmp, de, TRUE);
tmpfs_free_node(tmp, node);
diff --git a/sys/fs/tmpfs/tmpfs_vfsops.c b/sys/fs/tmpfs/tmpfs_vfsops.c
index 264e19f..f0ae6be 100644
--- a/sys/fs/tmpfs/tmpfs_vfsops.c
+++ b/sys/fs/tmpfs/tmpfs_vfsops.c
@@ -68,12 +68,11 @@ MALLOC_DEFINE(M_TMPFSNAME, "tmpfs name", "tmpfs file names");
/* --------------------------------------------------------------------- */
-static int tmpfs_mount(struct mount *, struct thread *);
-static int tmpfs_unmount(struct mount *, int, struct thread *);
-static int tmpfs_root(struct mount *, int flags, struct vnode **,
- struct thread *);
+static int tmpfs_mount(struct mount *);
+static int tmpfs_unmount(struct mount *, int);
+static int tmpfs_root(struct mount *, int flags, struct vnode **);
static int tmpfs_fhtovp(struct mount *, struct fid *, struct vnode **);
-static int tmpfs_statfs(struct mount *, struct statfs *, struct thread *);
+static int tmpfs_statfs(struct mount *, struct statfs *);
/* --------------------------------------------------------------------- */
@@ -178,7 +177,7 @@ tmpfs_node_fini(void *mem, int size)
}
static int
-tmpfs_mount(struct mount *mp, struct thread *td)
+tmpfs_mount(struct mount *mp)
{
struct tmpfs_mount *tmp;
struct tmpfs_node *root;
@@ -278,7 +277,7 @@ tmpfs_mount(struct mount *mp, struct thread *td)
/* Allocate the root node. */
error = tmpfs_alloc_node(tmp, VDIR, root_uid,
root_gid, root_mode & ALLPERMS, NULL, NULL,
- VNOVAL, td, &root);
+ VNOVAL, &root);
if (error != 0 || root == NULL) {
uma_zdestroy(tmp->tm_node_pool);
@@ -307,7 +306,7 @@ tmpfs_mount(struct mount *mp, struct thread *td)
/* ARGSUSED2 */
static int
-tmpfs_unmount(struct mount *mp, int mntflags, struct thread *l)
+tmpfs_unmount(struct mount *mp, int mntflags)
{
int error;
int flags = 0;
@@ -319,7 +318,7 @@ tmpfs_unmount(struct mount *mp, int mntflags, struct thread *l)
flags |= FORCECLOSE;
/* Finalize all pending I/O. */
- error = vflush(mp, 0, flags, l);
+ error = vflush(mp, 0, flags, curthread);
if (error != 0)
return error;
@@ -374,10 +373,10 @@ tmpfs_unmount(struct mount *mp, int mntflags, struct thread *l)
/* --------------------------------------------------------------------- */
static int
-tmpfs_root(struct mount *mp, int flags, struct vnode **vpp, struct thread *td)
+tmpfs_root(struct mount *mp, int flags, struct vnode **vpp)
{
int error;
- error = tmpfs_alloc_vp(mp, VFS_TO_TMPFS(mp)->tm_root, flags, vpp, td);
+ error = tmpfs_alloc_vp(mp, VFS_TO_TMPFS(mp)->tm_root, flags, vpp);
if (!error)
(*vpp)->v_vflag |= VV_ROOT;
@@ -417,7 +416,7 @@ tmpfs_fhtovp(struct mount *mp, struct fid *fhp, struct vnode **vpp)
TMPFS_UNLOCK(tmp);
if (found)
- return (tmpfs_alloc_vp(mp, node, LK_EXCLUSIVE, vpp, curthread));
+ return (tmpfs_alloc_vp(mp, node, LK_EXCLUSIVE, vpp));
return (EINVAL);
}
@@ -426,7 +425,7 @@ tmpfs_fhtovp(struct mount *mp, struct fid *fhp, struct vnode **vpp)
/* ARGSUSED2 */
static int
-tmpfs_statfs(struct mount *mp, struct statfs *sbp, struct thread *l)
+tmpfs_statfs(struct mount *mp, struct statfs *sbp)
{
fsfilcnt_t freenodes;
struct tmpfs_mount *tmp;
diff --git a/sys/fs/tmpfs/tmpfs_vnops.c b/sys/fs/tmpfs/tmpfs_vnops.c
index 16dad1b..64114fa 100644
--- a/sys/fs/tmpfs/tmpfs_vnops.c
+++ b/sys/fs/tmpfs/tmpfs_vnops.c
@@ -67,7 +67,6 @@ tmpfs_lookup(struct vop_cachedlookup_args *v)
struct vnode *dvp = v->a_dvp;
struct vnode **vpp = v->a_vpp;
struct componentname *cnp = v->a_cnp;
- struct thread *td = cnp->cn_thread;
int error;
struct tmpfs_dirent *de;
@@ -77,7 +76,7 @@ tmpfs_lookup(struct vop_cachedlookup_args *v)
*vpp = NULLVP;
/* Check accessibility of requested node as a first step. */
- error = VOP_ACCESS(dvp, VEXEC, cnp->cn_cred, td);
+ error = VOP_ACCESS(dvp, VEXEC, cnp->cn_cred, cnp->cn_thread);
if (error != 0)
goto out;
@@ -94,7 +93,7 @@ tmpfs_lookup(struct vop_cachedlookup_args *v)
VOP_UNLOCK(dvp, 0);
/* Allocate a new vnode on the matching entry. */
error = tmpfs_alloc_vp(dvp->v_mount, dnode->tn_dir.tn_parent,
- cnp->cn_lkflags, vpp, td);
+ cnp->cn_lkflags, vpp);
vn_lock(dvp, ltype | LK_RETRY);
vdrop(dvp);
@@ -155,7 +154,7 @@ tmpfs_lookup(struct vop_cachedlookup_args *v)
/* Allocate a new vnode on the matching entry. */
error = tmpfs_alloc_vp(dvp->v_mount, tnode,
- cnp->cn_lkflags, vpp, td);
+ cnp->cn_lkflags, vpp);
if (error != 0)
goto out;
@@ -170,7 +169,7 @@ tmpfs_lookup(struct vop_cachedlookup_args *v)
cnp->cn_flags |= SAVENAME;
} else {
error = tmpfs_alloc_vp(dvp->v_mount, tnode,
- cnp->cn_lkflags, vpp, td);
+ cnp->cn_lkflags, vpp);
}
}
}
diff --git a/sys/fs/udf/udf_vfsops.c b/sys/fs/udf/udf_vfsops.c
index 8519a07..7be5384 100644
--- a/sys/fs/udf/udf_vfsops.c
+++ b/sys/fs/udf/udf_vfsops.c
@@ -186,15 +186,17 @@ udf_uninit(struct vfsconf *foo)
}
static int
-udf_mount(struct mount *mp, struct thread *td)
+udf_mount(struct mount *mp)
{
struct vnode *devvp; /* vnode of the mount device */
+ struct thread *td;
struct udf_mnt *imp = 0;
struct vfsoptlist *opts;
char *fspec, *cs_disk, *cs_local;
int error, len, *udf_flags;
struct nameidata nd, *ndp = &nd;
+ td = curthread;
opts = mp->mnt_optnew;
/*
@@ -510,7 +512,7 @@ bail:
};
static int
-udf_unmount(struct mount *mp, int mntflags, struct thread *td)
+udf_unmount(struct mount *mp, int mntflags)
{
struct udf_mnt *udfmp;
int error, flags = 0;
@@ -520,7 +522,7 @@ udf_unmount(struct mount *mp, int mntflags, struct thread *td)
if (mntflags & MNT_FORCE)
flags |= FORCECLOSE;
- if ((error = vflush(mp, 0, flags, td)))
+ if ((error = vflush(mp, 0, flags, curthread)))
return (error);
if (udfmp->im_flags & UDFMNT_KICONV && udf_iconv) {
@@ -554,7 +556,7 @@ udf_unmount(struct mount *mp, int mntflags, struct thread *td)
}
static int
-udf_root(struct mount *mp, int flags, struct vnode **vpp, struct thread *td)
+udf_root(struct mount *mp, int flags, struct vnode **vpp)
{
struct udf_mnt *udfmp;
ino_t id;
@@ -567,7 +569,7 @@ udf_root(struct mount *mp, int flags, struct vnode **vpp, struct thread *td)
}
static int
-udf_statfs(struct mount *mp, struct statfs *sbp, struct thread *td)
+udf_statfs(struct mount *mp, struct statfs *sbp)
{
struct udf_mnt *udfmp;
diff --git a/sys/fs/unionfs/union_vfsops.c b/sys/fs/unionfs/union_vfsops.c
index d74d1ea..604d4a3 100644
--- a/sys/fs/unionfs/union_vfsops.c
+++ b/sys/fs/unionfs/union_vfsops.c
@@ -70,12 +70,13 @@ static struct vfsops unionfs_vfsops;
* Mount unionfs layer.
*/
static int
-unionfs_domount(struct mount *mp, struct thread *td)
+unionfs_domount(struct mount *mp)
{
int error;
struct vnode *lowerrootvp;
struct vnode *upperrootvp;
struct unionfs_mount *ump;
+ struct thread *td;
char *target;
char *tmp;
char *ep;
@@ -103,6 +104,7 @@ unionfs_domount(struct mount *mp, struct thread *td)
copymode = UNIONFS_TRANSPARENT; /* default */
whitemode = UNIONFS_WHITE_ALWAYS;
ndp = &nd;
+ td = curthread;
if (mp->mnt_flag & MNT_ROOTFS) {
vfs_mount_error(mp, "Cannot union mount root filesystem");
@@ -343,7 +345,7 @@ unionfs_domount(struct mount *mp, struct thread *td)
* Free reference to unionfs layer
*/
static int
-unionfs_unmount(struct mount *mp, int mntflags, struct thread *td)
+unionfs_unmount(struct mount *mp, int mntflags)
{
struct unionfs_mount *ump;
int error;
@@ -360,7 +362,7 @@ unionfs_unmount(struct mount *mp, int mntflags, struct thread *td)
flags |= FORCECLOSE;
/* vflush (no need to call vrele) */
- for (freeing = 0; (error = vflush(mp, 1, flags, td)) != 0;) {
+ for (freeing = 0; (error = vflush(mp, 1, flags, curthread)) != 0;) {
num = mp->mnt_nvnodelistsize;
if (num == freeing)
break;
@@ -377,7 +379,7 @@ unionfs_unmount(struct mount *mp, int mntflags, struct thread *td)
}
static int
-unionfs_root(struct mount *mp, int flags, struct vnode **vpp, struct thread *td)
+unionfs_root(struct mount *mp, int flags, struct vnode **vpp)
{
struct unionfs_mount *ump;
struct vnode *vp;
@@ -398,8 +400,7 @@ unionfs_root(struct mount *mp, int flags, struct vnode **vpp, struct thread *td)
}
static int
-unionfs_quotactl(struct mount *mp, int cmd, uid_t uid, void *arg,
- struct thread *td)
+unionfs_quotactl(struct mount *mp, int cmd, uid_t uid, void *arg)
{
struct unionfs_mount *ump;
@@ -408,11 +409,11 @@ unionfs_quotactl(struct mount *mp, int cmd, uid_t uid, void *arg,
/*
* Writing is always performed to upper vnode.
*/
- return (VFS_QUOTACTL(ump->um_uppervp->v_mount, cmd, uid, arg, td));
+ return (VFS_QUOTACTL(ump->um_uppervp->v_mount, cmd, uid, arg));
}
static int
-unionfs_statfs(struct mount *mp, struct statfs *sbp, struct thread *td)
+unionfs_statfs(struct mount *mp, struct statfs *sbp)
{
struct unionfs_mount *ump;
int error;
@@ -426,7 +427,7 @@ unionfs_statfs(struct mount *mp, struct statfs *sbp, struct thread *td)
bzero(&mstat, sizeof(mstat));
- error = VFS_STATFS(ump->um_lowervp->v_mount, &mstat, td);
+ error = VFS_STATFS(ump->um_lowervp->v_mount, &mstat);
if (error)
return (error);
@@ -436,7 +437,7 @@ unionfs_statfs(struct mount *mp, struct statfs *sbp, struct thread *td)
lbsize = mstat.f_bsize;
- error = VFS_STATFS(ump->um_uppervp->v_mount, &mstat, td);
+ error = VFS_STATFS(ump->um_uppervp->v_mount, &mstat);
if (error)
return (error);
@@ -461,7 +462,7 @@ unionfs_statfs(struct mount *mp, struct statfs *sbp, struct thread *td)
}
static int
-unionfs_sync(struct mount *mp, int waitfor, struct thread *td)
+unionfs_sync(struct mount *mp, int waitfor)
{
/* nothing to do */
return (0);
@@ -488,7 +489,7 @@ unionfs_checkexp(struct mount *mp, struct sockaddr *nam, int *extflagsp,
static int
unionfs_extattrctl(struct mount *mp, int cmd, struct vnode *filename_vp,
- int namespace, const char *attrname, struct thread *td)
+ int namespace, const char *attrname)
{
struct unionfs_mount *ump;
struct unionfs_node *unp;
@@ -498,10 +499,10 @@ unionfs_extattrctl(struct mount *mp, int cmd, struct vnode *filename_vp,
if (unp->un_uppervp != NULLVP) {
return (VFS_EXTATTRCTL(ump->um_uppervp->v_mount, cmd,
- unp->un_uppervp, namespace, attrname, td));
+ unp->un_uppervp, namespace, attrname));
} else {
return (VFS_EXTATTRCTL(ump->um_lowervp->v_mount, cmd,
- unp->un_lowervp, namespace, attrname, td));
+ unp->un_lowervp, namespace, attrname));
}
}
OpenPOWER on IntegriCloud