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
e3a6a970
Commit
e3a6a970
authored
Mar 15, 2019
by
Kirill Smelkov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
.
parent
a189bd99
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
8 additions
and
2 deletions
+8
-2
wcfs/notes.txt
wcfs/notes.txt
+5
-1
wcfs/wcfs.go
wcfs/wcfs.go
+1
-1
wcfs/wcfs_test.py
wcfs/wcfs_test.py
+2
-0
No files found.
wcfs/notes.txt
View file @
e3a6a970
...
...
@@ -25,10 +25,14 @@ invalidating pagecache - e.g. it will invalidate whole cache on file size change
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/fs/fuse/inode.c?id=e0bc833d10#n233
we can currently workaround it with using writeback mode (see !is_wb in the
(XXX no)
we can currently workaround it with using writeback mode (see !is_wb in the
link above), but better we have proper FUSE flag for filesystem server to
tell the kernel it is fully responsible for invalidating pagecache.
XXX ^^^ we cannot workaround with writeback mode - in writeback mode the kernel
does not trust us for size that we report via getattr, and thus we cannot even
update the file from being 0 size to having some data.
Invalidations to wcfs clients are delayed until block access
============================================================
...
...
wcfs/wcfs.go
View file @
e3a6a970
...
...
@@ -809,7 +809,7 @@ retry:
zhead
.
txnCtx
=
ctx
// 2. restat invalidated ZBigFile
// XXX -> parallel
?
// XXX -> parallel
// XXX locking
for
file
:=
range
toinvalidate
{
size
,
treePath
,
err
:=
file
.
zfile
.
Size
(
ctx
)
...
...
wcfs/wcfs_test.py
View file @
e3a6a970
...
...
@@ -377,6 +377,8 @@ def test_wcfs():
t
.
commit
()
t
.
wcsync
()
# sync wcfs to ZODB
print
(
t
.
stat
(
zf
))
assert
f
.
cached
()
==
[
0
,
0
,
0
]
# initially not cached
f
.
assertData
([
b''
,
b''
,
s
],
mtime
=
t
.
head
)
# XXX assertCache all present?
...
...
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