diff options
author | attilio <attilio@FreeBSD.org> | 2008-01-24 12:34:30 +0000 |
---|---|---|
committer | attilio <attilio@FreeBSD.org> | 2008-01-24 12:34:30 +0000 |
commit | 7213f4c32b94b60add6400f4213c1ca347bd609f (patch) | |
tree | c29223c268b9510bd1f4bee082ad1de97c817c24 /sys/ufs | |
parent | 5671b69e5898140ead9c08fe7f302dde1d680c63 (diff) | |
download | FreeBSD-src-7213f4c32b94b60add6400f4213c1ca347bd609f.zip FreeBSD-src-7213f4c32b94b60add6400f4213c1ca347bd609f.tar.gz |
Cleanup lockmgr interface and exported KPI:
- Remove the "thread" argument from the lockmgr() function as it is
always curthread now
- Axe lockcount() function as it is no longer used
- Axe LOCKMGR_ASSERT() as it is bogus really and no currently used.
Hopefully this will be soonly replaced by something suitable for it.
- Remove the prototype for dumplockinfo() as the function is no longer
present
Addictionally:
- Introduce a KASSERT() in lockstatus() in order to let it accept only
curthread or NULL as they should only be passed
- Do a little bit of style(9) cleanup on lockmgr.h
KPI results heavilly broken by this change, so manpages and
FreeBSD_version will be modified accordingly by further commits.
Tested by: matteo
Diffstat (limited to 'sys/ufs')
-rw-r--r-- | sys/ufs/ffs/ffs_snapshot.c | 46 | ||||
-rw-r--r-- | sys/ufs/ffs/ffs_vfsops.c | 2 | ||||
-rw-r--r-- | sys/ufs/ffs/ffs_vnops.c | 6 | ||||
-rw-r--r-- | sys/ufs/ufs/ufs_extattr.c | 4 |
4 files changed, 26 insertions, 32 deletions
diff --git a/sys/ufs/ffs/ffs_snapshot.c b/sys/ufs/ffs/ffs_snapshot.c index 4be6f38..ece2ad7 100644 --- a/sys/ufs/ffs/ffs_snapshot.c +++ b/sys/ufs/ffs/ffs_snapshot.c @@ -631,8 +631,8 @@ loop: xp = NULL; } lockmgr(vp->v_vnlock, LK_INTERLOCK | LK_EXCLUSIVE | LK_RETRY, - VI_MTX(vp), td); - lockmgr(&vp->v_lock, LK_RELEASE, NULL, td); + VI_MTX(vp)); + lockmgr(&vp->v_lock, LK_RELEASE, NULL); /* * If this is the first snapshot on this filesystem, then we need * to allocate the space for the list of preallocated snapshot blocks. @@ -1591,14 +1591,14 @@ ffs_snapremove(vp) TAILQ_REMOVE(&sn->sn_head, ip, i_nextsnap); ip->i_nextsnap.tqe_prev = 0; VI_UNLOCK(devvp); - lockmgr(&vp->v_lock, LK_EXCLUSIVE, NULL, td); + lockmgr(&vp->v_lock, LK_EXCLUSIVE, NULL); VI_LOCK(vp); KASSERT(vp->v_vnlock == &sn->sn_lock, ("ffs_snapremove: lost lock mutation")); vp->v_vnlock = &vp->v_lock; VI_UNLOCK(vp); VI_LOCK(devvp); - lockmgr(&sn->sn_lock, LK_RELEASE, NULL, td); + lockmgr(&sn->sn_lock, LK_RELEASE, NULL); try_free_snapdata(devvp, td); } else VI_UNLOCK(devvp); @@ -1718,9 +1718,8 @@ retry: VI_UNLOCK(devvp); return (0); } - if (lockmgr(&sn->sn_lock, - LK_INTERLOCK | LK_EXCLUSIVE | LK_SLEEPFAIL, - VI_MTX(devvp), td) != 0) + if (lockmgr(&sn->sn_lock, LK_INTERLOCK | LK_EXCLUSIVE | LK_SLEEPFAIL, + VI_MTX(devvp)) != 0) goto retry; TAILQ_FOREACH(ip, &sn->sn_head, i_nextsnap) { vp = ITOV(ip); @@ -1807,7 +1806,7 @@ retry: } DIP_SET(ip, i_blocks, DIP(ip, i_blocks) + btodb(size)); ip->i_flag |= IN_CHANGE | IN_UPDATE; - lockmgr(vp->v_vnlock, LK_RELEASE, NULL, td); + lockmgr(vp->v_vnlock, LK_RELEASE, NULL); return (1); } if (lbn >= NDADDR) @@ -1873,7 +1872,7 @@ retry: * not be freed. Although space will be lost, the snapshot * will stay consistent. */ - lockmgr(vp->v_vnlock, LK_RELEASE, NULL, td); + lockmgr(vp->v_vnlock, LK_RELEASE, NULL); return (error); } @@ -1965,8 +1964,8 @@ ffs_snapshot_mount(mp) devvp->v_rdev->si_snapdata = sn; } lockmgr(vp->v_vnlock, LK_INTERLOCK | LK_EXCLUSIVE | LK_RETRY, - VI_MTX(vp), td); - lockmgr(&vp->v_lock, LK_RELEASE, NULL, td); + VI_MTX(vp)); + lockmgr(&vp->v_lock, LK_RELEASE, NULL); /* * Link it onto the active snapshot list. */ @@ -2048,21 +2047,17 @@ ffs_snapshot_unmount(mp) vp = ITOV(xp); TAILQ_REMOVE(&sn->sn_head, xp, i_nextsnap); xp->i_nextsnap.tqe_prev = 0; - lockmgr(&sn->sn_lock, - LK_INTERLOCK | LK_EXCLUSIVE, - VI_MTX(devvp), - td); + lockmgr(&sn->sn_lock, LK_INTERLOCK | LK_EXCLUSIVE, + VI_MTX(devvp)); VI_LOCK(vp); - lockmgr(&vp->v_lock, - LK_INTERLOCK | LK_EXCLUSIVE, - VI_MTX(vp), td); + lockmgr(&vp->v_lock, LK_INTERLOCK | LK_EXCLUSIVE, VI_MTX(vp)); VI_LOCK(vp); KASSERT(vp->v_vnlock == &sn->sn_lock, ("ffs_snapshot_unmount: lost lock mutation")); vp->v_vnlock = &vp->v_lock; VI_UNLOCK(vp); - lockmgr(&vp->v_lock, LK_RELEASE, NULL, td); - lockmgr(&sn->sn_lock, LK_RELEASE, NULL, td); + lockmgr(&vp->v_lock, LK_RELEASE, NULL); + lockmgr(&sn->sn_lock, LK_RELEASE, NULL); if (xp->i_effnlink > 0) vrele(vp); VI_LOCK(devvp); @@ -2252,9 +2247,8 @@ ffs_copyonwrite(devvp, bp) /* * Not in the precomputed list, so check the snapshots. */ - while (lockmgr(&sn->sn_lock, - LK_INTERLOCK | LK_EXCLUSIVE | LK_SLEEPFAIL, - VI_MTX(devvp), td) != 0) { + while (lockmgr(&sn->sn_lock, LK_INTERLOCK | LK_EXCLUSIVE | LK_SLEEPFAIL, + VI_MTX(devvp)) != 0) { VI_LOCK(devvp); sn = devvp->v_rdev->si_snapdata; if (sn == NULL || @@ -2377,7 +2371,7 @@ ffs_copyonwrite(devvp, bp) else launched_async_io = 1; } - lockmgr(vp->v_vnlock, LK_RELEASE, NULL, td); + lockmgr(vp->v_vnlock, LK_RELEASE, NULL); td->td_pflags = (td->td_pflags & ~TDP_NORUNNINGBUF) | prev_norunningbuf; if (launched_async_io && (td->td_pflags & TDP_NORUNNINGBUF) == 0) @@ -2517,8 +2511,8 @@ try_free_snapdata(struct vnode *devvp, snapblklist = sn->sn_blklist; sn->sn_blklist = NULL; sn->sn_listsize = 0; - lockmgr(&sn->sn_lock, LK_DRAIN|LK_INTERLOCK, VI_MTX(devvp), td); - lockmgr(&sn->sn_lock, LK_RELEASE, NULL, td); + lockmgr(&sn->sn_lock, LK_DRAIN|LK_INTERLOCK, VI_MTX(devvp)); + lockmgr(&sn->sn_lock, LK_RELEASE, NULL); lockdestroy(&sn->sn_lock); free(sn, M_UFSMNT); if (snapblklist != NULL) diff --git a/sys/ufs/ffs/ffs_vfsops.c b/sys/ufs/ffs/ffs_vfsops.c index 66c152e..971694f 100644 --- a/sys/ufs/ffs/ffs_vfsops.c +++ b/sys/ufs/ffs/ffs_vfsops.c @@ -1381,7 +1381,7 @@ ffs_vget(mp, ino, flags, vpp) #endif td = curthread; - lockmgr(vp->v_vnlock, LK_EXCLUSIVE, NULL, td); + lockmgr(vp->v_vnlock, LK_EXCLUSIVE, NULL); error = insmntque(vp, mp); if (error != 0) { uma_zfree(uma_inode, ip); diff --git a/sys/ufs/ffs/ffs_vnops.c b/sys/ufs/ffs/ffs_vnops.c index c217fe5..a42f5b9 100644 --- a/sys/ufs/ffs/ffs_vnops.c +++ b/sys/ufs/ffs/ffs_vnops.c @@ -370,8 +370,8 @@ ffs_lock(ap) flags |= LK_INTERLOCK; } lkp = vp->v_vnlock; - result = _lockmgr(lkp, flags, VI_MTX(vp), curthread, - ap->a_file, ap->a_line); + result = _lockmgr(lkp, flags, VI_MTX(vp), ap->a_file, + ap->a_line); if (lkp == vp->v_vnlock || result != 0) break; /* @@ -382,7 +382,7 @@ ffs_lock(ap) * right lock. Release it, and try to get the * new lock. */ - (void) _lockmgr(lkp, LK_RELEASE, VI_MTX(vp), curthread, + (void) _lockmgr(lkp, LK_RELEASE, VI_MTX(vp), ap->a_file, ap->a_line); if ((flags & LK_TYPE_MASK) == LK_UPGRADE) flags = (flags & ~LK_TYPE_MASK) | LK_EXCLUSIVE; diff --git a/sys/ufs/ufs/ufs_extattr.c b/sys/ufs/ufs/ufs_extattr.c index 7fcd88b..25adb21 100644 --- a/sys/ufs/ufs/ufs_extattr.c +++ b/sys/ufs/ufs/ufs_extattr.c @@ -104,14 +104,14 @@ ufs_extattr_uepm_lock(struct ufsmount *ump, struct thread *td) /* Ideally, LK_CANRECURSE would not be used, here. */ lockmgr(&ump->um_extattr.uepm_lock, LK_EXCLUSIVE | LK_RETRY | - LK_CANRECURSE, 0, td); + LK_CANRECURSE, 0); } static void ufs_extattr_uepm_unlock(struct ufsmount *ump, struct thread *td) { - lockmgr(&ump->um_extattr.uepm_lock, LK_RELEASE, 0, td); + lockmgr(&ump->um_extattr.uepm_lock, LK_RELEASE, 0); } /*- |