diff options
author | Alfred Perlstein <alfred@FreeBSD.org> | 2004-07-12 08:14:09 +0000 |
---|---|---|
committer | Alfred Perlstein <alfred@FreeBSD.org> | 2004-07-12 08:14:09 +0000 |
commit | f257b7a54b4fe77840cf694314bdc401e00c31a1 (patch) | |
tree | 8fe425c682e229149daf17e6533c0f750ba308d3 /sys/fs/devfs/devfs_vfsops.c | |
parent | 57a3bc41636f110374799dd408647fe26f107ac3 (diff) | |
download | src-f257b7a54b4fe77840cf694314bdc401e00c31a1.tar.gz src-f257b7a54b4fe77840cf694314bdc401e00c31a1.zip |
Make VFS_ROOT() and vflush() take a thread argument.
This is to allow filesystems to decide based on the passed thread
which vnode to return.
Several filesystems used curthread, they now use the passed thread.
Notes
Notes:
svn path=/head/; revision=132023
Diffstat (limited to 'sys/fs/devfs/devfs_vfsops.c')
-rw-r--r-- | sys/fs/devfs/devfs_vfsops.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/sys/fs/devfs/devfs_vfsops.c b/sys/fs/devfs/devfs_vfsops.c index a10efa271f8f..f23d6603facc 100644 --- a/sys/fs/devfs/devfs_vfsops.c +++ b/sys/fs/devfs/devfs_vfsops.c @@ -101,7 +101,7 @@ devfs_nmount(mp, ndp, td) fmp->dm_basedir = fmp->dm_rootdir; devfs_rules_newmount(fmp, td); - error = devfs_root(mp, &rvp); + error = devfs_root(mp, &rvp, td); if (error) { lockdestroy(&fmp->dm_lock); FREE(fmp, M_DEVFS); @@ -130,7 +130,7 @@ devfs_unmount(mp, mntflags, td) if (mntflags & MNT_FORCE) flags |= FORCECLOSE; /* There is 1 extra root vnode reference from devfs_mount(). */ - error = vflush(mp, 1, flags); + error = vflush(mp, 1, flags, td); if (error) return (error); devfs_purge(fmp->dm_rootdir); @@ -144,16 +144,15 @@ devfs_unmount(mp, mntflags, td) /* Return locked reference to root. */ static int -devfs_root(mp, vpp) +devfs_root(mp, vpp, td) struct mount *mp; struct vnode **vpp; + struct thread *td; { int error; - struct thread *td; struct vnode *vp; struct devfs_mount *dmp; - td = curthread; /* XXX */ dmp = VFSTODEVFS(mp); error = devfs_allocv(dmp->dm_rootdir, mp, &vp, td); if (error) |