Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1713018 > unrolled thread

[PATCH] staging: lustre: fix structure size for ARM OABI

Started byCihangir Akturk <cakturk@gmail.com>
First post2017-08-16 16:50 +0200
Last post2017-08-21 14:40 +0200
Articles 5 — 4 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] staging: lustre: fix structure size for ARM OABI Cihangir Akturk <cakturk@gmail.com> - 2017-08-16 16:50 +0200
    Re: [PATCH] staging: lustre: fix structure size for ARM OABI Greg KH <gregkh@linuxfoundation.org> - 2017-08-17 18:30 +0200
      Re: [PATCH] staging: lustre: fix structure size for ARM OABI "Dilger, Andreas" <andreas.dilger@intel.com> - 2017-08-19 02:00 +0200
        Re: [PATCH] staging: lustre: fix structure size for ARM OABI James Simmons <jsimmons@infradead.org> - 2017-08-20 05:00 +0200
          Re: [PATCH] staging: lustre: fix structure size for ARM OABI Cihangir Akturk <cakturk@gmail.com> - 2017-08-21 14:40 +0200

#1713018 — [PATCH] staging: lustre: fix structure size for ARM OABI

FromCihangir Akturk <cakturk@gmail.com>
Date2017-08-16 16:50 +0200
Subject[PATCH] staging: lustre: fix structure size for ARM OABI
Message-ID<uf7NU-8hY-17@gated-at.bofh.it>
When building the kernel for the ARM architecture without setting
CONFIG_AEABI, size of struct lov_user_md_v3 and struct lov_mds_md_v3
differs, due to different alignment requirements of OABI and EABI.

Marking the anonymous union within struct lov_user_md_v3 as
'_packed' solves this issue. Otherwise we get the following
error:

drivers/staging/lustre/lustre/lov/lov_pack.c:352:2: note: in expansion
of macro ‘BUILD_BUG_ON’
  BUILD_BUG_ON(sizeof(lum) != sizeof(struct lov_mds_md_v3));

Signed-off-by: Cihangir Akturk <cakturk@gmail.com>
---
 drivers/staging/lustre/lustre/include/lustre/lustre_user.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/lustre/lustre/include/lustre/lustre_user.h b/drivers/staging/lustre/lustre/include/lustre/lustre_user.h
index edff8dc..4f72cb6 100644
--- a/drivers/staging/lustre/lustre/include/lustre/lustre_user.h
+++ b/drivers/staging/lustre/lustre/include/lustre/lustre_user.h
@@ -388,7 +388,7 @@ struct lov_user_md_v3 {	   /* LOV EA user data (host-endian) */
 		__u16 lmm_layout_gen;     /* layout generation number
 					   * used when reading
 					   */
-	};
+	} __packed;
 	char  lmm_pool_name[LOV_MAXPOOLNAME + 1];   /* pool name */
 	struct lov_user_ost_data_v1 lmm_objects[0]; /* per-stripe data */
 } __packed;
-- 
2.7.4

[toc] | [next] | [standalone]


#1714188

FromGreg KH <gregkh@linuxfoundation.org>
Date2017-08-17 18:30 +0200
Message-ID<ufvQe-7mK-17@gated-at.bofh.it>
In reply to#1713018
On Wed, Aug 16, 2017 at 05:44:15PM +0300, Cihangir Akturk wrote:
> When building the kernel for the ARM architecture without setting
> CONFIG_AEABI, size of struct lov_user_md_v3 and struct lov_mds_md_v3
> differs, due to different alignment requirements of OABI and EABI.
> 
> Marking the anonymous union within struct lov_user_md_v3 as
> '_packed' solves this issue. Otherwise we get the following
> error:
> 
> drivers/staging/lustre/lustre/lov/lov_pack.c:352:2: note: in expansion
> of macro ‘BUILD_BUG_ON’
>   BUILD_BUG_ON(sizeof(lum) != sizeof(struct lov_mds_md_v3));
> 
> Signed-off-by: Cihangir Akturk <cakturk@gmail.com>
> ---
>  drivers/staging/lustre/lustre/include/lustre/lustre_user.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

