Details
-
Bug
-
Resolution: Fixed
-
Critical
-
Lustre 2.10.0
-
None
-
3
-
9223372036854775807
Description
This is a related issue with LU-6707, in that ticket, we are going to only resolve the loop device problem. This ticket is for tracking the missing header files of EL7 which needed by our POSIX test suite.
related comments from the patch https://review.whamcloud.com/#/c/15130/
The patch fixes the loop device issue, but posix test hit another issue on RHEL 7 node: userintf.c:592:25: fatal error: sys/stropts.h: No such file or directory Could you please update the prep() function in lustre/tests/posix/posix.cfg to make it find those header files on RHEL 7 node
Using mpss as header is definitely not the way to go because mpss might not be built in the future. The fact that this header doesn't exist in latest distro because it's outdated. posix test is very old and should be looked at and modify if it's not actively supported
The LSB-VSX POSIX test suite in http://www.opengroup.org/testing/linux-test/lsb-vsx.html has not been updated since 2004. If we still use this test suite, we have to modify the codes to remove the using of stropts.h and xtitypes.h. Or we have to evaluate other POSIX test suite. It looks like both of the above two ways will not work in a short time. So, this patch is just a workaround to make posix test suite work on RHEL 7.1 disro right away.
Are stropts.h and xtitypes.h headers that are actually needed, or are they obsolete? It might be possible to either provide empty headers just to make the code compile (if they don't provide anything useful for a modern system), or just extract the headers from some old system (hopefully GPL?) and include them directly with the POSIX sources, instead of this hack to install MPSS. I see from https://bugzilla.redhat.com/show_bug.cgi?id=656245 that this has been removed for RHEL 6 also, so it looks like they are obsolete and empty stubs could be used? According to http://sourceforge.net/p/watchdog/bugs/11/ the "#include <stropts.h>" should be changed to "#include <sys/ioctl.h>". It looks like the right answer is to install the "compat-glibc-headers" package and get these headers from there. Line 134: (style) tabs for indentation Is there a reason why we rebuild the POSIX test suite for every test run? I could imagine there is some benefit if this was being built from within Lustre (even if it might take a while longer) so that we are testing the filesystem code, but otherwise it just seems better to build a .rpm file once for each distro and then install that on the test nodes as needed.
Attachments
Issue Links
- is related to
-
LU-6707 EL7 client cannot find loop device for posix test
- Resolved