Merge pull request #5926 from yaohcn/fix-reserved

fix storage reservations
This commit is contained in:
Łukasz Magiera 2021-03-31 20:40:36 +02:00 committed by GitHub
commit f10bb9e235
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -392,8 +392,10 @@ func (st *Local) Reserve(ctx context.Context, sid storage.SectorRef, ft storifac
}
p.reserved += overhead
p.reservations[sid.ID] |= fileType
prevDone := done
saveFileType := fileType
done = func() {
prevDone()
@ -401,6 +403,10 @@ func (st *Local) Reserve(ctx context.Context, sid storage.SectorRef, ft storifac
defer st.localLk.Unlock()
p.reserved -= overhead
p.reservations[sid.ID] ^= saveFileType
if p.reservations[sid.ID] == storiface.FTNone {
delete(p.reservations, sid.ID)
}
}
}