DF-5138 / run.2.log
DF5138-PROOF: first_lock=0 second_lock=0 (EALREADY would be -37) DF5138-PROOF: ticket->acquired after both locks = 2 (Linux dups path never gets here: 2nd lock = -EALREADY, entry moved aside, value stays 1) DF5138-PROOF: after both unlocks ticket->acquired = 1 (Linux-semantics value: 0; >0 proves the desync) DF5138-PROOF: resv still locked? 0 (0 = correctly released, lockmgr recursion is count-balanced) DF5138-PROOF: RESULT=REPRODUCED (no -EALREADY; silent recursive double-lock; ticket accounting desync) DF5138-PROOF: unloaded