From 73b011e7bc07c57b140f3851a452b33d209dfddc Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Tue, 8 Oct 2002 23:10:09 +0000 Subject: 2002-10-08 Roland McGrath * ext2fs.h (struct disknode): New member `info_i_translator'. * inode.c (diskfs_set_translator): Update NP->dn->info_i_translator. * ialloc.c (diskfs_alloc_node): Clear a nonzero translator block in the on-disk inode just as we do for data blocks. --- ext2fs/inode.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'ext2fs/inode.c') diff --git a/ext2fs/inode.c b/ext2fs/inode.c index 98279e85..b6185855 100644 --- a/ext2fs/inode.c +++ b/ext2fs/inode.c @@ -295,6 +295,7 @@ read_node (struct node *np) EXT2_N_BLOCKS * sizeof info->i_data[0]); st->st_rdev = 0; } + dn->info_i_translator = di->i_translator; diskfs_end_catch_exception (); @@ -666,6 +667,7 @@ diskfs_set_translator (struct node *np, const char *name, unsigned namelen, } di->i_translator = blkno; + np->dn->info_i_translator = blkno; record_global_poke (di); np->dn_stat.st_blocks += 1 << log2_stat_blocks_per_fs_block; @@ -675,6 +677,7 @@ diskfs_set_translator (struct node *np, const char *name, unsigned namelen, { /* Clear block for translator going away. */ di->i_translator = 0; + np->dn->info_i_translator = 0; record_global_poke (di); ext2_free_blocks (blkno, 1); -- cgit v1.2.3