Commit 475db2ac authored by Kirill Smelkov's avatar Kirill Smelkov

.

parent b48481c0
......@@ -902,14 +902,35 @@ out:
}
/* PyBigFile: mmap methods.
* They redirect op X to type.blkmmapper.X without going to Python level */
static void*
pybigfile_mmap_setup_read(VMA *vma, BigFile *file0, blk_t blk, size_t blklen)
{
BUG(); // XXX
}
static int
pybigfile_remmap_blk_read(VMA *vma, BigFile *file0, blk_t blk)
{
BUG(); // XXX
}
static void
pybigfile_munmap(VMA *vma, BigFile *file0)
{
BUG(); // XXX
}
static const struct bigfile_ops pybigfile_ops = {
.loadblk = pybigfile_loadblk,
.storeblk = pybigfile_storeblk,
// TODO .mmap*
.mmap_setup_read = NULL,
.remmap_blk_read = NULL,
.munmap = NULL,
.mmap_setup_read = pybigfile_mmap_setup_read,
.remmap_blk_read = pybigfile_remmap_blk_read,
.munmap = pybigfile_munmap,
//.release =
};
......@@ -972,6 +993,7 @@ pyfile_new(PyTypeObject *type, PyObject *args, PyObject *kw)
PyObject *blkmmapper;
bigfile_ops *blkmmap_ops = NULL;
/* try to get type.blkmmapper and verify it provides IBlkMMapper interface */
blkmmapper = PyObject_GetAttrString((PyObject*)type, "blkmmapper");
PyErr_Clear(); /* GetAttr raises exception if there is no attribute */
if (blkmmapper) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment