diff --git a/go/store/nbs/journal.go b/go/store/nbs/journal.go index 284b1660f7..68a2ee40f5 100644 --- a/go/store/nbs/journal.go +++ b/go/store/nbs/journal.go @@ -528,7 +528,9 @@ func newJournalManifest(ctx context.Context, dir string) (m *journalManifest, er var f *os.File f, err = openIfExists(filepath.Join(dir, manifestFileName)) if err != nil { - _ = lock.Unlock() + if lock != nil { + _ = lock.Unlock() + } return nil, err } else if f == nil { return m, nil @@ -538,17 +540,23 @@ func newJournalManifest(ctx context.Context, dir string) (m *journalManifest, er err = cerr // keep first error } if err != nil { - _ = lock.Unlock() + if lock != nil { + _ = lock.Unlock() + } } }() var ok bool ok, _, err = m.ParseIfExists(ctx, &Stats{}, nil) if err != nil { - _ = lock.Unlock() + if lock != nil { + _ = lock.Unlock() + } return nil, err } else if !ok { - _ = lock.Unlock() + if lock != nil { + _ = lock.Unlock() + } return nil, ErrUnreadableManifest } return