summaryrefslogtreecommitdiffstats
path: root/sys/ufs
diff options
context:
space:
mode:
authorattilio <attilio@FreeBSD.org>2008-01-24 12:34:30 +0000
committerattilio <attilio@FreeBSD.org>2008-01-24 12:34:30 +0000
commit7213f4c32b94b60add6400f4213c1ca347bd609f (patch)
treec29223c268b9510bd1f4bee082ad1de97c817c24 /sys/ufs
parent5671b69e5898140ead9c08fe7f302dde1d680c63 (diff)
downloadFreeBSD-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.c46
-rw-r--r--sys/ufs/ffs/ffs_vfsops.c2
-rw-r--r--sys/ufs/ffs/ffs_vnops.c6
-rw-r--r--sys/ufs/ufs/ufs_extattr.c4
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);
}
/*-
OpenPOWER on IntegriCloud