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
023d55c6
Commit
023d55c6
authored
Apr 22, 2019
by
Kirill Smelkov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
.
parent
df8671c1
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
23 additions
and
2 deletions
+23
-2
bigfile/file_zodb.py
bigfile/file_zodb.py
+6
-0
wcfs/wcfs.go
wcfs/wcfs.go
+10
-2
wcfs/wcfs_test.py
wcfs/wcfs_test.py
+3
-0
wcfs/δftail.go
wcfs/δftail.go
+4
-0
No files found.
bigfile/file_zodb.py
View file @
023d55c6
...
...
@@ -477,6 +477,12 @@ class ZBigFile(LivePersistent):
LivePersistent
.
__init__
(
self
)
self
.
__setstate__
((
blksize
,
LOBTree
()))
# NOTE L enough for blk_t
# TODO use custom class for .blktab with adjusted bucket size, simething like
# class xLOBTree(LOBTree):
# __slots__ = ()
# max_leaf_size = ... # BTree's default = 60
# max_internal_size = ... # BTree's default = 500
# state is (.blksize, .blktab)
def
__getstate__
(
self
):
...
...
wcfs/wcfs.go
View file @
023d55c6
...
...
@@ -412,6 +412,11 @@ package main
// δF - change in File*s* space
// δfile - change in File(1) space
// XXX describe locking
//
// head.zconnMu write by handleδZ; read by read
// ...
import
(
"bufio"
"context"
...
...
@@ -1362,6 +1367,11 @@ func (wlink *WatchLink) setupWatch(ctx context.Context, foid zodb.Oid, at zodb.T
return
fmt
.
Errorf
(
"at is too far away back from head/at"
)
}
// XXX register w to f early, so that READs going in parallel to us
// preparing and processing initial pins, also sends pin for read
// blocks. If we don't we can miss to send pin for a freshly read which
// could have revision > w.at .
toPin
:=
map
[
int64
]
zodb
.
Tid
{}
// blk -> @rev
// XXX locking ok?
...
...
@@ -1393,8 +1403,6 @@ func (wlink *WatchLink) setupWatch(ctx context.Context, foid zodb.Oid, at zodb.T
panic
(
err
)
// XXX
}
// XXX register w to f (here ?)
return
nil
}
...
...
wcfs/wcfs_test.py
View file @
023d55c6
...
...
@@ -651,6 +651,9 @@ def test_wcfs():
# XXX ZBlk copied from blk1 -> blk2 ; for the same file and for file1 -> file2
# XXX ZBlk moved from blk1 -> blk2 ; for the same file and for file1 -> file2
# XXX read file[blk]=hole; then file[blk]=zblk - must be invalidated and
# setupWatch must send pins.
def
test_wcfs_invproto
():
...
...
wcfs/δftail.go
View file @
023d55c6
...
...
@@ -192,6 +192,10 @@ func (δFtail *ΔFtail) SliceByFileRev(file *BigFile, lo, hi zodb.Tid) /*readonl
// FIXME stub: assumes blktab topology does not change.
// takes only ZBlk history into account.
var
vδfile
[]
Δfile
for
_
,
δZ
:=
range
vδZ
{
for
_
,
oid
:=
range
δZ
.
Changev
{
}
}
/*
// XXX activate zfile?
...
...
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