summaryrefslogtreecommitdiff
path: root/lib/ext2fs
diff options
context:
space:
mode:
authorDarrick J. Wong <djwong@us.ibm.com>2011-09-30 12:38:43 -0700
committerTheodore Ts'o <tytso@mit.edu>2011-09-30 21:28:12 -0400
commita7a63675af85b4b636e9df4961ca44ea03bf160b (patch)
tree3df88616950f1eb62362458d65b51af75922c5c4 /lib/ext2fs
parent8c0de61a245d43cfafbdc7d3f2201934d9dbe8c6 (diff)
downloade2fsprogs-a7a63675af85b4b636e9df4961ca44ea03bf160b.tar.gz
libext2fs: Fix various bugs from the metadata checksum integration
Fix several minor errors in structure definitions, the byteswap code, and Makefiles that result from merging the crc32c and initial parts of the metadata checksumming patchset. Signed-off-by: Darrick J. Wong <djwong@us.ibm.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'lib/ext2fs')
-rw-r--r--lib/ext2fs/Makefile.in2
-rw-r--r--lib/ext2fs/ext2fs.h4
-rw-r--r--lib/ext2fs/swapfs.c18
3 files changed, 11 insertions, 13 deletions
diff --git a/lib/ext2fs/Makefile.in b/lib/ext2fs/Makefile.in
index c2bfb70d..3de9f875 100644
--- a/lib/ext2fs/Makefile.in
+++ b/lib/ext2fs/Makefile.in
@@ -398,7 +398,7 @@ clean::
tst_bitops tst_types tst_icount tst_super_size tst_csum \
ext2_tdbtool mkjournal debug_cmds.c \
../libext2fs.a ../libext2fs_p.a ../libext2fs_chk.a \
- crc32c_table.h
+ crc32c_table.h gen_crc32ctable tst_crc32c
mostlyclean:: clean
distclean:: clean
diff --git a/lib/ext2fs/ext2fs.h b/lib/ext2fs/ext2fs.h
index 203d222b..357bf60f 100644
--- a/lib/ext2fs/ext2fs.h
+++ b/lib/ext2fs/ext2fs.h
@@ -916,8 +916,8 @@ extern int ext2fs_super_and_bgd_loc(ext2_filsys fs,
extern void ext2fs_update_dynamic_rev(ext2_filsys fs);
/* crc32c.c */
-extern __u32 crc32c_be(__u32 crc, unsigned char const *p, size_t len);
-extern __u32 crc32c_le(__u32 crc, unsigned char const *p, size_t len);
+extern __u32 ext2fs_crc32c_be(__u32 crc, unsigned char const *p, size_t len);
+extern __u32 ext2fs_crc32c_le(__u32 crc, unsigned char const *p, size_t len);
/* csum.c */
extern void ext2fs_group_desc_csum_set(ext2_filsys fs, dgrp_t group);
diff --git a/lib/ext2fs/swapfs.c b/lib/ext2fs/swapfs.c
index 79624722..7c99373c 100644
--- a/lib/ext2fs/swapfs.c
+++ b/lib/ext2fs/swapfs.c
@@ -260,7 +260,7 @@ void ext2fs_swap_inode_full(ext2_filsys fs, struct ext2_inode_large *t,
t->osd2.linux2.l_i_gid_high =
ext2fs_swab16 (f->osd2.linux2.l_i_gid_high);
t->osd2.linux2.l_i_checksum_lo =
- ext2fs_swab32(f->osd2.linux2.l_i_checksum_lo);
+ ext2fs_swab16(f->osd2.linux2.l_i_checksum_lo);
break;
case EXT2_OS_HURD:
t->osd1.hurd1.h_i_translator =
@@ -294,21 +294,19 @@ void ext2fs_swap_inode_full(ext2_filsys fs, struct ext2_inode_large *t,
return;
}
- if (extra_isize >= 2)
+ if (extra_isize >= 4)
t->i_checksum_hi = ext2fs_swab16(f->i_checksum_hi);
- if (extra_isize >= 6)
- t->i_checksum_hi = ext2fs_swab32(f->i_checksum_hi);
- if (extra_isize >= 10)
+ if (extra_isize >= 8)
t->i_ctime_extra = ext2fs_swab32(f->i_ctime_extra);
- if (extra_isize >= 14)
+ if (extra_isize >= 12)
t->i_mtime_extra = ext2fs_swab32(f->i_mtime_extra);
- if (extra_isize >= 18)
+ if (extra_isize >= 16)
t->i_atime_extra = ext2fs_swab32(f->i_atime_extra);
- if (extra_isize >= 22)
+ if (extra_isize >= 20)
t->i_crtime = ext2fs_swab32(f->i_crtime);
- if (extra_isize >= 26)
+ if (extra_isize >= 24)
t->i_crtime_extra = ext2fs_swab32(f->i_crtime_extra);
- if (extra_isize >= 30)
+ if (extra_isize >= 28)
t->i_version_hi = ext2fs_swab32(f->i_version_hi);
i = sizeof(struct ext2_inode) + extra_isize + sizeof(__u32);