summaryrefslogtreecommitdiff
path: root/ext2fs/truncate.c
diff options
context:
space:
mode:
authorThomas Bushnell <thomas@gnu.org>2000-07-25 21:30:01 +0000
committerThomas Bushnell <thomas@gnu.org>2000-07-25 21:30:01 +0000
commit3296b371bab2a87359323a405ed1fa51a00397c9 (patch)
tree748f33a3172e628100d62c33724cd2ca795463e3 /ext2fs/truncate.c
parent2f7e8f040f18b7f9bce6879d4b077094aa7d01c0 (diff)
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.
Diffstat (limited to 'ext2fs/truncate.c')
-rw-r--r--ext2fs/truncate.c5
1 files changed, 4 insertions, 1 deletions
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);
}