With e2fsprogs-1.47.1, btrfs-progs fails to compile with these errors:
convert/source-ext2.c: In function 'ext4_copy_inode_timespec_extra':
convert/source-ext2.c:733:13: warning: implicit declaration of function 'inode_includes' [-Wimplicit-function-declaration]
733 | if (inode_includes(inodesize, i ## xtime ## _extra)) { \
| ^~~~~~
convert/source-ext2.c:769:9: note: in expansion of macro 'EXT4_COPY_XTIME'
769 | EXT4_COPY_XTIME(atime, dst, tv_sec, tv_nsec);
| ^~~~~~~
convert/source-ext2.c:733:40: error: 'i_atime_extra' undeclared (first use in this function)
733 | if (inode_includes(inodesize, i ## xtime ## _extra)) { \
| ^~
convert/source-ext2.c:769:9: note: in expansion of macro 'EXT4_COPY_XTIME'
769 | EXT4_COPY_XTIME(atime, dst, tv_sec, tv_nsec);
| ^~~~~~~
convert/source-ext2.c:733:40: note: each undeclared identifier is reported only once for each function it appears in
733 | if (inode_includes(inodesize, i ## xtime ## _extra)) { \
| ^~
convert/source-ext2.c:769:9: note: in expansion of macro 'EXT4_COPY_XTIME'
769 | EXT4_COPY_XTIME(atime, dst, tv_sec, tv_nsec);
| ^~~~~~~
convert/source-ext2.c:733:40: error: 'i_mtime_extra' undeclared (first use in this function)
733 | if (inode_includes(inodesize, i ## xtime ## _extra)) { \
| ^~
convert/source-ext2.c:770:9: note: in expansion of macro 'EXT4_COPY_XTIME'
770 | EXT4_COPY_XTIME(mtime, dst, tv_sec, tv_nsec);
| ^~~~~~~
convert/source-ext2.c:733:40: error: 'i_ctime_extra' undeclared (first use in this function)
733 | if (inode_includes(inodesize, i ## xtime ## _extra)) { \
| ^~
convert/source-ext2.c:771:9: note: in expansion of macro 'EXT4_COPY_XTIME'
771 | EXT4_COPY_XTIME(ctime, dst, tv_sec, tv_nsec);
| ^~~~~~~
convert/source-ext2.c:774:40: error: 'i_crtime_extra' undeclared (first use in this function)
774 | if (inode_includes(inode_size, i_crtime_extra)) {
| ^~~~~~
make: [Makefile:479: convert/source-ext2.o] Error 1
make: Waiting for unfinished jobs....
With e2fsprogs-1.47.1, btrfs-progs fails to compile with these errors:
convert/source-ext2.c: In function 'ext4_copy_inode_timespec_extra': convert/source-ext2.c:733:13: warning: implicit declaration of function 'inode_includes' [-Wimplicit-function-declaration] 733 | if (inode_includes(inodesize, i ## xtime ## _extra)) { \ | ^
~~~~~ convert/source-ext2.c:769:9: note: in expansion of macro 'EXT4_COPY_XTIME' 769 | EXT4_COPY_XTIME(atime, dst, tv_sec, tv_nsec); | ^~~~~~~ convert/source-ext2.c:733:40: error: 'i_atime_extra' undeclared (first use in this function) 733 | if (inode_includes(inodesize, i ## xtime ## _extra)) { \ | ^~ convert/source-ext2.c:769:9: note: in expansion of macro 'EXT4_COPY_XTIME' 769 | EXT4_COPY_XTIME(atime, dst, tv_sec, tv_nsec); | ^~~~~~~ convert/source-ext2.c:733:40: note: each undeclared identifier is reported only once for each function it appears in 733 | if (inode_includes(inodesize, i ## xtime ## _extra)) { \ | ^~ convert/source-ext2.c:769:9: note: in expansion of macro 'EXT4_COPY_XTIME' 769 | EXT4_COPY_XTIME(atime, dst, tv_sec, tv_nsec); | ^~~~~~~ convert/source-ext2.c:733:40: error: 'i_mtime_extra' undeclared (first use in this function) 733 | if (inode_includes(inodesize, i ## xtime ## _extra)) { \ | ^~ convert/source-ext2.c:770:9: note: in expansion of macro 'EXT4_COPY_XTIME' 770 | EXT4_COPY_XTIME(mtime, dst, tv_sec, tv_nsec); | ^~~~~~~ convert/source-ext2.c:733:40: error: 'i_ctime_extra' undeclared (first use in this function) 733 | if (inode_includes(inodesize, i ## xtime ## _extra)) { \ | ^~ convert/source-ext2.c:771:9: note: in expansion of macro 'EXT4_COPY_XTIME' 771 | EXT4_COPY_XTIME(ctime, dst, tv_sec, tv_nsec); | ^~~~~~~ convert/source-ext2.c:774:40: error: 'i_crtime_extra' undeclared (first use in this function) 774 | if (inode_includes(inode_size, i_crtime_extra)) { | ^~~~~~ make: [Makefile:479: convert/source-ext2.o] Error 1 make: Waiting for unfinished jobs....Does anybody have an idea about this ?