only lock mutable blocks