[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: mm_last_pg+1 != filesize



I forgot this thread...

On 22/12/15 16:39, Howard Chu wrote:
Not malicious.  Omit some commits like slapadd -q does, and it can happen
naturally.  Maybe slapadd -q can do just that with large IDLs.

The change in question was for msync, which is only used for
MDB_WRITEMAP.

True, I missed that.

Regular fdatasync doesn't require a length parameter, so it's irrelevant.

I think MDB_meta and MDB_txn need "last written page" maintained
by mdb_page_flush().  Can VL32 wait for MDB_DATA_VERSION > 1?

mdb_page_flush() already maintains last_pgno for MDB_VL32.

Yes, but it initializes mt_last_pgno = meta->mm_last_pg, which
can be beyond the filesize.

I mean to get back to that test program and test it on Windows with
bigger memory chunks, but I don't seem to be getting around to it...