From dcd30e5b4f15aad756872e9753434c26f655c4f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= <hugo@lysator.liu.se> Date: Mon, 2 Nov 2020 21:21:47 +0100 Subject: [PATCH] formatting. --- dir/dir.go | 108 +++++++++++++++++++++++++++++++++++------------------ main.go | 2 +- 2 files changed, 73 insertions(+), 37 deletions(-) diff --git a/dir/dir.go b/dir/dir.go index 5cd8597..3f67b6c 100644 --- a/dir/dir.go +++ b/dir/dir.go @@ -11,43 +11,53 @@ import ( "syscall" ) +// root of file system type Root struct{} + +// list of all known hosts (machines) type HostList struct{} + +// list of all known puppet classes +type ClassList struct{} + +// directory for a single host (machine) type Host struct{ hostname string } + +// directory for a single puppetclass type HostClasses struct{ hostname string } +// -------------------------------------------------- + func (Root) Attr(ctx context.Context, a *fuse.Attr) error { a.Inode = 0 a.Mode = os.ModeDir | 0o555 return nil } -func (HostList) Attr(ctx context.Context, a *fuse.Attr) error { - a.Inode = 0 - a.Mode = os.ModeDir | 0o555 - return nil +func (Root) Lookup(ctx context.Context, name string) (fs.Node, error) { + + switch name { + case "hosts": + return HostList{}, nil + case "classes": + return ClassList{}, nil + default: + return nil, syscall.ENOENT + } } -func (Host) Attr(ctx context.Context, a *fuse.Attr) error { - a.Inode = 0 - a.Mode = os.ModeDir | 0o555 - return nil +func (Root) ReadDirAll(ctx context.Context) ([]fuse.Dirent, error) { + return []fuse.Dirent{{Inode: 0, Name: "hosts", Type: fuse.DT_Dir}}, nil } -func (HostClasses) Attr(ctx context.Context, a *fuse.Attr) error { +// -------------------------------------------------- + +func (HostList) Attr(ctx context.Context, a *fuse.Attr) error { a.Inode = 0 a.Mode = os.ModeDir | 0o555 return nil } -func (Root) Lookup(ctx context.Context, name string) (fs.Node, error) { - if name == "hosts" { - return HostList{}, nil - } else { - return nil, syscall.ENOENT - } -} - func (HostList) Lookup(ctx context.Context, name string) (fs.Node, error) { _, ok := fetch.Hosts[name] if !ok { @@ -56,6 +66,22 @@ func (HostList) Lookup(ctx context.Context, name string) (fs.Node, error) { return Host{name}, nil } +func (HostList) ReadDirAll(ctx context.Context) ([]fuse.Dirent, error) { + var dirents []fuse.Dirent + for _, item := range fetch.Hosts { + dirents = append(dirents, fuse.Dirent{Inode: 0, Name: item.Data.Name, Type: fuse.DT_Dir}) + } + return dirents, nil +} + +// -------------------------------------------------- + +func (HostClasses) Attr(ctx context.Context, a *fuse.Attr) error { + a.Inode = 0 + a.Mode = os.ModeDir | 0o555 + return nil +} + func (d HostClasses) Lookup(ctx context.Context, name string) (fs.Node, error) { classes := fetch.GetClassList(fetch.Hosts[d.hostname].Data) @@ -68,6 +94,25 @@ func (d HostClasses) Lookup(ctx context.Context, name string) (fs.Node, error) { return nil, syscall.ENOENT } +func (d HostClasses) ReadDirAll(ctx context.Context) ([]fuse.Dirent, error) { + classes := fetch.GetClassList(fetch.Hosts[d.hostname].Data) + + var out []fuse.Dirent + for _, class := range classes { + out = append(out, fuse.Dirent{Inode: 0, Name: class, Type: fuse.DT_Link}) + } + return out, nil +} + +// -------------------------------------------------- + +func (Host) Attr(ctx context.Context, a *fuse.Attr) error { + a.Inode = 0 + a.Mode = os.ModeDir | 0o555 + return nil +} + + func (d Host) Lookup(ctx context.Context, name string) (fs.Node, error) { switch name { case "data": @@ -78,18 +123,6 @@ func (d Host) Lookup(ctx context.Context, name string) (fs.Node, error) { return nil, syscall.ENOENT } -func (Root) ReadDirAll(ctx context.Context) ([]fuse.Dirent, error) { - return []fuse.Dirent{{Inode: 0, Name: "hosts", Type: fuse.DT_Dir}}, nil -} - -func (HostList) ReadDirAll(ctx context.Context) ([]fuse.Dirent, error) { - var dirents []fuse.Dirent - for _, item := range fetch.Hosts { - dirents = append(dirents, fuse.Dirent{Inode: 0, Name: item.Data.Name, Type: fuse.DT_Dir}) - } - return dirents, nil -} - func (Host) ReadDirAll(ctx context.Context) ([]fuse.Dirent, error) { return []fuse.Dirent{ {Inode: 0, Name: "data", Type: fuse.DT_File}, @@ -97,12 +130,15 @@ func (Host) ReadDirAll(ctx context.Context) ([]fuse.Dirent, error) { }, nil } -func (d HostClasses) ReadDirAll(ctx context.Context) ([]fuse.Dirent, error) { - classes := fetch.GetClassList(fetch.Hosts[d.hostname].Data) +// -------------------------------------------------- - var out []fuse.Dirent - for _, class := range classes { - out = append(out, fuse.Dirent{Inode: 0, Name: class, Type: fuse.DT_Link}) - } - return out, nil +func (ClassList) Attr(ctx context.Context, a *fuse.Attr) error { + a.Inode = 0 + a.Mode = os.ModeDir | 0o555 + return nil } + +// -------------------------------------------------- +// -------------------------------------------------- +// -------------------------------------------------- +// -------------------------------------------------- diff --git a/main.go b/main.go index 35d0e92..6c7f01d 100644 --- a/main.go +++ b/main.go @@ -39,5 +39,5 @@ type FS struct{} func (fs FS) Root() (fs.Node, error) { // return Dir{ /*fs.data*/ }, nil - return dir.HostList{ /*fs.data*/ }, nil + return dir.Root{ /*fs.data*/ }, nil } -- GitLab