Scenario: 1. CREATE "foo/file" with leasekey=x 2. RENAME "foo" -> "bar" 3. CREATE "bar/file" with same leaskey=x 3 will fail with STATUS_INVALID_PARAMETER because lease_match() fails with STATUS_INVALID_PARAMETER as the paths don't match. Possible fix: hook into the new smbd_smb2_setinfo_lease_break_check() infrastructure to patch the paths in the leases DB.
Note to future self: delay_for_handle_lease_break_below_fn() is the function that should be expanded to handle this.