From 14dd08fd153468502c32dc2d9c1e25a6c2d761d1 Mon Sep 17 00:00:00 2001 From: mckusick Date: Sun, 17 Mar 2002 01:25:47 +0000 Subject: Add a flags parameter to VFS_VGET to pass through the desired locking flags when acquiring a vnode. The immediate purpose is to allow polling lock requests (LK_NOWAIT) needed by soft updates to avoid deadlock when enlisting other processes to help with the background cleanup. For the future it will allow the use of shared locks for read access to vnodes. This change touches a lot of files as it affects most filesystems within the system. It has been well tested on FFS, loopback, and CD-ROM filesystems. only lightly on the others, so if you find a problem there, please let me (mckusick@mckusick.com) know. --- sys/fs/umapfs/umap_vfsops.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'sys/fs/umapfs') diff --git a/sys/fs/umapfs/umap_vfsops.c b/sys/fs/umapfs/umap_vfsops.c index a22b8df..17bfdc1 100644 --- a/sys/fs/umapfs/umap_vfsops.c +++ b/sys/fs/umapfs/umap_vfsops.c @@ -73,7 +73,7 @@ static int umapfs_sync __P((struct mount *mp, int waitfor, struct ucred *cred, struct thread *td)); static int umapfs_unmount __P((struct mount *mp, int mntflags, struct thread *td)); -static int umapfs_vget __P((struct mount *mp, ino_t ino, +static int umapfs_vget __P((struct mount *mp, ino_t ino, int flags, struct vnode **vpp)); static int umapfs_vptofh __P((struct vnode *vp, struct fid *fhp)); static int umapfs_extattrctl __P((struct mount *mp, int cmd, @@ -387,13 +387,14 @@ umapfs_sync(mp, waitfor, cred, td) } static int -umapfs_vget(mp, ino, vpp) +umapfs_vget(mp, ino, flags, vpp) struct mount *mp; ino_t ino; + int flags; struct vnode **vpp; { - return (VFS_VGET(MOUNTTOUMAPMOUNT(mp)->umapm_vfs, ino, vpp)); + return (VFS_VGET(MOUNTTOUMAPMOUNT(mp)->umapm_vfs, ino, flags, vpp)); } static int -- cgit v1.1