aboutsummaryrefslogtreecommitdiff
path: root/sbin
diff options
context:
space:
mode:
authorPawel Jakub Dawidek <pjd@FreeBSD.org>2012-02-11 16:41:52 +0000
committerPawel Jakub Dawidek <pjd@FreeBSD.org>2012-02-11 16:41:52 +0000
commit86b914642c091448783584ad280dc091e416c790 (patch)
tree706eda62b6195518fdce11a7e922884c6ec79435 /sbin
parente65d02819689622fde48fa4140bd678da80e595a (diff)
downloadsrc-86b914642c091448783584ad280dc091e416c790.tar.gz
src-86b914642c091448783584ad280dc091e416c790.zip
Nice range comparison.
MFC after: 3 days
Notes
Notes: svn path=/head/; revision=231525
Diffstat (limited to 'sbin')
-rw-r--r--sbin/hastd/rangelock.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/sbin/hastd/rangelock.c b/sbin/hastd/rangelock.c
index 5ff1f19daeeb..e14c5b8075f7 100644
--- a/sbin/hastd/rangelock.c
+++ b/sbin/hastd/rangelock.c
@@ -128,15 +128,13 @@ bool
rangelock_islocked(struct rangelocks *rls, off_t offset, off_t length)
{
struct rlock *rl;
+ off_t end;
PJDLOG_ASSERT(rls->rls_magic == RANGELOCKS_MAGIC);
+ end = offset + length;
TAILQ_FOREACH(rl, &rls->rls_locks, rl_next) {
- if (rl->rl_start >= offset && rl->rl_start < offset + length)
- break;
- else if (rl->rl_end > offset && rl->rl_end <= offset + length)
- break;
- else if (rl->rl_start < offset && rl->rl_end > offset + length)
+ if (rl->rl_start < end && rl->rl_end > offset)
break;
}
return (rl != NULL);