This file is no longer in the tree :(

thanks,

greg k-h

[toc] | [prev] | [next] | [standalone]


#1715511

From"Dilger, Andreas" <andreas.dilger@intel.com>
Date2017-08-19 02:00 +0200
Message-ID<ufZlf-28T-1@gated-at.bofh.it>
In reply to#1714188
On Aug 17, 2017, at 10:26, Greg KH <gregkh@linuxfoundation.org> wrote:
> 
> On Wed, Aug 16, 2017 at 05:44:15PM +0300, Cihangir Akturk wrote:
>> When building the kernel for the ARM architecture without setting
>> CONFIG_AEABI, size of struct lov_user_md_v3 and struct lov_mds_md_v3
>> differs, due to different alignment requirements of OABI and EABI.
>> 
>> Marking the anonymous union within struct lov_user_md_v3 as
>> '_packed' solves this issue. Otherwise we get the following
>> error:
>> 
>> drivers/staging/lustre/lustre/lov/lov_pack.c:352:2: note: in expansion
>> of macro ‘BUILD_BUG_ON’
>>  BUILD_BUG_ON(sizeof(lum) != sizeof(struct lov_mds_md_v3));
>> 
>> Signed-off-by: Cihangir Akturk <cakturk@gmail.com>
>> ---
>> drivers/staging/lustre/lustre/include/lustre/lustre_user.h | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
> 
> This file is no longer in the tree :(

With James' recent patch series, this has moved to include/uapi/linux/lustre/lustre_user.h

Cheers, Andreas
--
Andreas Dilger
Lustre Principal Architect
Intel Corporation







[toc] | [prev] | [next] | [standalone]


#1715854

FromJames Simmons <jsimmons@infradead.org>
Date2017-08-20 05:00 +0200
Message-ID<ugoD0-17q-9@gated-at.bofh.it>
In reply to#1715511

[Multipart message — attachments visible in raw view] — view raw

> On Aug 17, 2017, at 10:26, Greg KH <gregkh@linuxfoundation.org> wrote:
> > 
> > On Wed, Aug 16, 2017 at 05:44:15PM +0300, Cihangir Akturk wrote:
> >> When building the kernel for the ARM architecture without setting
> >> CONFIG_AEABI, size of struct lov_user_md_v3 and struct lov_mds_md_v3
> >> differs, due to different alignment requirements of OABI and EABI.

I have to ask are you testing the lustre on ARM?
 
> >> Marking the anonymous union within struct lov_user_md_v3 as
> >> '_packed' solves this issue. Otherwise we get the following
> >> error:
> >> 
> >> drivers/staging/lustre/lustre/lov/lov_pack.c:352:2: note: in expansion
> >> of macro ‘BUILD_BUG_ON’
> >>  BUILD_BUG_ON(sizeof(lum) != sizeof(struct lov_mds_md_v3));
> >> 
> >> Signed-off-by: Cihangir Akturk <cakturk@gmail.com>
> >> ---
> >> drivers/staging/lustre/lustre/include/lustre/lustre_user.h | 2 +-
> >> 1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > This file is no longer in the tree :(
> 
> With James' recent patch series, this has moved to include/uapi/linux/lustre/lustre_user.h

BTW is __packed valid for UAPI headers?

[toc] | [prev] | [next] | [standalone]


#1716410

FromCihangir Akturk <cakturk@gmail.com>
Date2017-08-21 14:40 +0200
Message-ID<ugU9Q-4ml-35@gated-at.bofh.it>
In reply to#1715854
On Sun, Aug 20, 2017 at 03:52:26AM +0100, James Simmons wrote:
> 
> > On Aug 17, 2017, at 10:26, Greg KH <gregkh@linuxfoundation.org> wrote:
> > > 
> > > On Wed, Aug 16, 2017 at 05:44:15PM +0300, Cihangir Akturk wrote:
> > >> When building the kernel for the ARM architecture without setting
> > >> CONFIG_AEABI, size of struct lov_user_md_v3 and struct lov_mds_md_v3
> > >> differs, due to different alignment requirements of OABI and EABI.
> 
> I have to ask are you testing the lustre on ARM?

No, I was just compiling the kernel for ARM architecture, and I hit
this issue. If it's possible, I can give it a try with a bunch of
raspberry pis or another cheap board?

>  
> > >> Marking the anonymous union within struct lov_user_md_v3 as
> > >> '_packed' solves this issue. Otherwise we get the following
> > >> error:
> > >> 
> > >> drivers/staging/lustre/lustre/lov/lov_pack.c:352:2: note: in expansion
> > >> of macro ‘BUILD_BUG_ON’
> > >>  BUILD_BUG_ON(sizeof(lum) != sizeof(struct lov_mds_md_v3));
> > >> 
> > >> Signed-off-by: Cihangir Akturk <cakturk@gmail.com>
> > >> ---
> > >> drivers/staging/lustre/lustre/include/lustre/lustre_user.h | 2 +-
> > >> 1 file changed, 1 insertion(+), 1 deletion(-)
> > > 
> > > This file is no longer in the tree :(
> > 
> > With James' recent patch series, this has moved to include/uapi/linux/lustre/lustre_user.h
> 
> BTW is __packed valid for UAPI headers?

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web