-
Notifications
You must be signed in to change notification settings - Fork 310
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DAOS-15484 dfs: store sticky/suid/sgid bits on setattr #14028
Conversation
Allow the sticky, suid and sgid bits to be stored in dfs_osetattr. Even if libdfs does not support those bits, it allows dfuse to support them via the kernel. The lack of sgid support cause spack to fail over dfuse as reported in the jira ticket. Signed-off-by: Johann Lombardi <[email protected]>
Ticket title is 'spack failed on DAOS' |
could you please re-push and add this commit pragma |
src/include/daos_fs.h
Outdated
* symlink the link itself is modified. See dfs_stat() for which entries | ||
* are filled. | ||
* Since libdfs does not perform any POSIX permission enforcement, it just |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is not true technically. DFS does permission enforcement. see:
https://github.com/daos-stack/daos/blob/master/src/client/dfs/obj.c#L19
so we should adjust this slightly to say that since we don't run executables over DFS, we can allow SUID/SGID to be set without being enforced. for the sticky bit, im afraid we need to probably keep that check.
docs/user/filesystem.md
Outdated
* POSIX permissions, setuid/gid programs, sticky bit, POSIX ACLs, supplementary groups are not | ||
supported inside an encapsulated namespace |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
need to update this also similarly
- Update documentation Features: dfs datamover Signed-off-by: Johann Lombardi <[email protected]>
Features: dfs datamover Signed-off-by: Johann Lombardi <[email protected]>
Test stage Build on Leap 15.5 with Intel-C and TARGET_PREFIX completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-14028/3/execution/node/378/log |
Test stage Build on EL 8 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-14028/3/execution/node/384/log |
Test stage Build RPM on EL 9 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-14028/3/execution/node/289/log |
Test stage Build RPM on Leap 15.5 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-14028/3/execution/node/292/log |
Test stage Build RPM on EL 8 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-14028/3/execution/node/354/log |
Test stage Build DEB on Ubuntu 20.04 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-14028/3/execution/node/351/log |
Features: dfs datamover Signed-off-by: Johann Lombardi <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@mchaarawi I guess we should unmask the gid and uid here and just let DFS handle it now? This is for daos fs copy
Lines 534 to 537 in 1349dbf
if (!ignore_unsup && mode & (S_ISVTX | S_ISGID | S_ISUID)) { | |
(*num_chmod_enotsup)++; | |
} | |
mode &= ~(S_ISVTX | S_ISGID | S_ISUID); |
yes that was my thought. we can do that separately. probably something similar can be done in mfu? but maybe leave the latter for 2.4 support. |
I don't think MFU has any special handling of this. If MFU tries to chmod and it fails because of this, it just logs an error and continues. But we could handle similar to how we do for |
Allow the suid and sgid bits to be stored in dfs_osetattr. Even if libdfs does not support those bits, it allows dfuse to support them via the kernel. The lack of sgid support cause spack to fail over dfuse as reported in the jira ticket. Signed-off-by: Johann Lombardi <[email protected]>
Allow the suid and sgid bits to be stored in dfs_osetattr. Even if libdfs does not support those bits, it allows dfuse to support them via the kernel. The lack of sgid support cause spack to fail over dfuse as reported in the jira ticket. Change-Id: I76b41d9b231fa2b7f1d434d6ae06e6252cadc2b4 Signed-off-by: Johann Lombardi <[email protected]>
Allow the sticky, suid and sgid bits to be stored in dfs_osetattr. Even if libdfs does not support those bits, it allows dfuse to support them via the kernel.
The lack of sgid support cause spack to fail over dfuse as reported in the jira ticket.
Before requesting gatekeeper:
Features:
(orTest-tag*
) commit pragma was used or there is a reason documented that there are no appropriate tags for this PR.Gatekeeper: