diff options
-rw-r--r-- | ext2fs/ChangeLog | 5 | ||||
-rw-r--r-- | ext2fs/truncate.c | 5 |
2 files changed, 9 insertions, 1 deletions
diff --git a/ext2fs/ChangeLog b/ext2fs/ChangeLog index 760b9a80..65afa548 100644 --- a/ext2fs/ChangeLog +++ b/ext2fs/ChangeLog @@ -1,3 +1,8 @@ +2000-07-25 Thomas Bushnell, BSG <tb@mit.edu> + + * truncate.c (trunc_indirect): Before freeing an indirect block, + remove it from the disk pager's kernel cache. + 2000-03-09 Roland McGrath <roland@baalperazim.frob.com> * balloc.c (ext2_free_blocks, ext2_new_block): Fix formats to avoid diff --git a/ext2fs/truncate.c b/ext2fs/truncate.c index f3063e37..5653cbe6 100644 --- a/ext2fs/truncate.c +++ b/ext2fs/truncate.c @@ -138,7 +138,10 @@ trunc_indirect (struct node *node, block_t end, } if (first == 0 && all_freed) - free_block_run_free_ptr (fbr, p); + { + pager_flush_some (diskfs_disk_pager, boffs (*p), block_size); + free_block_run_free_ptr (fbr, p); + } else if (modified) record_indir_poke (node, ind_bh); } |