Btrfs progs pre-release 4.8.1-rc1
David Sterba
maintainerHi,
another pre-release, just in case. I did a lot of build tests [1] and automated a few things so the build failures should not happen again.
ETA for the release is on Sunday (2016-10-09). Please test and report any new problems.
Changes since 4.8:
- 32bit build works
- build without backtrace support fixed
[1]
build tests on arches: arm, aarch64, ppc, ppc64, ppc64le, i586, x86_64 32/64 build on x86_64 (X) default, static (X) gcc 4.8.5, gcc 5.41, gcc 6.2.1
Tarballs: https://www.kernel.org/pub/linux/kernel/people/kdave/btrfs-progs/
Git: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git
Shortlog:
David Sterba (10):
btrfs-progs: build: add explicit option separator to rm commands
btrfs-progs: ioctl: pack structures
btrfs-progs: ioctl: add 32bit compat for SET_RECEIVED_SUBVOL
btrfs-progs: ioctl: add 64bit compat for SEND
btrfs-progs: tests: make the ioctl-test actually useful
btrfs-progs: tests: add script to help build coverage
btrfs-progs: fix printf format of sizeof on 32bit build
btrfs-progs: test: add default ioctl-test build
btrfs-progs: update CHANGES for v4.8.1
Btrfs progs v4.8.1-rc1
Qu Wenruo (1):
btrfs-progs: Fix warning_trace compile error if backtrace is disabled
Hi David,
Quoted 10 lines · David Sterba
Hi,
another pre-release, just in case. I did a lot of build tests [1] and automated a few things so the build failures should not happen again.
ETA for the release is on Sunday (2016-10-09). Please test and report any new problems.
Changes since 4.8:
- 32bit build works
This is falling over on my 32-bit ARM platform. Using stock Debian Jessie armel or armhf, it builds now, but the send ioctl is unhappy:
# btrfs send -p /data/test/.snapshots/1/snapshot/ /data/test/.snapshots/2/snapshot/ > /dev/null At subvol /data/test/.snapshots/2/snapshot/ ERROR: send ioctl failed with -25: Inappropriate ioctl for device
If I remove the packed attribute from the btrfs_ioctl_send_args struct and change the BUILD_ASSERT to expect a 72-byte structure, it all starts working again. I'm using a 4.1 kernel built with the standard armhf toolchain from Wheezy (gcc 4.7.2).
-Justin
Quoted 8 lines · Justin Maggard
This is falling over on my 32-bit ARM platform. Using stock Debian Jessie armel or armhf, it builds now, but the send ioctl is unhappy:
# btrfs send -p /data/test/.snapshots/1/snapshot/ /data/test/.snapshots/2/snapshot/ > /dev/null At subvol /data/test/.snapshots/2/snapshot/ ERROR: send ioctl failed with -25: Inappropriate ioctl for device
Quoted 4 lines
If I remove the packed attribute from the
btrfs_ioctl_send_argsstruct and change theBUILD_ASSERTto expect a 72-byte structure, it all starts working again. I'm using a 4.1 kernel built with the standard armhf toolchain from Wheezy (gcc 4.7.2).
Thanks for the report, I think I'll drop the additional changes and release just the build fixes. We'd need to validate that all ioctls really work on the target build architecture. The potential explanation for the problem you found is that 32bit arm has 4 byte pointers but needs 8 byte alignment.