diff options
Diffstat (limited to 'sys/msdosfs')
-rw-r--r-- | sys/msdosfs/denode.h | 4 | ||||
-rw-r--r-- | sys/msdosfs/msdosfs_denode.c | 4 | ||||
-rw-r--r-- | sys/msdosfs/msdosfs_vnops.c | 9 |
3 files changed, 9 insertions, 8 deletions
diff --git a/sys/msdosfs/denode.h b/sys/msdosfs/denode.h index 0844e7e8c60..e9a142f8834 100644 --- a/sys/msdosfs/denode.h +++ b/sys/msdosfs/denode.h @@ -1,4 +1,4 @@ -/* $OpenBSD: denode.h,v 1.28 2016/01/13 10:00:55 mpi Exp $ */ +/* $OpenBSD: denode.h,v 1.29 2016/06/19 11:54:33 natano Exp $ */ /* $NetBSD: denode.h,v 1.24 1997/10/17 11:23:39 ws Exp $ */ /*- @@ -149,7 +149,7 @@ struct denode { long de_refcnt; /* reference count */ struct msdosfsmount *de_pmp; /* addr of our mount struct */ struct lockf *de_lockf; /* byte level lock list */ - struct lock de_lock; /* denode lock */ + struct rrwlock de_lock; /* denode lock */ u_char de_Name[11]; /* name, from DOS directory entry */ u_char de_Attributes; /* attributes, from directory entry */ u_char de_CTimeHundredth; /* creation time, 1/100th of a sec */ diff --git a/sys/msdosfs/msdosfs_denode.c b/sys/msdosfs/msdosfs_denode.c index 1009a8a6795..b3515e6ee54 100644 --- a/sys/msdosfs/msdosfs_denode.c +++ b/sys/msdosfs/msdosfs_denode.c @@ -1,4 +1,4 @@ -/* $OpenBSD: msdosfs_denode.c,v 1.56 2016/03/19 12:04:16 natano Exp $ */ +/* $OpenBSD: msdosfs_denode.c,v 1.57 2016/06/19 11:54:33 natano Exp $ */ /* $NetBSD: msdosfs_denode.c,v 1.23 1997/10/17 11:23:58 ws Exp $ */ /*- @@ -233,7 +233,7 @@ retry: return (error); } ldep = malloc(sizeof(*ldep), M_MSDOSFSNODE, M_WAITOK | M_ZERO); - lockinit(&ldep->de_lock, PINOD, "denode", 0, 0); + rrw_init(&ldep->de_lock, "denode"); nvp->v_data = ldep; ldep->de_vnode = nvp; ldep->de_flag = 0; diff --git a/sys/msdosfs/msdosfs_vnops.c b/sys/msdosfs/msdosfs_vnops.c index b681887a31f..45a479fb646 100644 --- a/sys/msdosfs/msdosfs_vnops.c +++ b/sys/msdosfs/msdosfs_vnops.c @@ -1,4 +1,4 @@ -/* $OpenBSD: msdosfs_vnops.c,v 1.111 2016/05/21 18:11:36 natano Exp $ */ +/* $OpenBSD: msdosfs_vnops.c,v 1.112 2016/06/19 11:54:33 natano Exp $ */ /* $NetBSD: msdosfs_vnops.c,v 1.63 1997/10/17 11:24:19 ws Exp $ */ /*- @@ -1721,7 +1721,7 @@ msdosfs_lock(void *v) struct vop_lock_args *ap = v; struct vnode *vp = ap->a_vp; - return (lockmgr(&VTODE(vp)->de_lock, ap->a_flags, NULL)); + return rrw_enter(&VTODE(vp)->de_lock, ap->a_flags & LK_RWFLAGS); } int @@ -1730,7 +1730,8 @@ msdosfs_unlock(void *v) struct vop_unlock_args *ap = v; struct vnode *vp = ap->a_vp; - return (lockmgr(&VTODE(vp)->de_lock, LK_RELEASE, NULL)); + rrw_exit(&VTODE(vp)->de_lock); + return 0; } int @@ -1738,7 +1739,7 @@ msdosfs_islocked(void *v) { struct vop_islocked_args *ap = v; - return (lockstatus(&VTODE(ap->a_vp)->de_lock)); + return rrw_status(&VTODE(ap->a_vp)->de_lock); } /* |