Skip to content

Conversation

@blktests-ci
Copy link

@blktests-ci blktests-ci bot commented Jan 24, 2026

Pull request for series with
subject: md/md-llbimtap: fix two corner case problems
version: 1
url: https://patchwork.kernel.org/project/linux-block/list/?series=1046430

@blktests-ci
Copy link
Author

blktests-ci bot commented Jan 24, 2026

Upstream branch: 6208587
series: https://patchwork.kernel.org/project/linux-block/list/?series=1046430
version: 1

@blktests-ci
Copy link
Author

blktests-ci bot commented Jan 25, 2026

Upstream branch: d91a46d
series: https://patchwork.kernel.org/project/linux-block/list/?series=1046430
version: 1

@blktests-ci blktests-ci bot force-pushed the series/1046430=>linus-master branch from f026438 to 47ff00d Compare January 25, 2026 10:21
@blktests-ci blktests-ci bot force-pushed the linus-master_base branch from 1dff21b to b44af19 Compare January 27, 2026 10:02
@blktests-ci
Copy link
Author

blktests-ci bot commented Jan 27, 2026

Upstream branch: fcb70a5
series: https://patchwork.kernel.org/project/linux-block/list/?series=1046430
version: 1

@blktests-ci blktests-ci bot force-pushed the series/1046430=>linus-master branch from 47ff00d to a5025c6 Compare January 27, 2026 10:05
@blktests-ci blktests-ci bot force-pushed the linus-master_base branch from b44af19 to 483aa43 Compare January 29, 2026 00:24
When llbitmap bit state is still unwritten, any new write should force
rcw, as bitmap_ops->blocks_synced() is checked in handle_stripe_dirting().
However, later the same check is missing in need_this_block(), causing
stripe to deadloop during handling because handle_stripe() will decide
to go to handle_stripe_fill(), meanwhile need_this_block() always return
0 and nothing is handled.

Fixes: 5ab829f ("md/md-llbitmap: introduce new lockless bitmap")
Signed-off-by: Yu Kuai <[email protected]>
Reviewed-by: Li Nan <[email protected]>
When llbitmap_suspend_timeout() times out waiting for percpu_ref to
become zero, it returns -ETIMEDOUT without resurrecting the percpu_ref.
The caller (md_llbitmap_daemon_fn) then continues to the next page
without calling llbitmap_resume(), leaving the percpu_ref in a killed
state permanently.

Fix this by resurrecting the percpu_ref before returning the error,
ensuring the page control structure remains usable for subsequent
operations.

Fixes: 5ab829f ("md/md-llbitmap: introduce new lockless bitmap")
Signed-off-by: Yu Kuai <[email protected]>
Reviewed-by: Li Nan <[email protected]>
@blktests-ci
Copy link
Author

blktests-ci bot commented Jan 29, 2026

Upstream branch: 8dfce89
series: https://patchwork.kernel.org/project/linux-block/list/?series=1046430
version: 1

@blktests-ci blktests-ci bot force-pushed the series/1046430=>linus-master branch from a5025c6 to f874326 Compare January 29, 2026 00:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant