diff options
Diffstat (limited to 'objectstore')
| -rw-r--r-- | objectstore/packed/close.go | 1 | ||||
| -rw-r--r-- | objectstore/packed/idx_lookup_candidates.go | 7 | ||||
| -rw-r--r-- | objectstore/packed/store.go | 2 |
3 files changed, 9 insertions, 1 deletions
diff --git a/objectstore/packed/close.go b/objectstore/packed/close.go index f810f42c..f05a8573 100644 --- a/objectstore/packed/close.go +++ b/objectstore/packed/close.go @@ -3,6 +3,7 @@ package packed // Close releases mapped pack/index resources associated with the store. // // Store borrows its root, so Close does not close it. +// Close releases cached pack/index mappings retained by the store. // // Repeated calls to Close are undefined behavior. func (store *Store) Close() error { diff --git a/objectstore/packed/idx_lookup_candidates.go b/objectstore/packed/idx_lookup_candidates.go index e69d07d7..a2de262a 100644 --- a/objectstore/packed/idx_lookup_candidates.go +++ b/objectstore/packed/idx_lookup_candidates.go @@ -22,7 +22,12 @@ type candidateSnapshot struct { candidateByPack map[string]packCandidate } -// Refresh rescans objects/pack and atomically installs a fresh candidate list. +// Refresh rescans objects/pack and atomically installs a fresh candidate list +// for future lookups. +// +// Refresh does not invalidate existing readers. Cached pack/index mappings, +// including ones for previously visible candidates, may be retained until +// Close. func (store *Store) Refresh() error { store.refreshMu.Lock() defer store.refreshMu.Unlock() diff --git a/objectstore/packed/store.go b/objectstore/packed/store.go index 61ccdb9a..fc3f57d4 100644 --- a/objectstore/packed/store.go +++ b/objectstore/packed/store.go @@ -11,6 +11,8 @@ import ( ) // Store reads Git objects from pack/index files under an objects/pack root. +// +// Store borrows its root. Cached pack/index mappings are retained until Close. type Store struct { // root is the borrowed objects/pack capability used for all file access. root *os.Root |
