ChangeLog, inode.c:
inode.c (ext2fs_flush_icache): Add new function ext2fs_flush_icache()
which flushes the internal inode cache. Applications which modify the
inode table blocks directly must call this function.
diff --git a/lib/ext2fs/inode.c b/lib/ext2fs/inode.c
index 58c9d5d..590def4 100644
--- a/lib/ext2fs/inode.c
+++ b/lib/ext2fs/inode.c
@@ -54,10 +54,25 @@
int reserved[6];
};
+/*
+ * This routine flushes the icache, if it exists.
+ */
+errcode_t ext2fs_flush_icache(ext2_filsys fs)
+{
+ int i;
+
+ if (!fs->icache)
+ return 0;
+
+ for (i=0; i < fs->icache->cache_size; i++)
+ fs->icache->cache[i].ino = 0;
+
+ return 0;
+}
+
static errcode_t create_icache(ext2_filsys fs)
{
errcode_t retval;
- int i;
if (fs->icache)
return 0;
@@ -84,8 +99,7 @@
ext2fs_free_mem((void **) &fs->icache);
return retval;
}
- for (i=0; i < fs->icache->cache_size; i++)
- fs->icache->cache[i].ino = 0;
+ ext2fs_flush_icache(fs);
return 0;
}