Skip to content

DAOS-19620 object: unlock cob_lock on single-replica EIO - #19043

Open
meire-volumez wants to merge 1 commit into
daos-stack:masterfrom
meire-volumez:meire/DAOS-19620-leader-select-unlock
Open

DAOS-19620 object: unlock cob_lock on single-replica EIO#19043
meire-volumez wants to merge 1 commit into
daos-stack:masterfrom
meire-volumez:meire/DAOS-19620-leader-select-unlock

Conversation

@meire-volumez

Copy link
Copy Markdown

obj_replica_leader_select() doesn't release cob_lock in the grp_size == 1 branch, skipping the unlock label that every other exit uses. The next write lock on that object then blocks forever.

Return through the unlock label instead, with D_GOTO(unlock, rc = -DER_IO).

Steps for the author:

  • Commit message follows the guidelines.
  • Appropriate Features or Test-tag pragmas were used.
  • Appropriate Functional Test Stages were run.
  • At least two positive code reviews including at least one code owner from each category referenced in the PR.
  • Testing is complete. If necessary, forced-landing label added and a reason added in a comment.

After all prior steps are complete:

  • Gatekeeper requested (daos-gatekeeper added as a reviewer).

obj_replica_leader_select() doesn't release cob_lock in the
grp_size == 1 branch, skipping the unlock label that every other
exit uses. The next write lock on that object then blocks forever.

Return through the unlock label instead, with
D_GOTO(unlock, rc = -DER_IO).

Signed-off-by: Meir Elisha <meir.elisha@volumez.com>
@github-actions

Copy link
Copy Markdown

Ticket title is 'obj_replica_leader_select() leaks cob_lock read lock on single-replica -DER_IO path'
Status is 'Open'
https://daosio.atlassian.net/browse/DAOS-19620

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant