* inode.c (ext2fs_write_new_inode): New function which should be
used when the caller is writing an inode for the first
time. It makes sure that the extra portion of the large
- inode is cleared.
+ inode is initialized properly.
2005-03-18 Theodore Ts'o <tytso@mit.edu>
/*
* This function should be called when writing a new inode. It makes
- * sure that extra part of large inodes is cleared.
+ * sure that extra part of large inodes is initialized properly.
*/
errcode_t ext2fs_write_new_inode(ext2_filsys fs, ext2_ino_t ino,
struct ext2_inode *inode)
struct ext2_inode *buf;
errcode_t retval;
int size = EXT2_INODE_SIZE(fs->super);
+ struct ext2_inode_large *large_inode;
if (size == sizeof(struct ext2_inode))
return ext2fs_write_inode_full(fs, ino, inode,
memset(buf, 0, size);
*buf = *inode;
+ large_inode = (struct ext2_inode_large *) buf;
+ large_inode->i_extra_isize = sizeof(struct ext2_inode_large) -
+ EXT2_GOOD_OLD_INODE_SIZE;
+
retval = ext2fs_write_inode_full(fs, ino, buf, size);
}
+2005-03-21 Theodore Ts'o <tytso@mit.edu>
+
+ * mke2fs.c (create_root_dir): Call ext2fs_write_new_inode() instead of
+ ext2fs_write_inode().
+
2005-03-19 Theodore Ts'o <tytso@mit.edu>
* mke2fs.c (show_stats): Use the new e2p_os2string() function
inode.i_uid = getuid();
if (inode.i_uid)
inode.i_gid = getgid();
- retval = ext2fs_write_inode(fs, EXT2_ROOT_INO, &inode);
+ retval = ext2fs_write_new_inode(fs, EXT2_ROOT_INO, &inode);
if (retval) {
com_err("ext2fs_write_inode", retval,
_("while setting root inode ownership"));