From 0a34f342c3facace0767ff08f05532c9f161e305 Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Fri, 22 Jun 2012 09:44:40 +0930 Subject: ntdb: enhancement to allow direct access to the ntdb map during expansion. This means keeping the old mmap around when we expand the database. We could revert to read/write, except for platforms with incoherent mmap (ie. OpenBSD), where we need to use mmap for all accesses. Thus we keep a linked list of old maps, and unmap them when the last access finally goes away. This is required if we want ntdb_parse_record() callbacks to be able to expand the database. Signed-off-by: Rusty Russell --- lib/ntdb/free.c | 3 --- 1 file changed, 3 deletions(-) (limited to 'lib/ntdb/free.c') diff --git a/lib/ntdb/free.c b/lib/ntdb/free.c index 971436f5a3..470c3765d9 100644 --- a/lib/ntdb/free.c +++ b/lib/ntdb/free.c @@ -958,9 +958,6 @@ ntdb_off_t alloc(struct ntdb_context *ntdb, size_t keylen, size_t datalen, { ntdb_off_t off; - /* We can't hold pointers during this: we could unmap! */ - assert(!ntdb->direct_access); - for (;;) { enum NTDB_ERROR ecode; off = get_free(ntdb, keylen, datalen, growing, magic); -- cgit