Skip to content

DAOS-16807 client: intercept io_queue_init in libpil4dfs#15784

Merged
mchaarawi merged 2 commits intorelease/2.6from
lei/DAOS-16807_2.6
Jan 29, 2025
Merged

DAOS-16807 client: intercept io_queue_init in libpil4dfs#15784
mchaarawi merged 2 commits intorelease/2.6from
lei/DAOS-16807_2.6

Conversation

@wiliamhuang
Copy link
Copy Markdown
Contributor

Intercepting io_queue_init() is needed on Ubuntu. There is compatibility issue for pil4dfs interception library when used with fio libaio engine. In some cases, fio initialize the aio context through io_queue_init function when loading the libaio engine. Through the pil4dfs has intercepted the io_setup function, but it seems that the io_setup which called by io_queue_init is not intercepted some times, which causing invalid aio context for I/O processing. So add an interception for io_queue_init to make it work for this case.

Before requesting gatekeeper:

  • Two review approvals and any prior change requests have been resolved.
  • Testing is complete and all tests passed or there is a reason documented in the PR why it should be force landed and forced-landing tag is set.
  • Features: (or Test-tag*) commit pragma was used or there is a reason documented that there are no appropriate tags for this PR.
  • Commit messages follows the guidelines outlined here.
  • Any tests skipped by the ticket being addressed have been run and passed in the PR.

Gatekeeper:

  • You are the appropriate gatekeeper to be landing the patch.
  • The PR has 2 reviews by people familiar with the code, including appropriate owners.
  • Githooks were used. If not, request that user install them and check copyright dates.
  • Checkpatch issues are resolved. Pay particular attention to ones that will show up on future PRs.
  • All builds have passed. Check non-required builds for any new compiler warnings.
  • Sufficient testing is done. Check feature pragmas and test tags and that tests skipped for the ticket are run and now pass with the changes.
  • If applicable, the PR has addressed any potential version compatibility issues.
  • Check the target branch. If it is master branch, should the PR go to a feature branch? If it is a release branch, does it have merge approval in the JIRA ticket.
  • Extra checks if forced landing is requested
    • Review comments are sufficiently resolved, particularly by prior reviewers that requested changes.
    • No new NLT or valgrind warnings. Check the classic view.
    • Quick-build or Quick-functional is not used.
  • Fix the commit message upon landing. Check the standard here. Edit it to create a single commit. If necessary, ask submitter for a new summary.

Intercepting io_queue_init() is needed on Ubuntu. There is compatibility issue for pil4dfs interception library when used with fio libaio engine. In some cases, fio initialize the aio context through io_queue_init function when loading the libaio engine. Through the pil4dfs has intercepted the io_setup function, but it seems that the io_setup which called by io_queue_init is not intercepted some times, which causing invalid aio context for I/O processing. So add an interception for io_queue_init to make it work for this case.

Signed-off-by: Jun Zeng <jun1.zeng@intel.com>
Signed-off-by: Lei Huang <lei.huang@intel.com>
@wiliamhuang wiliamhuang requested review from a team as code owners January 24, 2025 16:58
@wiliamhuang wiliamhuang added clean-cherry-pick Cherry-pick from another branch that did not require additional edits approved-to-merge PR has received release branch merge approval labels Jan 24, 2025
@github-actions
Copy link
Copy Markdown

Ticket title is 'fio segfault when running with interception library libpil4dfs.so'
Status is 'Awaiting backport'
Labels: 'intercept_lib'
Job should run at elevated priority (1)
https://daosio.atlassian.net/browse/DAOS-16807

@github-actions github-actions bot added the priority Ticket has high priority (automatically managed) label Jan 24, 2025
Allow-unstable-test: true

Signed-off-by: Lei Huang <lei.huang@hpe.com>
Copy link
Copy Markdown
Contributor

@knard38 knard38 left a comment

Choose a reason for hiding this comment

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

LGTM

@wiliamhuang wiliamhuang requested a review from a team January 29, 2025 14:18
@mchaarawi
Copy link
Copy Markdown
Contributor

copyright failing bec the master PR was pushed last year. so backport does not have the Copyright update.

@mchaarawi mchaarawi merged commit 657ae8a into release/2.6 Jan 29, 2025
@mchaarawi mchaarawi deleted the lei/DAOS-16807_2.6 branch January 29, 2025 14:33
@mjmac mjmac mentioned this pull request Mar 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved-to-merge PR has received release branch merge approval clean-cherry-pick Cherry-pick from another branch that did not require additional edits priority Ticket has high priority (automatically managed)

Development

Successfully merging this pull request may close these issues.

3 participants