mirror of
https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
synced 2024-12-04 23:43:51 +08:00
Avoid some potential inode cache coherency problem caused by using the
byte-swapping options to e2fsck. This was the cause of some hard to reproduce problems that had been reported in the past, and which the resize_inode changes tickled in a much more repeatable fashion.
This commit is contained in:
parent
08fd3f36c3
commit
71669d0541
@ -1,3 +1,9 @@
|
||||
2004-12-23 Theodore Ts'o <tytso@mit.edu>
|
||||
|
||||
* swapfs.c (swap_inodes): Since swap_inodes bypasses the inode
|
||||
cache for speed reasons, we must flush it to avoid cache
|
||||
coherency problems.
|
||||
|
||||
2004-12-16 Theodore Ts'o <tytso@mit.edu>
|
||||
|
||||
* super.c (check_super_block): If the resize_inode feature is not
|
||||
|
@ -182,6 +182,7 @@ static void swap_inodes(e2fsck_t ctx)
|
||||
ext2fs_free_mem(&buf);
|
||||
ext2fs_free_mem(&block_buf);
|
||||
e2fsck_use_inode_shortcuts(ctx, 0);
|
||||
ext2fs_flush_icache(fs);
|
||||
}
|
||||
|
||||
#if defined(__powerpc__) && defined(EXT2FS_ENABLE_SWAPFS)
|
||||
|
@ -1,5 +1,8 @@
|
||||
2004-12-23 Theodore Ts'o <tytso@mit.edu>
|
||||
|
||||
* inode.c (ext2fs_flush_icache): When flushing the icache, clear
|
||||
the last-read block information as well.
|
||||
|
||||
* ext2fs.h (BMAP_SET), bmap.c (ext2fs_bmap): Add support for new
|
||||
flag, BMAP_SET, which allows the caller to set a
|
||||
particular logical->physical block mapping.
|
||||
|
@ -63,6 +63,7 @@ errcode_t ext2fs_flush_icache(ext2_filsys fs)
|
||||
for (i=0; i < fs->icache->cache_size; i++)
|
||||
fs->icache->cache[i].ino = 0;
|
||||
|
||||
fs->icache->buffer_blk = 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user