aboutsummaryrefslogtreecommitdiff
path: root/sys/fs/ext2fs/ext2_inode_cnv.c
diff options
context:
space:
mode:
authorFedor Uporov <fsu@FreeBSD.org>2018-05-13 19:29:35 +0000
committerFedor Uporov <fsu@FreeBSD.org>2018-05-13 19:29:35 +0000
commitc4aa9a026d9fd685bb417ae172875ce6d1e01e1b (patch)
tree300da828b27342311937fb805e51b16d07838531 /sys/fs/ext2fs/ext2_inode_cnv.c
parente06e5241a067e3a3bc4756a3bb2674b55d764493 (diff)
downloadsrc-c4aa9a026d9fd685bb417ae172875ce6d1e01e1b.tar.gz
src-c4aa9a026d9fd685bb417ae172875ce6d1e01e1b.zip
Fix on-disk inode checksum calculation logic.
Reviewed by: pfg MFC after: 3 months Differential Revision: https://reviews.freebsd.org/D15395
Notes
Notes: svn path=/head/; revision=333585
Diffstat (limited to 'sys/fs/ext2fs/ext2_inode_cnv.c')
-rw-r--r--sys/fs/ext2fs/ext2_inode_cnv.c9
1 files changed, 1 insertions, 8 deletions
diff --git a/sys/fs/ext2fs/ext2_inode_cnv.c b/sys/fs/ext2fs/ext2_inode_cnv.c
index 4e307f615c08..558de7b05605 100644
--- a/sys/fs/ext2fs/ext2_inode_cnv.c
+++ b/sys/fs/ext2fs/ext2_inode_cnv.c
@@ -92,10 +92,7 @@ ext2_print_inode(struct inode *in)
int
ext2_ei2i(struct ext2fs_dinode *ei, struct inode *ip)
{
- struct m_ext2fs *fs;
- const static struct ext2fs_dinode ei_zero;
- fs = ip->i_e2fs;
ip->i_nlink = ei->e2di_nlink;
/*
* Godmar thinks - if the link count is zero, then the inode is
@@ -139,11 +136,7 @@ ext2_ei2i(struct ext2fs_dinode *ei, struct inode *ip)
memcpy(ip->i_data, ei->e2di_blocks, sizeof(ei->e2di_blocks));
- if (EXT2_HAS_RO_COMPAT_FEATURE(fs, EXT2F_ROCOMPAT_METADATA_CKSUM) &&
- memcmp(ei, &ei_zero, EXT2_INODE_SIZE(fs)))
- return (ext2_ei_csum_verify(ip, ei));
-
- return (0);
+ return (ext2_ei_csum_verify(ip, ei));
}
/*