*_FileSizes_changed(): It appears it is valid to squeeze out 'dirty' blocks.
authorshort <>
Wed, 13 Aug 2003 10:45:53 +0000 (10:45 +0000)
committershort <>
Wed, 13 Aug 2003 10:45:53 +0000 (10:45 +0000)
Replaced all 'FileSize' sanity checks for more relaxed 'AllocationSize' checks.

src/libcaptive/cc/sharedcachemap.c

index 44c1dcd..4dbd2da 100644 (file)
@@ -220,6 +220,7 @@ int errint;
 
                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;
 
@@ -229,6 +230,7 @@ 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! */
@@ -391,7 +393,7 @@ gboolean after_eof=FALSE;   /* Did we reached the end of file already? */
        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);
@@ -420,7 +422,7 @@ guint64 now;
 
        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);
@@ -437,7 +439,7 @@ guint64 now;
 
        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);
@@ -454,7 +456,7 @@ guint64 now;
 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);
@@ -476,7 +478,7 @@ gboolean captive_shared_cache_map_is_page_dirty(CaptiveSharedCacheMapObject *cap
 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);
@@ -490,7 +492,7 @@ void captive_shared_cache_map_page_set_lsn(CaptiveSharedCacheMapObject *captive_
 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);
@@ -566,7 +568,7 @@ CaptiveSharedCacheMapObject_page *page;
 
        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);
@@ -637,7 +639,7 @@ CaptiveSharedCacheMapObject_page *page;
 
        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);
@@ -672,7 +674,7 @@ guint64 now;
        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);