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
3dcac7d7
Commit
3dcac7d7
authored
Dec 17, 2019
by
Kirill Smelkov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
.
parent
2b3de554
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
12 additions
and
11 deletions
+12
-11
bigfile/_file_zodb.pyx
bigfile/_file_zodb.pyx
+12
-11
No files found.
bigfile/_file_zodb.pyx
View file @
3dcac7d7
...
...
@@ -105,22 +105,21 @@ cdef public class _ZBigFile(BigFile) [object _ZBigFile, type _ZBigFile_Type]:
# functions that we give to virtmem bigfile_ops .mmap*
"""
cdef nogil:
cdef
extern
from
*
nogil
:
"""
void* virt_mmap_setup_read(VMA *vma, BigFile *file, blk_t blk, size_t blklen) {
FileH fileh; #
XXX = ... somehow from file
Mapping mmap;
wcfs::FileH fileh; //
XXX = ... somehow from file
wcfs::
Mapping mmap;
error err;
tie(mmap, err) = fileh->mmap(blk, blklen, vma);
if (err != nil)
panic("TODO");
#
XXX
panic("TODO");
//
XXX
mmap->incref();
#
vma->mmap_overlay_server is keeping ref to mmap
mmap->incref();
//
vma->mmap_overlay_server is keeping ref to mmap
vma->mmap_overlay_server = mmap._ptr();
#
XXX here? -> in fileh->mmap? don't set at all here?
//
XXX here? -> in fileh->mmap? don't set at all here?
vma->addr_start = (uintptr_t)mmap->mem_start;
vma->addr_stop = (uintptr_t)mmap->mem_stop;
...
...
@@ -128,7 +127,7 @@ cdef nogil:
}
int virt_remmap_blk_read(VMA *vma, BigFile *file, blk_t blk) {
_Mapping *mmap = static_cast<
_Mapping*>(vma->mmap_overlay_server);
wcfs::_Mapping *mmap = static_cast<wcfs::
_Mapping*>(vma->mmap_overlay_server);
// XXX use file?
mmap->remmap_blk(blk); // XXX err
...
...
@@ -137,14 +136,16 @@ cdef nogil:
void virt_munmap(VMA *vma, BigFile *file) {
Mapping mmap = adoptref(static_cast<_Mapping*>(vma->mmap_overlay_server)); // NOTE taking 1 ref back
// NOTE taking 1 ref back from vma->mmap_overlay_server
wcfs::Mapping mmap = adoptref(static_cast<wcfs::_Mapping*>(vma->mmap_overlay_server));
vma->mmap_overlay_server = NULL;
mmap->unmap();
// XXX close mmap->fileh
}
"""
"""
pass
...
...
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