[Drbd-dev] Re: [DRBD-cvs] r1598 - trunk/user
Lars Ellenberg
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
> this.
>
> 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.
hm.
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.
# linux/bitops.h
we only care for the hweight functions, which are plain c.
I don't see where they could break on any arch.
# linux/types.h
we only care for the __u32 __u64 type defines.
ok, we can drop that and just use sys/types.h,
%s/__u\(.*\)/uint\1_t/
# asm/byteorder.h
ok, we can drop that, and use utils.h instead.
we'd need to define *64 variants of swap and *_to_* functions, though.
konsensfähig?
lge
More information about the drbd-dev
mailing list