Re: [PATCH] ioctl.h: add missing kernel compatibility header for BUILD_ASSERT

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 24 Oct 2016 14:52:05 +0200
David Sterba <dsterba@xxxxxxx> wrote:

> Hi,
> 
> On Mon, Oct 24, 2016 at 09:29:12AM +0100, slyich@xxxxxxxxx wrote:
> > From: Sergei Trofimovich <slyfox@xxxxxxxxxx>
> > 
> > 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

Attachment: pgpLFT25SEM9Q.pgp
Description: Цифровая подпись OpenPGP


[Index of Archives]     [Linux Filesystem Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux