x86_64-pc-linux-gnu-gcc -march=native -mtune=native -O2 -pipe -std=gnu90 -include config.h -DBTRFS_FLAT_INCLUDES -D_XOPEN_SOURCE=700 -fno-strict-aliasing -fPIC -I. -I./kernel-lib -I./libbtrfsutil -c convert/source-ext2.c -o convert/source-ext2.o \ -DBTRFSCONVERT_EXT2=1 -DBTRFSCONVERT_REISERFS=0 convert/source-ext2.c: In function ‘ext2_xattr_check_entry’: convert/source-ext2.c:425:13: error: ‘struct ext2_ext_attr_entry’ has no member named ‘e_value_block’; did you mean ‘e_value_offs’? if (entry->e_value_block != 0 || value_size > size || ^~~~~~~~~~~~~ e_value_offs make: *** [Makefile:300: convert/source-ext2.o] Error 1
Might be related to this change in e2fsprogs: https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git/commit/?id=6a081f6d2a5cff0f5a077065aab39901d54bfb61
i will try to fix
There is change https://github.com/kdave/btrfs-progs/pull/105
Is this still backwards compatible with older e2fsprogs?
i will try to fix this
to make it backwards I will try to calculate offset this code: __u32 *ptr_e_value_block= (__u32*)((size_t)entry + offsetof(struct ext2_ext_attr_entry,e_value_size) - offsetof(struct ext2_ext_attr_entry,e_value_offs)); but still need add tests for this
I've opened https://github.com/kdave/btrfs-progs/issues/110 as it's for btrfs-progs. For a quick fix we might do a simple version check of e2fsprogs and slap an ifdef to the code. The backward compatibility with older e2fsprogs is desired, as there are long term distros using btrfs-progs.
Fix added to devel, will be in the next release. Closing.