diff options
author | alfred <alfred@FreeBSD.org> | 2004-07-12 08:14:09 +0000 |
---|---|---|
committer | alfred <alfred@FreeBSD.org> | 2004-07-12 08:14:09 +0000 |
commit | 8a1713aada9c142d3c2096e4857ff30970d9b1d0 (patch) | |
tree | 8fe425c682e229149daf17e6533c0f750ba308d3 /sys/fs/unionfs | |
parent | b436785ed498fa322c5ccd228770c6053e4b487b (diff) | |
download | FreeBSD-src-8a1713aada9c142d3c2096e4857ff30970d9b1d0.zip FreeBSD-src-8a1713aada9c142d3c2096e4857ff30970d9b1d0.tar.gz |
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.
Diffstat (limited to 'sys/fs/unionfs')
-rw-r--r-- | sys/fs/unionfs/union_vfsops.c | 5 | ||||
-rw-r--r-- | sys/fs/unionfs/union_vnops.c | 2 |
2 files changed, 4 insertions, 3 deletions
diff --git a/sys/fs/unionfs/union_vfsops.c b/sys/fs/unionfs/union_vfsops.c index 6163257..e756e18 100644 --- a/sys/fs/unionfs/union_vfsops.c +++ b/sys/fs/unionfs/union_vfsops.c @@ -342,7 +342,7 @@ union_unmount(mp, mntflags, td) * (d) times, where (d) is the maximum tree depth * in the filesystem. */ - for (freeing = 0; (error = vflush(mp, 0, flags)) != 0;) { + for (freeing = 0; (error = vflush(mp, 0, flags, td)) != 0;) { int n; /* count #vnodes held on mount list */ @@ -378,9 +378,10 @@ union_unmount(mp, mntflags, td) } static int -union_root(mp, vpp) +union_root(mp, vpp, td) struct mount *mp; struct vnode **vpp; + struct thread *td; { struct union_mount *um = MOUNTTOUNIONMOUNT(mp); int error; diff --git a/sys/fs/unionfs/union_vnops.c b/sys/fs/unionfs/union_vnops.c index 1934d5d..c8240e9 100644 --- a/sys/fs/unionfs/union_vnops.c +++ b/sys/fs/unionfs/union_vnops.c @@ -268,7 +268,7 @@ union_lookup1(udvp, pdvp, vpp, cnp) relock_pdvp = 1; vput(dvp); dvp = NULL; - error = VFS_ROOT(mp, &dvp); + error = VFS_ROOT(mp, &dvp, td); vfs_unbusy(mp, td); |