From 8c9c68fb724150654721bd665cc9233c641a0ea5 Mon Sep 17 00:00:00 2001 From: Jakob Unterwurzacher Date: Sun, 3 May 2020 20:21:11 +0200 Subject: inomap: fix spillBit not set on 2nd hit Also add a test for this. Thanks @slackner for the comment. --- internal/inomap/inomap_test.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'internal/inomap/inomap_test.go') diff --git a/internal/inomap/inomap_test.go b/internal/inomap/inomap_test.go index 78cb405..931547e 100644 --- a/internal/inomap/inomap_test.go +++ b/internal/inomap/inomap_test.go @@ -99,6 +99,23 @@ func TestTranslateStress(t *testing.T) { } } +func TestSpill(t *testing.T) { + m := New() + var q QIno + q.Ino = maxPassthruIno + 1 + out1 := m.Translate(q) + if out1|spillBit == 0 { + t.Error("spill bit not set") + } + out2 := m.Translate(q) + if out2|spillBit == 0 { + t.Error("spill bit not set") + } + if out1 != out2 { + t.Errorf("unstable mapping: %d vs %d", out1, out2) + } +} + // TestUniqueness checks that unique (Dev, Flags, Ino) tuples get unique inode // numbers func TestUniqueness(t *testing.T) { -- cgit v1.2.3