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
Labels
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Commits
Open sidebar
Kirill Smelkov
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
Show 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