Details
-
Bug
-
Resolution: Fixed
-
Critical
-
Lustre 2.4.1, Lustre 2.5.0
-
BASELINE_FS=zfs
-
3
-
11481
Description
While running posix test on Lustre with BASELINE_FS=zfs, fpathconf.8 and pathconf.10 failed as follows:
#################################################### Test Name: fpathconf.8 Failed Test Description: For the XNFS specification: Not in use. For the XSH specification: If NAME_MAX is defined when <limits.h> is included, a call to fpathconf(fildes, _PC_NAME_MAX) when fildes refers to a directory, returns the value of NAME_MAX. (In XPG3 mode, a value > NAME_MAX is also allowed.) Posix Ref: Component FPATHCONF Assertion 5.7.1.2-11(C) Test Strategy: IF NAME_MAX is defined OPEN current directory using open() with O_RDONLY|O_NONBLOCK and with time out VERIFY that the open() was successful OBTAIN the system value associated with fpathconf() with _PC_NAME_MAX VERIFY that fpathconf() returned successfully and errno was not set VERIFY that return value is equal to NAME_MAX (or >= in XPG3 mode) OPEN root directory using open() with O_RDONLY|O_NONBLOCK and with time out VERIFY that the open() was successful OBTAIN the system value associated with fpathconf() with _PC_NAME_MAX VERIFY that fpathconf() returned successfully and errno was not set VERIFY that return value is equal to NAME_MAX (or >= in XPG3 mode) Test Information: fpathconf(fd, _PC_NAME_MAX) on "." did not return the value of NAME_MAX value returned: 256, NAME_MAX: 255 (NAME_MAX should not be defined in <limits.h> if the run-time value can vary.) #################################################### Test Name: pathconf.10 Failed Test Description: For the XNFS specification: Not in use. For the XSH specification: If NAME_MAX is defined when <limits.h> is included, a call to pathconf(path, _PC_NAME_MAX) when path refers to a directory, returns the value of NAME_MAX. (In XPG3 mode, a value > NAME_MAX is also allowed.) Posix Ref: Component PATHCONF Assertion 5.7.1.2-33(C) Test Strategy: IF NAME_MAX is defined FOR current directory and root directory OBTAIN the system value associated with pathconf() with _PC_NAME_MAX and current directory VERIFY that pathconf() returned successfully and errno was not set VERIFY that return value is equal to NAME_MAX (or >= in XPG3 mode) Test Information: pathconf(".", _PC_NAME_MAX) did not return the value of NAME_MAX value returned: 256, NAME_MAX: 255 (NAME_MAX should not be defined in <limits.h> if the run-time value can vary.) ####################################################
Maloo report: https://maloo.whamcloud.com/test_sets/e74b645e-4634-11e3-810a-52540035b04c
Comments from Andreas:
I think all of the pathconf failures may be caused by pathconf being hard coded in glibc based on the Filesystem magic number. That means it isn't possible to change the value for Lustre without recompiling glibc.