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
bf02898b
Commit
bf02898b
authored
Apr 25, 2019
by
Kirill Smelkov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
.
parent
6d86c5dc
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
15 additions
and
14 deletions
+15
-14
wcfs/misc.go
wcfs/misc.go
+1
-8
wcfs/notes.txt
wcfs/notes.txt
+6
-0
wcfs/wcfs.go
wcfs/wcfs.go
+5
-5
wcfs/wcfs_test.py
wcfs/wcfs_test.py
+3
-1
No files found.
wcfs/misc.go
View file @
bf02898b
...
...
@@ -262,14 +262,7 @@ func mount(mntpt string, root nodefs.Node, opts *fuse.MountOptions) (*fuse.Serve
nodefsOpts
:=
nodefs
.
NewOptions
()
nodefsOpts
.
Debug
=
opts
.
Debug
fsconn
:=
nodefs
.
NewFileSystemConnector
(
root
,
nodefsOpts
)
fssrv
,
err
:=
fuse
.
NewServer
(
fsconn
.
RawFS
(),
mntpt
,
opts
)
if
err
!=
nil
{
return
nil
,
nil
,
err
}
return
fssrv
,
fsconn
,
nil
return
nodefs
.
Mount
(
mntpt
,
root
,
opts
,
nodefsOpts
)
}
...
...
wcfs/notes.txt
View file @
bf02898b
...
...
@@ -37,6 +37,12 @@ the kernel it is fully responsible for invalidating pagecache:
https://lwn.net/ml/linux-fsdevel/20190315212556.9315-1-kirr%40nexedi.com/
As of 2019-Apr-25 the patch entered fuse.git#for-next:
https://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse.git/commit/?id=ad2ba64dd489
and should likely enter mainline when 5.2 merge window opens.
Invalidations to wcfs clients are delayed until block access
============================================================
...
...
wcfs/wcfs.go
View file @
bf02898b
...
...
@@ -2017,8 +2017,8 @@ func main() {
// XXX tune MaxReadAhead? MaxBackground?
// OS cache that we populate with bigfile data is precious;
// we
precise
ly propagate ZODB invalidations into file invalidations.
Precise
DataCacheControl
:
true
,
// we
explicit
ly propagate ZODB invalidations into file invalidations.
Explicit
DataCacheControl
:
true
,
DisableXAttrs
:
true
,
// we don't use
Debug
:
*
debug
,
...
...
@@ -2039,10 +2039,10 @@ func main() {
if
!
(
supports
(
fuse
.
NOTIFY_STORE_CACHE
)
&&
supports
(
fuse
.
NOTIFY_RETRIEVE_CACHE
))
{
log
.
Fatalf
(
"%s does not support pagecache control"
,
kfuse
)
}
// make a bold warning if kernel does not support
precise
cache invalidation
// make a bold warning if kernel does not support
explicit
cache invalidation
// (patch sent upstream; see notes.txt -> "Notes on OS pagecache control")
if
kinit
.
Flags
&
fuse
.
CAP_
PRECISE
_INVAL_DATA
==
0
{
w1
:=
fmt
.
Sprintf
(
"%s does not support
precise
data cache invalidation"
,
kfuse
)
if
kinit
.
Flags
&
fuse
.
CAP_
EXPLICIT
_INVAL_DATA
==
0
{
w1
:=
fmt
.
Sprintf
(
"%s does not support
explicit
data cache invalidation"
,
kfuse
)
w2
:=
"-> performance will be AWFUL."
log
.
Error
(
w1
);
log
.
Error
(
w2
)
fmt
.
Fprintf
(
os
.
Stderr
,
"W: wcfs: %s
\n
W: wcfs: %s
\n
"
,
w1
,
w2
)
...
...
wcfs/wcfs_test.py
View file @
bf02898b
...
...
@@ -371,7 +371,9 @@ class tWatch:
t
.
tdb
=
tdb
# python/stdio lock file object on read/write
# however we need both read and write to be working simultaneously
# however we need both read and write to be working simultaneously.
# fdopen takes ownership of file descriptor and closes it when file object is closed.
#print('\n\n')
#os.system("ls -l %s" % tdb.path("head"))
#print('\n\n')
...
...
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