On Mon, 24 Oct 2016 14:52:05 +0200 David Sterba wrote: > Hi, > > On Mon, Oct 24, 2016 at 09:29:12AM +0100, slyich@gmail.com wrote: > > From: Sergei Trofimovich > > > > Header breakage noticed by cynede. Reproducible as: > > > > $ gcc -c /usr/include/btrfs/ioctl.h -o /tmp/a.o > > /usr/include/btrfs/ioctl.h:42:14: error: expected declaration specifiers or '...' before 'sizeof' > > BUILD_ASSERT(sizeof(struct btrfs_ioctl_vol_args) == 4096); > > ^~~~~~ > > > > Basically gcc tries to say us BUILD_ASSERT is not visible. > > > > BUILD_ASSERT lives in kerncompat.h which this change adds. > > I think including the kerncompat.h is too intrusive here, I've fixed by > providing an empty macro if it's not defined. I'll release 4.8.2 soon. Apologies. I did not test your fix right afterwards. Seems now header is incomplete due to missing NULL (gcc-6): btrfs-progs-v4.8.3 $ gcc -c ioctl.h -o /tmp/a.o ioctl.h: In function 'btrfs_err_str': ioctl.h:711:11: error: 'NULL' undeclared (first use in this function) return NULL; ^~~~ ioctl.h:711:11: note: each undeclared identifier is reported only once for each function it appears in -- Sergei