[Drbd-dev] Re: [DRBD-cvs] r1598 - trunk/user
Lars.Ellenberg at linbit.com
Tue Oct 19 12:19:18 CEST 2004
/ 2004-10-19 11:13:07 +0200
\ Lars Marowsky-Bree:
> On 2004-10-19T09:32:24, svn at svn.drbd.org wrote:
> > Author: phil
> > Date: 2004-10-19 09:32:21 +0200 (Tue, 19 Oct 2004)
> > New Revision: 1598
> > Modified:
> > trunk/user/Makefile
> > trunk/user/drbdmeta.c
> > Log:
> > [patch by LGE]
> > * removed the dependency on glib, and use the kernel's
> > includes instead.
> Do not do that. Please. Including kernel-headers from user-space is an
> absolute nightmare, it keeps breaking sporadically and in particular on
> non-i386 archs. The kernel headers just aren't meant to be used in
> user-space (and are documented to not be supported for this), and all
> the build issues I've had with OCFS, Lustre, ... have been caused by
> In particular these headers
> > +#include <asm/byteorder.h> /* for the __cpu_to_le64 etc. functions */
> > +#include <linux/bitops.h> /* for the hweight functions */
> > +#include <linux/types.h> /* for the __u32/64 type defs */
> _are known to break_ on ia64/ppc64/s390x. I'd be very grateful if you
> could avoid this.
I just don't want to depend on glib-devel just for some endianness issues.
rather copy waht is neccessary into our own headers.
which is not too much, anyways.
we only care for the hweight functions, which are plain c.
I don't see where they could break on any arch.
we only care for the __u32 __u64 type defines.
ok, we can drop that and just use sys/types.h,
ok, we can drop that, and use utils.h instead.
we'd need to define *64 variants of swap and *_to_* functions, though.
More information about the drbd-dev