From 8161bd9ad18d8f88818029a39141654ca93355d8 Mon Sep 17 00:00:00 2001 From: fiatjaf Date: Sat, 22 Nov 2025 10:24:58 -0300 Subject: [PATCH] mmm: create directory before creating the lockfile. --- eventstore/mmm/mmmm.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/eventstore/mmm/mmmm.go b/eventstore/mmm/mmmm.go index 3e82613..22efab6 100644 --- a/eventstore/mmm/mmmm.go +++ b/eventstore/mmm/mmmm.go @@ -56,6 +56,12 @@ func (b *MultiMmapManager) Init() error { b.Logger = &nopLogger } + // create directory if it doesn't exist + dbpath := filepath.Join(b.Dir, "mmmm") + if err := os.MkdirAll(dbpath, 0755); err != nil { + return fmt.Errorf("failed to create directory %s: %w", dbpath, err) + } + // create lockfile to prevent multiple instances lockfilePath := filepath.Join(b.Dir, "mmmm.lock") if _, err := os.OpenFile(lockfilePath, os.O_CREATE|os.O_EXCL|os.O_RDWR, 0644); err != nil { @@ -65,12 +71,6 @@ func (b *MultiMmapManager) Init() error { return fmt.Errorf("failed to create lockfile %s: %w", lockfilePath, err) } - // create directory if it doesn't exist - dbpath := filepath.Join(b.Dir, "mmmm") - if err := os.MkdirAll(dbpath, 0755); err != nil { - return fmt.Errorf("failed to create directory %s: %w", dbpath, err) - } - // open a huge mmapped file b.mmapfPath = filepath.Join(b.Dir, "events") file, err := os.OpenFile(b.mmapfPath, os.O_CREATE|os.O_RDWR, 0644)