[LU-1293] SLES10 patchless client compilation error Created: 09/Apr/12  Updated: 16/Apr/12  Resolved: 16/Apr/12

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major
Reporter: Cheng Shao (Inactive) Assignee: WC Triage
Resolution: Won't Fix Votes: 0
Labels: None

Severity: 3
Rank (Obsolete): 6421

 Description   

Trying to build patchless client for SLES 10 x64.

Build fails with error:
/storage/asl/sles10/workdir/BUILD/lustre-2.0.66/lustre/llite/llite_nfs.c: In function 'll_get_name':
/storage/asl/sles10/workdir/BUILD/lustre-2.0.66/lustre/llite/llite_nfs.c:244: warning: passing argument 3 of 'll_readdir'.
from incompatible pointer type
make[8]: *** [/storage/asl/sles10/workdir/BUILD/lustre-2.0.66/lustre/llite/llite_nfs.o] Error 1

or, without -Werror:
/storage/asl/sles10/workdir/BUILD/lustre-2.0.66/lustre/llite/llite_nfs.c: In function 'll_get_name':
/storage/asl/sles10/workdir/BUILD/lustre-2.0.66/lustre/llite/llite_nfs.c:244: error: passing argument 3 of 'll_readdir' from incompatible pointer type
/storage/asl/sles10/workdir/BUILD/lustre-2.0.66/lustre/llite/llite_internal.h:607: note: expected 'filldir_t' but argument is of type 'int (void *, const char *, int, loff_t, u64, unsigned int)'



 Comments   
Comment by Andreas Dilger [ 09/Apr/12 ]

Why are you trying to build 2.0.66? What is the prototype for filldir_t on SLES10? What specific kernel version is being used?

Comment by Cheng Shao (Inactive) [ 09/Apr/12 ]

Sorry about the confusion. The problem exists with the latest Lustre version as well.

There are a couple of issues when compiling lustre with old kernel versions. Specifically,

  • For 2.6.18 and earlier, filldir_t is defined as below, with fourth argument type of ino_t,
    typedef int (*filldir_t)(void *, const char *, int, loff_t, ino_t, unsigned);
    It was changed to u64 in later kernel versions.
  • For 2.6.17 and earlier, address_space_operations->migratepage() takes two args instead of three
  • For 2.6.18 and earlier, there is no bool type.

We have the above issue fixed in our repo and will get it landed on WC via this ticket.

Comment by Peter Jones [ 16/Apr/12 ]

Note that SLES10 clients are not supported for master

Generated at Sat Feb 10 01:15:22 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.