Not a blocking comment, but if this BusyLockError finally gets errbacked to the caller, it will have no traceback this way.  You might have to actually raise the BusyLockError in order to get a traceback (since _verify_lock is used as a callback anyway - by the same principle, it can just return True instead of defer.succeed(True).

Not having a traceback may be fine, though - raising an exception may be expensive, and not doing so might be a valid decision.