4 Commits

Author SHA1 Message Date
Caleb Gardner 21ca6af0b3 Missed a spot 2025-05-25 14:21:11 -05:00
Caleb Gardner 12d7cc9000 Update libraries (importantly squashfs) 2025-05-25 14:20:33 -05:00
Caleb Gardner 6f20672f05 Update libraries 2024-07-17 09:34:36 -05:00
Caleb Gardner 842800fedb Fixed README link 2023-12-28 00:26:19 -06:00
5 changed files with 39 additions and 35 deletions
+1 -1
View File
@@ -1,3 +1,3 @@
# squashfuse # squashfuse
This is a FUSE mounting library for [my squashfs library](github.com/CalebQ42/squashfs) that supports both Fuse2 and Fuse3. This is a FUSE mounting library for [my squashfs library](https://github.com/CalebQ42/squashfs) that supports both Fuse2 and Fuse3.
+6 -6
View File
@@ -20,7 +20,7 @@ type Fuse2Mount struct {
} }
func NewFuse2Mount(r *squashfs.Reader) *Mount { func NewFuse2Mount(r *squashfs.Reader) *Mount {
return NewMountFromLow(r.Low) return NewMountFromLow(&r.Low)
} }
func NewFuse2MountFromLow(r *squashfslow.Reader) *Mount { func NewFuse2MountFromLow(r *squashfslow.Reader) *Mount {
@@ -68,13 +68,13 @@ type squashFuse2 struct {
func (s squashFuse2) Root() (fs.Node, error) { func (s squashFuse2) Root() (fs.Node, error) {
return fileNode2{ return fileNode2{
FileBase: &s.r.Root.FileBase, FileBase: s.r.Root.FileBase,
r: s.r, r: s.r,
}, nil }, nil
} }
type fileNode2 struct { type fileNode2 struct {
*squashfslow.FileBase squashfslow.FileBase
r *squashfslow.Reader r *squashfslow.Reader
} }
@@ -114,11 +114,11 @@ func (f fileNode2) Readlink(ctx context.Context, req *fuse.ReadlinkRequest) (str
} }
func (f fileNode2) Lookup(ctx context.Context, name string) (fs.Node, error) { func (f fileNode2) Lookup(ctx context.Context, name string) (fs.Node, error) {
asFS, err := f.ToDir(f.r) asFS, err := f.ToDir(*f.r)
if err != nil { if err != nil {
return nil, fuse.ENOTDIR return nil, fuse.ENOTDIR
} }
ret, err := asFS.Open(f.r, name) ret, err := asFS.Open(*f.r, name)
if err != nil { if err != nil {
return nil, fuse.ENOENT return nil, fuse.ENOENT
} }
@@ -156,7 +156,7 @@ func (f fileNode2) Read(ctx context.Context, req *fuse.ReadRequest, resp *fuse.R
} }
func (f fileNode2) ReadDirAll(ctx context.Context) (out []fuse.Dirent, err error) { func (f fileNode2) ReadDirAll(ctx context.Context) (out []fuse.Dirent, err error) {
asFS, err := f.ToDir(f.r) asFS, err := f.ToDir(*f.r)
if err != nil { if err != nil {
return nil, fuse.ENOTDIR return nil, fuse.ENOTDIR
} }
+6 -6
View File
@@ -20,7 +20,7 @@ type Mount struct {
} }
func NewMount(r *squashfs.Reader) *Mount { func NewMount(r *squashfs.Reader) *Mount {
return NewMountFromLow(r.Low) return NewMountFromLow(&r.Low)
} }
func NewMountFromLow(r *squashfslow.Reader) *Mount { func NewMountFromLow(r *squashfslow.Reader) *Mount {
@@ -68,13 +68,13 @@ type squashFuse struct {
func (s squashFuse) Root() (fs.Node, error) { func (s squashFuse) Root() (fs.Node, error) {
return fileNode{ return fileNode{
FileBase: &s.r.Root.FileBase, FileBase: s.r.Root.FileBase,
r: s.r, r: s.r,
}, nil }, nil
} }
type fileNode struct { type fileNode struct {
*squashfslow.FileBase squashfslow.FileBase
r *squashfslow.Reader r *squashfslow.Reader
} }
@@ -114,11 +114,11 @@ func (f fileNode) Readlink(ctx context.Context, req *fuse.ReadlinkRequest) (stri
} }
func (f fileNode) Lookup(ctx context.Context, name string) (fs.Node, error) { func (f fileNode) Lookup(ctx context.Context, name string) (fs.Node, error) {
asFS, err := f.ToDir(f.r) asFS, err := f.ToDir(*f.r)
if err != nil { if err != nil {
return nil, fuse.ENOTDIR return nil, fuse.ENOTDIR
} }
ret, err := asFS.Open(f.r, name) ret, err := asFS.Open(*f.r, name)
if err != nil { if err != nil {
return nil, fuse.ENOENT return nil, fuse.ENOENT
} }
@@ -156,7 +156,7 @@ func (f fileNode) Read(ctx context.Context, req *fuse.ReadRequest, resp *fuse.Re
} }
func (f fileNode) ReadDirAll(ctx context.Context) (out []fuse.Dirent, err error) { func (f fileNode) ReadDirAll(ctx context.Context) (out []fuse.Dirent, err error) {
asFS, err := f.ToDir(f.r) asFS, err := f.ToDir(*f.r)
if err != nil { if err != nil {
return nil, fuse.ENOTDIR return nil, fuse.ENOTDIR
} }
+8 -6
View File
@@ -1,18 +1,20 @@
module github.com/CalebQ42/squashfuse module github.com/CalebQ42/squashfuse
go 1.21.5 go 1.24.0
toolchain go1.24.3
require ( require (
github.com/CalebQ42/fuse v0.1.0 github.com/CalebQ42/fuse v0.1.0
github.com/CalebQ42/squashfs v1.0.0 github.com/CalebQ42/squashfs v1.3.0
github.com/seaweedfs/fuse v1.2.3 github.com/seaweedfs/fuse v1.2.3
golang.org/x/sys v0.15.0 golang.org/x/sys v0.33.0
) )
require ( require (
github.com/klauspost/compress v1.17.4 // indirect github.com/klauspost/compress v1.18.0 // indirect
github.com/pierrec/lz4/v4 v4.1.19 // indirect github.com/pierrec/lz4/v4 v4.1.22 // indirect
github.com/rasky/go-lzo v0.0.0-20200203143853-96a758eda86e // indirect github.com/rasky/go-lzo v0.0.0-20200203143853-96a758eda86e // indirect
github.com/therootcompany/xz v1.0.1 // indirect github.com/therootcompany/xz v1.0.1 // indirect
github.com/ulikunitz/xz v0.5.11 // indirect github.com/ulikunitz/xz v0.5.12 // indirect
) )
+18 -16
View File
@@ -1,24 +1,26 @@
github.com/CalebQ42/fuse v0.1.0 h1:KLCNjun7zcd2kBNVFfH+SWJyhuwJdE0nhw5/q8K8HGQ= github.com/CalebQ42/fuse v0.1.0 h1:KLCNjun7zcd2kBNVFfH+SWJyhuwJdE0nhw5/q8K8HGQ=
github.com/CalebQ42/fuse v0.1.0/go.mod h1:pJpoKG03HJKVhsp8o0YQYqmfbFsr3Eowt90yQGQVO+4= github.com/CalebQ42/fuse v0.1.0/go.mod h1:pJpoKG03HJKVhsp8o0YQYqmfbFsr3Eowt90yQGQVO+4=
github.com/CalebQ42/squashfs v0.8.4 h1:HnthgRKuLliiMwYsPTSE/ln2zECt7UelYcbsUc5p+PA= github.com/CalebQ42/squashfs v1.0.1 h1:5FonyiIDn0RMc16Lp+bfjYBmGCVHNhQWDE2bS28PV1A=
github.com/CalebQ42/squashfs v0.8.4/go.mod h1:CmGHRknB7BlYJ49qSTGpW8wnFcGFdZW0l6+qHOvFr5c= github.com/CalebQ42/squashfs v1.0.1/go.mod h1:uhKIQfq2+dgJ+utqCkvVk0t7XuqaNhcotCrqSI0wUuI=
github.com/CalebQ42/squashfs v1.0.0 h1:ySUquFi/JBPlgHUOyPKWCiyN1QRMxKNZ7pvlcF0qwIw= github.com/CalebQ42/squashfs v1.3.0 h1:KFDkyn46d3i0JO5EarhHKpO9Pm/Bv4bHvCreHdAit9Q=
github.com/CalebQ42/squashfs v1.0.0/go.mod h1:Lhk1cmcuR2/AZLQ8dE99iCen1MC06wICfy9o3o5h8qM= github.com/CalebQ42/squashfs v1.3.0/go.mod h1:48nUwPN4mjeWhu3It2LJZAq4EkixbzY4pdyZ7gEfHb8=
github.com/klauspost/compress v1.16.7 h1:2mk3MPGNzKyxErAw8YaohYh69+pa4sIQSC0fPGCFR9I= github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA=
github.com/klauspost/compress v1.16.7/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw=
github.com/klauspost/compress v1.17.4 h1:Ej5ixsIri7BrIjBkRZLTo6ghwrEtHFk7ijlczPW4fZ4= github.com/klauspost/compress v1.18.0 h1:c/Cqfb0r+Yi+JtIEq73FWXVkRonBlf0CRNYc8Zttxdo=
github.com/klauspost/compress v1.17.4/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= github.com/klauspost/compress v1.18.0/go.mod h1:2Pp+KzxcywXVXMr50+X0Q/Lsb43OQHYWRCY2AiWywWQ=
github.com/pierrec/lz4/v4 v4.1.18 h1:xaKrnTkyoqfh1YItXl56+6KJNVYWlEEPuAQW9xsplYQ= github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ=
github.com/pierrec/lz4/v4 v4.1.18/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4=
github.com/pierrec/lz4/v4 v4.1.19 h1:tYLzDnjDXh9qIxSTKHwXwOYmm9d887Y7Y1ZkyXYHAN4= github.com/pierrec/lz4/v4 v4.1.22 h1:cKFw6uJDK+/gfw5BcDL0JL5aBsAFdsIT18eRtLj7VIU=
github.com/pierrec/lz4/v4 v4.1.19/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pierrec/lz4/v4 v4.1.22/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4=
github.com/rasky/go-lzo v0.0.0-20200203143853-96a758eda86e h1:dCWirM5F3wMY+cmRda/B1BiPsFtmzXqV9b0hLWtVBMs= github.com/rasky/go-lzo v0.0.0-20200203143853-96a758eda86e h1:dCWirM5F3wMY+cmRda/B1BiPsFtmzXqV9b0hLWtVBMs=
github.com/rasky/go-lzo v0.0.0-20200203143853-96a758eda86e/go.mod h1:9leZcVcItj6m9/CfHY5Em/iBrCz7js8LcRQGTKEEv2M= github.com/rasky/go-lzo v0.0.0-20200203143853-96a758eda86e/go.mod h1:9leZcVcItj6m9/CfHY5Em/iBrCz7js8LcRQGTKEEv2M=
github.com/seaweedfs/fuse v1.2.3 h1:VH4VF9D3yvuQBILqDbNttz7Whjgo3JBLfpZeecmYfm0= github.com/seaweedfs/fuse v1.2.3 h1:VH4VF9D3yvuQBILqDbNttz7Whjgo3JBLfpZeecmYfm0=
github.com/seaweedfs/fuse v1.2.3/go.mod h1:iwbDQv5BZACY54r6AO/6xsLNuMaYcBKSkLTZVfmK594= github.com/seaweedfs/fuse v1.2.3/go.mod h1:iwbDQv5BZACY54r6AO/6xsLNuMaYcBKSkLTZVfmK594=
github.com/therootcompany/xz v1.0.1 h1:CmOtsn1CbtmyYiusbfmhmkpAAETj0wBIH6kCYaX+xzw= github.com/therootcompany/xz v1.0.1 h1:CmOtsn1CbtmyYiusbfmhmkpAAETj0wBIH6kCYaX+xzw=
github.com/therootcompany/xz v1.0.1/go.mod h1:3K3UH1yCKgBneZYhuQUvJ9HPD19UEXEI0BWbMn8qNMY= github.com/therootcompany/xz v1.0.1/go.mod h1:3K3UH1yCKgBneZYhuQUvJ9HPD19UEXEI0BWbMn8qNMY=
github.com/ulikunitz/xz v0.5.11 h1:kpFauv27b6ynzBNT/Xy+1k+fK4WswhN/6PN5WhFAGw8= github.com/ulikunitz/xz v0.5.12 h1:37Nm15o69RwBkXM0J6A5OlE67RZTfzUxTj8fB3dfcsc=
github.com/ulikunitz/xz v0.5.11/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= github.com/ulikunitz/xz v0.5.12/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14=
golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc= golang.org/x/sys v0.22.0 h1:RI27ohtqKCnwULzJLqkv897zojh5/DwS/ENaMzUOaWI=
golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=