Skip to content
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-14733: Add FUSE_PARALLEL_DIROPS patch #3

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

brianjmurrell
Copy link
Contributor

@brianjmurrell brianjmurrell requested a review from a team as a code owner January 24, 2024 22:34
@brianjmurrell brianjmurrell self-assigned this Jan 24, 2024
@brianjmurrell brianjmurrell force-pushed the bmurrell/update branch 2 times, most recently from 2475f9a to 300a850 Compare January 30, 2024 21:22
Add patch for:
 https://issues.redhat.com/browse/RHEL-19149
 libfuse/libfuse#861
 libfuse/libfuse@c990534

Add rpmlintrc exception.

Sync with upstream.

Update packaging.

Update Test-tag to do all dfuse tests.

Skip-PR-comments: true

Required-githooks: true

Signed-off-by: Brian J. Murrell <[email protected]>
Skip-PR-comments: true

Required-githooks: true

Signed-off-by: Brian J. Murrell <[email protected]>
outargflags |= FUSE_ASYNC_DIO;
if (se->conn.want & FUSE_CAP_WRITEBACK_CACHE)
outargflags |= FUSE_WRITEBACK_CACHE;
+ if (se->conn.want & FUSE_CAP_PARALLEL_DIROPS)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There was a follow on patch to the original to disable this by default because it breaks some fuse instances that are not prepared for it. Did we get that patch too? We would not want to break non-dfuse mounts.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Indeed, I am aware of the follow-on patch. The patch above is really just a placeholder until we get an official RH-blessed backport patch, which is apparently in progress now that the issue that resulted in the patch you refer to has been resolved between RH and the fuse maintainers.

I appreciate the heads-up though.

@@ -4,7 +4,7 @@

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a reason we don't update to a later version and then apply a minimal set of patches? Is this the version on rh? Looks like latest libfuse is 3.16.2

Copy link

@jolivier23 jolivier23 Feb 5, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For context, I'm considering a patch to statically link the libfuse library only. This would allow us to set this to the latest for our build without affecting whatever the system wants to use.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

daos-stack/daos#13749

Obviously, this would require some changes to this repo and some testing of the same. But I tested it locally and it removes the runtime dependence on libfuse3.so and seems to work.

Copy link
Contributor Author

@brianjmurrell brianjmurrell Feb 6, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For context, I'm considering a patch to statically link the libfuse library only.

We definitely don't want to static link. Doing so would require that we do an entire release cycle including all of the manual QA and SDL and whatnot in order to fix a bug [security or otherwise] in the libfuse that we statically link with. With dynamic linking we can release just a fuse update and users can install that to resolve whatever issues there are. Much less overhead on our part.

This would allow us to set this to the latest for our build without affecting whatever the system wants to use.

What other things are you looking to get out of a newer fuse?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a reason we don't update to a later version and then apply a minimal set of patches?

Because our ultimate goal is to be able to continue to use the package from RH once they patch what we want into it.

Is this the version on rh? Looks like latest libfuse is 3.16.2

Keep in mind that during a release RH prefers to keep their base the same and add patches to address features and bugs so the version marked on a package does not necessarily reflect the features/bugs that have been addressed in it.

Skip-PR-comments: true

Required-githooks: true

Signed-off-by: Brian J. Murrell <[email protected]>
Skip-PR-comments: true

Required-githooks: true

Signed-off-by: Brian J. Murrell <[email protected]>
Skip-PR-comments: true

Required-githooks: true

Signed-off-by: Brian J. Murrell <[email protected]>
Skip-PR-comments: true

Required-githooks: true

Signed-off-by: Brian J. Murrell <[email protected]>
@brianjmurrell brianjmurrell force-pushed the master branch 2 times, most recently from ba2967f to 2f5e21b Compare October 8, 2024 15:06
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.

2 participants