We must assume that any data in the mmap can change anytime because the
file is deallocated or similar. Let's strictly use EBADMSG for reporting
invalid file contents though (as opposed to using EINVAL if our own code
passes a wrong parameter somwhere).
assert(offset > 0);
if (o->object.type != OBJECT_FIELD)
- return -EINVAL;
+ return -EBADMSG;
m = le64toh(READ_NOW(f->header->field_hash_table_size)) / sizeof(HashItem);
if (m <= 0)
assert(offset > 0);
if (o->object.type != OBJECT_DATA)
- return -EINVAL;
+ return -EBADMSG;
m = le64toh(READ_NOW(f->header->data_hash_table_size)) / sizeof(HashItem);
if (m <= 0)
assert(offset > 0);
if (o->object.type != OBJECT_ENTRY)
- return -EINVAL;
+ return -EBADMSG;
__atomic_thread_fence(__ATOMIC_SEQ_CST);