Skip to content

Conversation

@DennisHeimbigner
Copy link
Collaborator

re: Issue #3195

Primary change

In the isdaoscontainer() function the config.h value HAVE_SYS_XATTR_H should always be enabled (except for Windows). This allows the daos check to be performed using system calls.

The above issue claims to have a situation where it is not windows and HAVE_SYS_XATTR_H is fals.

If HAVE_SYS_XATTR_H is false, then isdaoscontainer() falls back to invoking a command line program: getfattr. The availability of getfattr is tested in configure.ac and CMakeLists.txt. If available, then it is invoked using popen().

It is here (!HAVE_SYS_XATTR_H && HAVE_GETFATTR), that we modified to code to add extra support in case getfattr fails for whatever reason.

Secondary changes

  1. getxattr and listxattr have an extra argument under OS/X. So create some macros to mask this extra argument, which is always 0.
  2. add a check in configure.ac for strndup.

DennisHeimbigner and others added 8 commits December 23, 2025 15:12
re: Issue Unidata#3195

## Primary change

In the isdaoscontainer() function the config.h value HAVE_SYS_XATTR_H
should always be enabled (except for Windows). This allows
the daos check to be performed using system calls.

The above issue claims to have a situation where it is not
windows and HAVE_SYS_XATTR_H is fals.

If HAVE_SYS_XATTR_H is false, then isdaoscontainer()
falls back to invoking a command line program: getfattr.
The availability of getfattr is tested in configure.ac and
CMakeLists.txt. If available, then it is invoked using popen().

It is here (!HAVE_SYS_XATTR_H && HAVE_GETFATTR), that we modified
to code to add extra support in case getfattr fails for whatever
reason.

## Secondary changes

1. getxattr and listxattr have an extra argument under OS/X. So create some macros to mask this extra argument, which is always 0.
2. add a check in configure.ac for strndup.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant