Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
go-fuse
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Levin Zimmermann
go-fuse
Commits
6d31d546
Commit
6d31d546
authored
May 15, 2011
by
Han-Wen Nienhuys
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Misc. polish.
parent
b5c23b50
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
12 additions
and
13 deletions
+12
-13
README
README
+4
-3
fuse/pathfilesystem.go
fuse/pathfilesystem.go
+3
-3
fuse/types.go
fuse/types.go
+0
-1
unionfs/cachingfs.go
unionfs/cachingfs.go
+1
-1
unionfs/unionfs.go
unionfs/unionfs.go
+2
-2
zipfs/tarfs.go
zipfs/tarfs.go
+1
-1
zipfs/zipfs.go
zipfs/zipfs.go
+1
-2
No files found.
README
View file @
6d31d546
...
...
@@ -5,7 +5,7 @@ GO-FUSE: native bindings for the FUSE kernel module.
HIGHLIGHTS
* High speed: less than 50% slower than libfuse, using the gc
compiler.
M
ost real world applications, the difference will be
compiler.
For m
ost real world applications, the difference will be
negligible.
* Supports in-process mounting of different FileSystems onto
...
...
@@ -71,7 +71,7 @@ src.zip (7000 files).
platform libfuse Go-FUSE difference (%)
l
enovo T60 (2cpu) 83us 99us 19%
L
enovo T60 (2cpu) 83us 99us 19%
Lenovo T400 (2cpu) 38us 58us 52%
DellT3500/Lucid (2cpu) 34us(*) 35us 3%
DellT3500/Lucid (6cpu) 59us 76us 28%
...
...
@@ -99,7 +99,8 @@ Grep source code for TODO. Major topics:
* Missing support for file locking: FUSE_GETLK, FUSE_SETLK, FUSE_SETLKW
* Missing support for FUSE_INTERRUPT, FUSE_NOTIFY, CUSE, BMAP, POLL, IOCTL, STATFS
* Missing support for FUSE_INTERRUPT, FUSE_NOTIFY, CUSE, BMAP, POLL,
IOCTL, STATFS
LICENSE
...
...
fuse/pathfilesystem.go
View file @
6d31d546
...
...
@@ -2,12 +2,12 @@ package fuse
/*
Path
FilesystemConnector is a lowlevel FUSE filesystem that translates
FilesystemConnector is a lowlevel FUSE filesystem that translates
from inode numbers (as delivered by the kernel) to traditional path
names. The paths are then used as arguments for methods of
PathFiles
ystem instances.
FileS
ystem instances.
PathFilesystemConnector supports mounts of different PathFilesystem
FileSystemConnector supports mounts of different FileSystems
on top of each other's directories.
General todos:
...
...
fuse/types.go
View file @
6d31d546
...
...
@@ -64,7 +64,6 @@ const (
FUSE_NOTIFY_CODE_MAX
=
4
)
// Ugh - we should fold ns and secs together here.
type
Attr
struct
{
Ino
uint64
Size
uint64
...
...
unionfs/cachingfs.go
View file @
6d31d546
...
...
@@ -37,7 +37,7 @@ type openResponse struct {
fuse
.
Status
}
// Caches
readdir and getattr()
// Caches
filesystem metadata.
type
CachingFileSystem
struct
{
fuse
.
FileSystem
...
...
unionfs/unionfs.go
View file @
6d31d546
...
...
@@ -43,8 +43,8 @@ func filePathHash(path string) string {
Implementation notes.
* It
piggybacks on the existing LoopbackFileSystem in Go-FUSE, so we
don't have to translate back and forth between Go's and FUSE's API
.
* It
overlays arbitrary writable FileSystems with any number of
readonly FileSystems
.
* Deleting a file will put a file named
/DELETIONS/HASH-OF-FULL-FILENAME into the writable overlay,
...
...
zipfs/tarfs.go
View file @
6d31d546
...
...
@@ -25,7 +25,6 @@ func HeaderToFileInfo(h *tar.Header) *os.FileInfo {
Gid
:
h
.
Gid
,
Size
:
h
.
Size
,
Mtime_ns
:
h
.
Mtime
,
//Linkname: h.Linkname ,
Atime_ns
:
h
.
Atime
,
Ctime_ns
:
h
.
Ctime
,
}
...
...
@@ -74,6 +73,7 @@ func NewTarTree(r io.Reader) *MemTree {
hdr
.
Name
=
*
longName
longName
=
nil
}
comps
:=
strings
.
Split
(
filepath
.
Clean
(
hdr
.
Name
),
"/"
,
-
1
)
base
:=
""
if
!
strings
.
HasSuffix
(
hdr
.
Name
,
"/"
)
{
...
...
zipfs/zipfs.go
View file @
6d31d546
...
...
@@ -70,8 +70,7 @@ func zipFilesToTree(files []*zip.File) *MemTree {
}
// NewZipArchiveFileSystem creates a new file-system for the
// zip file named name.
// NewZipTree creates a new file-system for the zip file named name.
func
NewZipTree
(
name
string
)
(
*
MemTree
,
os
.
Error
)
{
r
,
err
:=
zip
.
OpenReader
(
name
)
if
err
!=
nil
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment