From a49bbf666a30df4d53f6763e96deddd99d59db30 Mon Sep 17 00:00:00 2001 From: James Mills Date: Thu, 15 Jul 2021 13:16:58 +0000 Subject: [PATCH] Fix paths used for temporary recovery iles to avoid crossing devices (#223) Fixes #222 Co-authored-by: James Mills Reviewed-on: https://git.mills.io/prologic/bitcask/pulls/223 Co-authored-by: James Mills Co-committed-by: James Mills --- internal/data/recover.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/data/recover.go b/internal/data/recover.go index f783db3..c4625f3 100644 --- a/internal/data/recover.go +++ b/internal/data/recover.go @@ -48,8 +48,8 @@ func recoverDatafile(path string, cfg *config.Config) (recovered bool, err error err = closeErr } }() - _, file := filepath.Split(path) - rPath := fmt.Sprintf("%s.recovered", file) + dir, file := filepath.Split(path) + rPath := filepath.Join(dir, fmt.Sprintf("%s.recovered", file)) fr, err := os.OpenFile(rPath, os.O_CREATE|os.O_WRONLY, os.ModePerm) if err != nil { return false, fmt.Errorf("creating the recovered datafile: %w", err)