From mboxrd@z Thu Jan 1 00:00:00 1970 From: Pekka Enberg Subject: Re: [PATCH 1/2] tools/kvm/9p: Always include system header before our headers Date: Sat, 18 Jun 2011 10:50:30 +0300 Message-ID: <1308383431.28516.6.camel@jaguar> References: <1308334282-11865-1-git-send-email-aneesh.kumar@linux.vnet.ibm.com> <1308339906.8711.13.camel@lappy> <1308340059.28516.3.camel@jaguar> <87sjr71utd.fsf@linux.vnet.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7bit Cc: Sasha Levin , kvm@vger.kernel.org, mingo@elte.hu To: "Aneesh Kumar K.V" Return-path: Received: from filtteri1.pp.htv.fi ([213.243.153.184]:36075 "EHLO filtteri1.pp.htv.fi" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752299Ab1FRHud (ORCPT ); Sat, 18 Jun 2011 03:50:33 -0400 In-Reply-To: <87sjr71utd.fsf@linux.vnet.ibm.com> Sender: kvm-owner@vger.kernel.org List-ID: On Sat, 2011-06-18 at 12:37 +0530, Aneesh Kumar K.V wrote: > On Fri, 17 Jun 2011 22:47:39 +0300, Pekka Enberg wrote: > > On Fri, 2011-06-17 at 15:45 -0400, Sasha Levin wrote: > > > On Fri, 2011-06-17 at 23:41 +0530, Aneesh Kumar K.V wrote: > > > > Otherwise many things can break, such as mapping of stat to stat64 > > > > > > We always include our headers before system headers to make sure we > > > don't have any hidden prerequisites or dependencies within the headers. > > > > > > Why did you need to move system headers before our headers in this case? > > > > The stat64() breakage seems rather odd since we do this in the Makefile: > > > > DEFINES += -D_FILE_OFFSET_BITS=64 > > DEFINES += -D_GNU_SOURCE > > > > Aneesh, what kind of build problems are you seeing? > > Ok the below change also fix the issue for me. So it could be some > mapping in the kernel headers > > diff --git a/tools/kvm/virtio/9p.c b/tools/kvm/virtio/9p.c > index 38a997d..730f4a1 100644 > --- a/tools/kvm/virtio/9p.c > +++ b/tools/kvm/virtio/9p.c > @@ -9,16 +9,16 @@ > #include "kvm/threadpool.h" > #include "kvm/irq.h" > > -#include > -#include > -#include > - > #include > #include > #include > #include > #include > > +#include > +#include > +#include > + > #define NUM_VIRT_QUEUES 1 > #define VIRTIO_P9_QUEUE_SIZE 128 > #define VIRTIO_P9_TAG "kvm_9p" Yes, makes sense. Can you send that as a proper patch and I'll apply it? The ordering of #includes is as follows: 1. Our own headers. This helps in ensuring there's no missing #includes in the headers themselves. 2. Library headers and glibc headers 3. Linux kernel headers. Code that doesn't follow that is a bug waiting to happen. Pekka