captive_shared_cache_map_object->buffer=buffer_new;
+#if 0 /* It appears it is valid to squeeze out 'dirty' blocks. FIXME: Flush them? */
if (size_old>size_new) {
guint64 now;
g_assert(!captive_shared_cache_map_object->pages[now/PAGE_SIZE].dirty);
}
}
+#endif
captive_shared_cache_map_object->pages=g_realloc(captive_shared_cache_map_object->pages,
size_new/PAGE_SIZE*sizeof(*captive_shared_cache_map_object->pages));
if (size_new>size_old) /* prevent 'size_new-size_old' as it is unsigned! */
g_return_if_fail(CAPTIVE_SHARED_CACHE_MAP_IS_OBJECT(captive_shared_cache_map_object));
g_return_if_fail(captive_shared_cache_map_object==captive_FileObject_to_SharedCacheMap(FileObject));
g_return_if_fail(start<=end);
- g_return_if_fail(end<=CAPTIVE_ROUND_UP64(captive_shared_cache_map_object->FileSize,PAGE_SIZE));
+ g_return_if_fail(end<=CAPTIVE_ROUND_UP64(captive_shared_cache_map_object->AllocationSize,PAGE_SIZE));
start=CAPTIVE_ROUND_DOWN64(start,PAGE_SIZE);
end=CAPTIVE_ROUND_UP64(end,PAGE_SIZE);
g_return_if_fail(CAPTIVE_SHARED_CACHE_MAP_IS_OBJECT(captive_shared_cache_map_object));
g_return_if_fail(start<=end);
- g_return_if_fail(end<=CAPTIVE_ROUND_UP64(captive_shared_cache_map_object->FileSize,PAGE_SIZE));
+ g_return_if_fail(end<=CAPTIVE_ROUND_UP64(captive_shared_cache_map_object->AllocationSize,PAGE_SIZE));
start=CAPTIVE_ROUND_DOWN64(start,PAGE_SIZE);
end=CAPTIVE_ROUND_UP64(end,PAGE_SIZE);
g_return_if_fail(CAPTIVE_SHARED_CACHE_MAP_IS_OBJECT(captive_shared_cache_map_object));
g_return_if_fail(start<=end);
- g_return_if_fail(end<=CAPTIVE_ROUND_UP64(captive_shared_cache_map_object->FileSize,PAGE_SIZE));
+ g_return_if_fail(end<=CAPTIVE_ROUND_UP64(captive_shared_cache_map_object->AllocationSize,PAGE_SIZE));
start=CAPTIVE_ROUND_DOWN64(start,PAGE_SIZE);
end=CAPTIVE_ROUND_UP64(end,PAGE_SIZE);
CaptiveSharedCacheMapObject_page *page;
g_return_if_fail(CAPTIVE_SHARED_CACHE_MAP_IS_OBJECT(captive_shared_cache_map_object));
- g_return_if_fail(end<=CAPTIVE_ROUND_UP64(captive_shared_cache_map_object->FileSize,PAGE_SIZE));
+ g_return_if_fail(end<=CAPTIVE_ROUND_UP64(captive_shared_cache_map_object->AllocationSize,PAGE_SIZE));
start=CAPTIVE_ROUND_DOWN64(start,PAGE_SIZE);
end=CAPTIVE_ROUND_UP64(end,PAGE_SIZE);
CaptiveSharedCacheMapObject_page *page;
g_return_val_if_fail(CAPTIVE_SHARED_CACHE_MAP_IS_OBJECT(captive_shared_cache_map_object),FALSE);
- g_return_val_if_fail(offset<CAPTIVE_ROUND_UP64(captive_shared_cache_map_object->FileSize,PAGE_SIZE),FALSE);
+ g_return_val_if_fail(offset<CAPTIVE_ROUND_UP64(captive_shared_cache_map_object->AllocationSize,PAGE_SIZE),FALSE);
g_return_val_if_fail(0==CAPTIVE_ROUND_DOWN_EXCEEDING64(offset,PAGE_SIZE),FALSE);
page=captive_shared_cache_map_object->pages+offset/PAGE_SIZE;
g_return_val_if_fail(page->data_valid,FALSE);
CaptiveSharedCacheMapObject_page *page;
g_return_if_fail(CAPTIVE_SHARED_CACHE_MAP_IS_OBJECT(captive_shared_cache_map_object));
- g_return_if_fail(offset<=CAPTIVE_ROUND_UP64(captive_shared_cache_map_object->FileSize,PAGE_SIZE));
+ g_return_if_fail(offset<=CAPTIVE_ROUND_UP64(captive_shared_cache_map_object->AllocationSize,PAGE_SIZE));
g_return_if_fail(0==CAPTIVE_ROUND_DOWN_EXCEEDING64(offset,PAGE_SIZE));
page=captive_shared_cache_map_object->pages+offset/PAGE_SIZE;
g_return_if_fail(page->data_valid);
g_return_if_fail(CAPTIVE_SHARED_CACHE_MAP_IS_OBJECT(captive_shared_cache_map_object));
g_return_if_fail(captive_shared_cache_map_object->FileObject!=NULL);
- g_return_if_fail(offset<=CAPTIVE_ROUND_UP64(captive_shared_cache_map_object->FileSize,PAGE_SIZE));
+ g_return_if_fail(offset<=CAPTIVE_ROUND_UP64(captive_shared_cache_map_object->AllocationSize,PAGE_SIZE));
g_return_if_fail(0==CAPTIVE_ROUND_DOWN_EXCEEDING64(offset,PAGE_SIZE));
page=captive_shared_cache_map_object->pages+offset/PAGE_SIZE;
g_return_if_fail(page->data_valid);
g_return_if_fail(CAPTIVE_SHARED_CACHE_MAP_IS_OBJECT(captive_shared_cache_map_object));
g_return_if_fail(captive_shared_cache_map_object->FileObject!=NULL);
- g_return_if_fail(offset<CAPTIVE_ROUND_UP64(captive_shared_cache_map_object->FileSize,PAGE_SIZE));
+ g_return_if_fail(offset<CAPTIVE_ROUND_UP64(captive_shared_cache_map_object->AllocationSize,PAGE_SIZE));
g_return_if_fail(0==CAPTIVE_ROUND_DOWN_EXCEEDING64(offset,PAGE_SIZE));
page=captive_shared_cache_map_object->pages+offset/PAGE_SIZE;
g_return_if_fail(page->data_valid);
g_return_val_if_fail(CAPTIVE_SHARED_CACHE_MAP_IS_OBJECT(captive_shared_cache_map_object),0);
g_return_val_if_fail(start<=end,0);
- end=MIN(end,CAPTIVE_ROUND_UP64(captive_shared_cache_map_object->FileSize,PAGE_SIZE));
+ end=MIN(end,CAPTIVE_ROUND_UP64(captive_shared_cache_map_object->AllocationSize,PAGE_SIZE));
start=CAPTIVE_ROUND_DOWN64(start,PAGE_SIZE);
end=CAPTIVE_ROUND_UP64(end,PAGE_SIZE);