From 2d78be2564f3835178508cb61c0a84d562f80364 Mon Sep 17 00:00:00 2001 From: Felicitas Pojtinger Date: Tue, 30 Jul 2024 16:28:29 -0700 Subject: [PATCH] refactor: Implement seeking if the backing file is a block device in example file backend (see https://github.com/pojntfx/go-nbd/issues/8) Signed-off-by: Felicitas Pojtinger --- pkg/backend/file.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkg/backend/file.go b/pkg/backend/file.go index eee2191..865f7ec 100644 --- a/pkg/backend/file.go +++ b/pkg/backend/file.go @@ -1,6 +1,7 @@ package backend import ( + "io" "os" "sync" ) @@ -35,12 +36,12 @@ func (b *FileBackend) WriteAt(p []byte, off int64) (n int, err error) { } func (b *FileBackend) Size() (int64, error) { - stat, err := b.file.Stat() + size, err := b.file.Seek(0, io.SeekEnd) if err != nil { return -1, err } - return stat.Size(), nil + return size, nil } func (b *FileBackend) Sync() error {