Skip to content

FreeBSD: Remove an incorrect assertion in zfs_getpages() #16834

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

Merged
merged 1 commit into from
Dec 4, 2024

Conversation

markjdb
Copy link
Contributor

@markjdb markjdb commented Dec 3, 2024

Remove an incorrect assertion in zfs_getpages().

Closes #16810

How Has This Been Tested?

Issue #16810 provided a reproducer; I verified that it triggers the assertion failure locally, then double-checked that the cause of the assertion failure matches what I expect, then ran the reproducer in a loop for some time to look for further problems.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Performance enhancement (non-breaking change which improves efficiency)
  • Code cleanup (non-breaking change which makes code smaller or more readable)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Library ABI change (libzfs, libzfs_core, libnvpair, libuutil and libzfsbootenv)
  • Documentation (a change to man pages or other documentation)

Checklist:

The pages in the array may become valid after this initial unbusying,
so the assertion only holds during the first iteration of the outer
loop.

Later in zfs_getpages(), the dmu_read_pages() loop handles already-valid
pages.  Just drop the assertion, it's not terribly useful.

Fixes openzfs#16810

Sponsored-by: Klara, Inc.
Reported-by: Peter Holm <[email protected]>
Signed-off-by: Mark Johnston <[email protected]>
@amotin amotin added the Status: Code Review Needed Ready for review and testing label Dec 3, 2024
@behlendorf behlendorf added Status: Accepted Ready to integrate (reviewed, tested) and removed Status: Code Review Needed Ready for review and testing labels Dec 3, 2024
@amotin amotin merged commit 0e020bf into openzfs:master Dec 4, 2024
21 of 25 checks passed
behlendorf pushed a commit to behlendorf/zfs that referenced this pull request Dec 5, 2024
The pages in the array may become valid after this initial unbusying,
so the assertion only holds during the first iteration of the outer
loop.

Later in zfs_getpages(), the dmu_read_pages() loop handles already-valid
pages.  Just drop the assertion, it's not terribly useful.

Reviewed-by: Alexander Motin <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: Brian Atkinson <[email protected]>
Reported-by: Peter Holm <[email protected]>
Signed-off-by: Mark Johnston <[email protected]>
Sponsored-by: Klara, Inc.
Closes openzfs#16810
Closes openzfs#16834
lundman pushed a commit to openzfsonwindows/openzfs that referenced this pull request Jan 26, 2025
The pages in the array may become valid after this initial unbusying,
so the assertion only holds during the first iteration of the outer
loop.

Later in zfs_getpages(), the dmu_read_pages() loop handles already-valid
pages.  Just drop the assertion, it's not terribly useful.

Reviewed-by: Alexander Motin <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: Brian Atkinson <[email protected]>
Reported-by: Peter Holm <[email protected]>
Signed-off-by: Mark Johnston <[email protected]>
Sponsored-by: Klara, Inc.
Closes openzfs#16810
Closes openzfs#16834
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Status: Accepted Ready to integrate (reviewed, tested)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

panic: VERIFY(vm_page_none_valid(ma[i])) failed
4 participants