[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: mm_last_pg+1 != filesize
- To: Howard Chu <hyc@symas.com>
- Subject: Re: mm_last_pg+1 != filesize
- From: Hallvard Breien Furuseth <h.b.furuseth@usit.uio.no>
- Date: Tue, 5 Jan 2016 23:39:50 +0100
- Cc: openldap-commit2devel@OpenLDAP.org
- In-reply-to: <56796EB8.2090904@symas.com>
- References: <E1aAqNL-0006GZ-DK@euler.openldap.org> <5678F630.6060100@usit.uio.no> <5678FA8F.1010604@symas.com> <5679012F.4040203@usit.uio.no> <56796EB8.2090904@symas.com>
- User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0
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...