Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
W
wendelin.core
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
Joshua
wendelin.core
Commits
43b113bf
Commit
43b113bf
authored
Jun 27, 2018
by
Kirill Smelkov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
.
parent
c0420307
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
66 additions
and
40 deletions
+66
-40
wcfs/misc.go
wcfs/misc.go
+64
-0
wcfs/wcfs.go
wcfs/wcfs.go
+2
-40
No files found.
wcfs/misc.go
0 → 100644
View file @
43b113bf
// Copyright (C) 2018 Nexedi SA and Contributors.
// Kirill Smelkov <kirr@nexedi.com>
//
// This program is free software: you can Use, Study, Modify and Redistribute
// it under the terms of the GNU General Public License version 3, or (at your
// option) any later version, as published by the Free Software Foundation.
//
// You can also Link and Combine this program with other software covered by
// the terms of any of the Free Software licenses or any of the Open Source
// Initiative approved licenses and Convey the resulting work. Corresponding
// source of such a combination shall include the source code for all other
// software used.
//
// This program is distributed WITHOUT ANY WARRANTY; without even the implied
// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
//
// See COPYING file for full licensing terms.
// See https://www.nexedi.com/licensing for rationale and options.
package
main
// misc utilities
import
(
"github.com/hanwen/go-fuse/fuse"
"github.com/hanwen/go-fuse/fuse/nodefs"
)
// StaticFile is a Node for file with static data.
type
StaticFile
struct
{
nodefs
.
Node
data
[]
byte
}
func
NewStaticFile
(
data
[]
byte
)
*
StaticFile
{
return
&
StaticFile
{
Node
:
nodefs
.
NewDefaultNode
(),
data
:
data
}
}
func
(
f
*
StaticFile
)
GetAttr
(
out
*
fuse
.
Attr
,
_
nodefs
.
File
,
_
*
fuse
.
Context
)
fuse
.
Status
{
out
.
Size
=
uint64
(
len
(
f
.
data
))
out
.
Mode
=
fuse
.
S_IFREG
|
0644
return
fuse
.
OK
}
func
(
f
*
StaticFile
)
Read
(
_
nodefs
.
File
,
dest
[]
byte
,
off
int64
,
_
*
fuse
.
Context
)
(
fuse
.
ReadResult
,
fuse
.
Status
)
{
l
:=
int64
(
len
(
f
.
data
))
end
:=
off
+
l
if
end
>
l
{
end
=
l
}
return
fuse
.
ReadResultData
(
f
.
data
[
off
:
end
]),
fuse
.
OK
}
// mkdir adds child to parent as directory.
func
mkdir
(
parent
nodefs
.
Node
,
name
string
,
child
nodefs
.
Node
)
{
parent
.
Inode
()
.
NewChild
(
name
,
true
,
child
)
}
// mkfile adds child to parent as file.
func
mkfile
(
parent
nodefs
.
Node
,
name
string
,
child
nodefs
.
Node
)
{
parent
.
Inode
()
.
NewChild
(
name
,
false
,
child
)
}
wcfs/wcfs.go
View file @
43b113bf
...
...
@@ -246,53 +246,15 @@ import (
"log"
"os"
"github.com/hanwen/go-fuse/fuse"
"github.com/hanwen/go-fuse/fuse/nodefs"
)
// /.wcfs + option to prevent starting if wcfs was already started ?
// /zurl ?
type
StaticFile
struct
{
nodefs
.
Node
data
[]
byte
}
func
NewStaticFile
(
data
[]
byte
)
*
StaticFile
{
return
&
StaticFile
{
Node
:
nodefs
.
NewDefaultNode
(),
data
:
data
}
}
func
(
f
*
StaticFile
)
GetAttr
(
out
*
fuse
.
Attr
,
_
nodefs
.
File
,
_
*
fuse
.
Context
)
fuse
.
Status
{
out
.
Size
=
uint64
(
len
(
f
.
data
))
out
.
Mode
=
fuse
.
S_IFREG
|
0644
return
fuse
.
OK
}
func
(
f
*
StaticFile
)
Read
(
_
nodefs
.
File
,
dest
[]
byte
,
off
int64
,
_
*
fuse
.
Context
)
(
fuse
.
ReadResult
,
fuse
.
Status
)
{
l
:=
int64
(
len
(
f
.
data
))
end
:=
off
+
l
if
end
>
l
{
end
=
l
}
return
fuse
.
ReadResultData
(
f
.
data
[
off
:
end
]),
fuse
.
OK
}
// mkdir adds child to parent as directory.
func
mkdir
(
parent
nodefs
.
Node
,
name
string
,
child
nodefs
.
Node
)
{
parent
.
Inode
()
.
NewChild
(
name
,
true
,
child
)
}
// mkfile adds child to parent as file.
func
mkfile
(
parent
nodefs
.
Node
,
name
string
,
child
nodefs
.
Node
)
{
parent
.
Inode
()
.
NewChild
(
name
,
false
,
child
)
}
// option to prevent starting if wcfs was already started ?
func
main
()
{
log
.
SetPrefix
(
"wcfs: "
)
debug
:=
flag
.
Bool
(
"d"
,
tru
e
,
"debug"
)
debug
:=
flag
.
Bool
(
"d"
,
fals
e
,
"debug"
)
flag
.
Parse
()
if
len
(
flag
.
Args
())
!=
2
{
log
.
Fatalf
(
"Usage: %s zurl mntpt"
,
os
.
Args
[
0
])
...
...
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