There was an issue with rlock-tweak.c, revealed by the tdb testsuite:
Index: hurd-debian/libfshelp/rlock-tweak.c
===================================================================
--- hurd-debian.orig/libfshelp/rlock-tweak.c
+++ hurd-debian/libfshelp/rlock-tweak.c
@@ -312,10 +312,8 @@ fshelp_rlock_tweak (struct rlock_box *bo
return 0;
}
}
- else if (l->start < start
- && (len == 0
- || (start <= l->start + l->len
- && start + len > l->start + l->len)))
+ else if (l->start < start && start <= l->start + l->len
+ && (len == 0 || start + len > l->start + l->len))
/* Our start falls within the locked region or exactly one
byte after it and our end falls beyond it. We know that
we cannot consume the entire region. */
Apart from that it seemed to work just fine. I'll let the glibc
testsuite run this night to be sure before committing.
Samuel