mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2024-01-19 02:48:24 +00:00
fix removing path from inode2path
This commit is contained in:
parent
41eeb4deef
commit
d24db396cc
|
@ -34,8 +34,8 @@ func (ie *InodeEntry) removeOnePath(p util.FullPath) bool {
|
|||
if idx < 0 {
|
||||
return false
|
||||
}
|
||||
for x := len(ie.paths) - 2; x > idx; x-- {
|
||||
ie.paths[x-1] = ie.paths[x]
|
||||
for x := idx; x < len(ie.paths)-1; x++ {
|
||||
ie.paths[x] = ie.paths[x+1]
|
||||
}
|
||||
ie.paths = ie.paths[0 : len(ie.paths)-1]
|
||||
return true
|
||||
|
|
|
@ -13,6 +13,15 @@ func TestInodeEntry_removeOnePath(t *testing.T) {
|
|||
want bool
|
||||
count int
|
||||
}{
|
||||
{
|
||||
name: "actual case",
|
||||
entry: InodeEntry{
|
||||
paths: []util.FullPath{"/pjd/nx", "/pjd/n0"},
|
||||
},
|
||||
p: "/pjd/nx",
|
||||
want: true,
|
||||
count: 1,
|
||||
},
|
||||
{
|
||||
name: "empty",
|
||||
entry: InodeEntry{},
|
||||
|
@ -74,6 +83,11 @@ func TestInodeEntry_removeOnePath(t *testing.T) {
|
|||
if tt.count != len(tt.entry.paths) {
|
||||
t.Errorf("removeOnePath path count = %v, want %v", len(tt.entry.paths), tt.count)
|
||||
}
|
||||
for i, p := range tt.entry.paths {
|
||||
if p == tt.p {
|
||||
t.Errorf("removeOnePath found path still exists at %v, %v", i, p)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue