From 3c3516822f421027601d885e9f9307575ab64338 Mon Sep 17 00:00:00 2001 From: Ben McClelland Date: Wed, 24 May 2023 14:22:29 -0700 Subject: [PATCH] posix: add New(), Shutdown(), and String() methods --- backend/posix/posix.go | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/backend/posix/posix.go b/backend/posix/posix.go index 4a74c06f..6fd3caff 100644 --- a/backend/posix/posix.go +++ b/backend/posix/posix.go @@ -22,6 +22,8 @@ import ( ) type Posix struct { + rootfd *os.File + rootdir string backend.BackendUnsupported } @@ -40,6 +42,28 @@ var ( newObjGID = 0 ) +func New(rootdir string) (*Posix, error) { + err := os.Chdir(rootdir) + if err != nil { + return nil, fmt.Errorf("chdir %v: %w", rootdir, err) + } + + f, err := os.Open(rootdir) + if err != nil { + return nil, fmt.Errorf("open %v: %w", rootdir, err) + } + + return &Posix{rootfd: f, rootdir: rootdir}, nil +} + +func (p *Posix) Shutdown() { + p.rootfd.Close() +} + +func (p *Posix) Sring() string { + return "Posix Gateway" +} + func (p *Posix) ListBuckets() (*s3.ListBucketsOutput, error) { entries, err := os.ReadDir(".") if err != nil {