md/md-llbimtap: fix two corner case problems#507
md/md-llbimtap: fix two corner case problems#507blktests-ci[bot] wants to merge 3 commits intolinus-master_basefrom
Conversation
|
Upstream branch: 6208587 |
067dca5 to
1dff21b
Compare
|
Upstream branch: d91a46d |
f026438 to
47ff00d
Compare
1dff21b to
b44af19
Compare
|
Upstream branch: fcb70a5 |
47ff00d to
a5025c6
Compare
b44af19 to
483aa43
Compare
|
Upstream branch: 8dfce89 |
a5025c6 to
f874326
Compare
483aa43 to
9d3c6de
Compare
|
Upstream branch: de0674d |
f874326 to
6cd03ff
Compare
9d3c6de to
7c2ae0a
Compare
|
Upstream branch: f14faaf |
6cd03ff to
0af2ad7
Compare
7c2ae0a to
54294d6
Compare
|
Upstream branch: b7ff715 |
0af2ad7 to
9c4e152
Compare
54294d6 to
eb49f7b
Compare
|
Upstream branch: e7aa572 |
9c4e152 to
f0e4f35
Compare
eb49f7b to
30e5c22
Compare
|
Upstream branch: 05f7e89 |
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]>
f0e4f35 to
83738bb
Compare
30e5c22 to
519f160
Compare
|
Upstream branch: c22e26b Pull request is NOT updated. Failed to apply https://patchwork.kernel.org/project/linux-block/list/?series=1046430 conflict: |
0525b37 to
6de2940
Compare
LLVM generates bpf_addr_space_cast instruction while translating pointers
between native (zero) address space and __attribute__((address_space(N))).
The addr_space=0 is reserved as bpf_arena address space.
rY = addr_space_cast(rX, 0, 1) is processed by the verifier and converted
to normal 32-bit move: wX = wY
rY = addr_space_cast(rX, 1, 0) has to be converted by JIT.
With this, the following test cases passed:
$ ./test_progs -a arena_htab,arena_list,arena_strsearch,verifier_arena,verifier_arena_large
#4/1 arena_htab/arena_htab_llvm:OK
#4/2 arena_htab/arena_htab_asm:OK
#4 arena_htab:OK
#5/1 arena_list/arena_list_1:OK
#5/2 arena_list/arena_list_1000:OK
#5 arena_list:OK
#7/1 arena_strsearch/arena_strsearch:OK
#7 arena_strsearch:OK
#507/1 verifier_arena/basic_alloc1:OK
#507/2 verifier_arena/basic_alloc2:OK
#507/3 verifier_arena/basic_alloc3:OK
#507/4 verifier_arena/basic_reserve1:OK
#507/5 verifier_arena/basic_reserve2:OK
#507/6 verifier_arena/reserve_twice:OK
#507/7 verifier_arena/reserve_invalid_region:OK
#507/8 verifier_arena/iter_maps1:OK
#507/9 verifier_arena/iter_maps2:OK
#507/10 verifier_arena/iter_maps3:OK
#507 verifier_arena:OK
#508/1 verifier_arena_large/big_alloc1:OK
#508/2 verifier_arena_large/access_reserved:OK
#508/3 verifier_arena_large/request_partially_reserved:OK
#508/4 verifier_arena_large/free_reserved:OK
#508/5 verifier_arena_large/big_alloc2:OK
#508 verifier_arena_large:OK
Summary: 5/20 PASSED, 0 SKIPPED, 0 FAILED
Acked-by: Tiezhu Yang <[email protected]>
Tested-by: Vincent Li <[email protected]>
Signed-off-by: Hengqi Chen <[email protected]>
Signed-off-by: Huacai Chen <[email protected]>
df85678 to
50e7070
Compare
|
At least one diff in series https://patchwork.kernel.org/project/linux-block/list/?series=1046430 irrelevant now for [{'archived': False, 'project': 241}] search patterns |
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