Skip to contentSkip to conversation

Btrfs progs pre-release 4.8.1-rc1

DISCUSSION David Sterba 3 participants 3 messages Oct 7, 2016 – Oct 9, 2016 Btrfs file system

lore
Share & tools
lore

David Sterba

author maintainer
#0 lore raw

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
- 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

#1 lore raw

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

#2 lore raw
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_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).

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.