From 3e86e21237c556aca42212d457e89b7ca8c54064 Mon Sep 17 00:00:00 2001 From: pjd Date: Sat, 11 Feb 2012 16:41:52 +0000 Subject: Nice range comparison. MFC after: 3 days --- sbin/hastd/rangelock.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'sbin/hastd') diff --git a/sbin/hastd/rangelock.c b/sbin/hastd/rangelock.c index 5ff1f19..e14c5b8 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); -- cgit v1.1