diff options
Diffstat (limited to 'sys/gnu/fs/ext2fs/ext2_inode_cnv.c')
-rw-r--r-- | sys/gnu/fs/ext2fs/ext2_inode_cnv.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/gnu/fs/ext2fs/ext2_inode_cnv.c b/sys/gnu/fs/ext2fs/ext2_inode_cnv.c index d64e549..12b5f4a 100644 --- a/sys/gnu/fs/ext2fs/ext2_inode_cnv.c +++ b/sys/gnu/fs/ext2fs/ext2_inode_cnv.c @@ -77,6 +77,8 @@ ext2_ei2i(ei, ip) */ ip->i_mode = ei->i_links_count ? ei->i_mode : 0; ip->i_size = ei->i_size; + if (S_ISREG(ip->i_mode)) + ip->i_size |= ((u_int64_t)ei->i_size_high) << 32; ip->i_atime = ei->i_atime; ip->i_mtime = ei->i_mtime; ip->i_ctime = ei->i_ctime; @@ -112,6 +114,8 @@ ext2_i2ei(ip, ei) */ ei->i_dtime = ei->i_links_count ? 0 : ip->i_mtime; ei->i_size = ip->i_size; + if (S_ISREG(ip->i_mode)) + ei->i_size_high = ip->i_size >> 32; ei->i_atime = ip->i_atime; ei->i_mtime = ip->i_mtime; ei->i_ctime = ip->i_ctime; |