cea-hpc / robinhood

Robinhood Policy Engine : a versatile tool to monitor filesystem contents and schedule actions on filesystem entries.
http://robinhood.sf.net
Other
181 stars 62 forks source link

Compilation errors against Lustre 2.12.4 (LTS) #110

Closed Elwell closed 4 years ago

Elwell commented 4 years ago

While trying to compile the 3.1.5 release against a Lustre 2.12.4 client I'm getting failures with lustre_tools:

...
  CC       rbh_modules.lo
  CC       basename.lo
  CC       lustre_tools.lo
lustre_tools.c: In function 'lustre_mds_stat':
lustre_tools.c:874:21: error: 'struct lov_user_mds_data_v2' has no
member named 'lmd_st'
         *inode = lmd->lmd_st;
                     ^
lustre_tools.c: In function 'lustre_mds_stat_by_fid':
lustre_tools.c:959:17: error: 'struct lov_user_mds_data_v2' has no
member named 'lmd_st'
     *inode = lmd->lmd_st;
                 ^
Makefile:429: recipe for target 'lustre_tools.lo' failed
make[2]: *** [lustre_tools.lo] Error 1
make[2]: *** Waiting for unfinished jobs....

This seems to be the same issue that @dtcray reported on robinhood-discuss back in October with the 2.12.3 RC release

tl-cea commented 4 years ago

Hello,

The reason of this build error is the structure lov_user_mds_data has changed in file “lustre/include/uapi/linux/lustre/lustre_user.h” between 2.12.3 and 2.12.14.


commit d55982d8422abada4e9f23856e18d20771f70897 Author: Qian Yingjin qian@ddn.com Date: Thu Nov 1 16:49:53 2018 +0800

LU-11367 som: integrate LSOM with lfs find

Actually this structure name is an alias (define) that was previously standing for lov_user_mds_data_v1 and now lov_user_mds_data_v2.

I'm looking at it...

tl-cea commented 4 years ago

Fix pushed here: https://review.gerrithub.io/c/cea-hpc/robinhood/+/487630

tl-cea commented 4 years ago

Notice the distributed versions of robinhood are binary compatible with Lustre 2.12.4. Only building a fresh new robinhood on Lustre 2.12.4 fails.

tl-cea commented 4 years ago

The fix has been integrated to master branch on Apr 03.