* the window space before and half behind the
* requested mapping */
- delta = PAGE_ALIGN((DEFAULT_WINDOW_SIZE - size) / 2);
+ delta = (DEFAULT_WINDOW_SIZE - size) / 2;
- if (offset < delta)
+ if (delta > offset)
delta = offset;
offset -= delta;
- size += (DEFAULT_WINDOW_SIZE - delta);
+ size = DEFAULT_WINDOW_SIZE;
} else
delta = 0;
if (offset + size > (uint64_t) f->last_stat.st_size)
- size = PAGE_ALIGN((uint64_t) f->last_stat.st_size - offset);
+ size = (uint64_t) f->last_stat.st_size - offset;
if (size <= 0)
return -EADDRNOTAVAIL;
if (r < 0)
return r;
- log_error("=> %s seqnr=%lu n_entries=%lu", f->path, (unsigned long) o->entry.seqnum, (unsigned long) f->header->n_entries);
+ /* log_debug("=> %s seqnr=%lu n_entries=%lu", f->path, (unsigned long) o->entry.seqnum, (unsigned long) f->header->n_entries); */
if (f->header->head_entry_realtime == 0)
f->header->head_entry_realtime = o->entry.realtime;
ts->monotonic < le64toh(f->header->tail_entry_monotonic))
return -EINVAL;
- if (ts->realtime < le64toh(f->header->tail_entry_realtime))
- return -EINVAL;
-
items = alloca(sizeof(EntryItem) * n_iovec);
for (i = 0; i < n_iovec; i++) {