aboutsummaryrefslogtreecommitdiff
path: root/ext2fs/inode.c
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2002-10-08 23:10:09 +0000
committerRoland McGrath <roland@gnu.org>2002-10-08 23:10:09 +0000
commit73b011e7bc07c57b140f3851a452b33d209dfddc (patch)
tree773165fc78742386f0ac979b7f3b822cd688076c /ext2fs/inode.c
parent25bb7089abd2256734497a7250915ff8694e39f2 (diff)
downloadhurd-73b011e7bc07c57b140f3851a452b33d209dfddc.tar.gz
hurd-73b011e7bc07c57b140f3851a452b33d209dfddc.tar.bz2
hurd-73b011e7bc07c57b140f3851a452b33d209dfddc.zip
2002-10-08 Roland McGrath <roland@frob.com>
* 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.
Diffstat (limited to 'ext2fs/inode.c')
-rw-r--r--ext2fs/inode.c3
1 files changed, 3 insertions, 0 deletions
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);