This commit was manufactured by cvs2svn to create tag
[linux-2.6.git] / include / linux / msdos_fs_sb.h
index 3310996..c79a172 100644 (file)
@@ -26,9 +26,14 @@ struct fat_mount_options {
                 nocase:1;        /* Does this need case conversion? 0=need case conversion*/
 };
 
-#define FAT_HASH_BITS  8
-#define FAT_HASH_SIZE  (1UL << FAT_HASH_BITS)
-#define FAT_HASH_MASK  (FAT_HASH_SIZE-1)
+#define FAT_CACHE_NR   8 /* number of FAT cache */
+
+struct fat_cache {
+       int start_cluster; /* first cluster of the chain. */
+       int file_cluster; /* cluster number in the file. */
+       int disk_cluster; /* cluster number on disk. */
+       struct fat_cache *next; /* next cache entry */
+};
 
 struct msdos_sb_info {
        unsigned short sec_per_clus; /* sectors/cluster */
@@ -53,8 +58,8 @@ struct msdos_sb_info {
        int dir_per_block;           /* dir entries per block */
        int dir_per_block_bits;      /* log2(dir_per_block) */
 
-       spinlock_t inode_hash_lock;
-       struct hlist_head inode_hashtable[FAT_HASH_SIZE];
+       spinlock_t cache_lock;
+       struct fat_cache cache_array[FAT_CACHE_NR], *cache;
 };
 
 #endif