tdb2: fix msync() arg
authorRusty Russell <rusty@rustcorp.com.au>
Wed, 27 Apr 2011 13:30:25 +0000 (23:00 +0930)
committerRusty Russell <rusty@rustcorp.com.au>
Wed, 27 Apr 2011 13:30:25 +0000 (23:00 +0930)
PAGESIZE used to be defined to getpagesize(); we changed it to a
constant in b556ef1f, which broke the msync() call.

ccan/tdb2/transaction.c

index 805ea0948aad0e0ddfa11289aadc26334cfc8a44..55b7fd60dc9c38af5298dc0e87817ca1fa3bf952 100644 (file)
@@ -438,7 +438,7 @@ static enum TDB_ERROR transaction_sync(struct tdb_context *tdb,
        }
 #ifdef MS_SYNC
        if (tdb->file->map_ptr) {
-               tdb_off_t moffset = offset & ~(PAGESIZE-1);
+               tdb_off_t moffset = offset & ~(getpagesize()-1);
                if (msync(moffset + (char *)tdb->file->map_ptr,
                          length + (offset - moffset), MS_SYNC) != 0) {
                        return tdb_logerr(tdb, TDB_ERR_IO, TDB_LOG_ERROR,