diff options
| author | Wang Jinchao <wangjinchao600@gmail.com> | 2025-07-07 09:26:57 +0800 |
|---|---|---|
| committer | Yu Kuai <yukuai3@huawei.com> | 2025-08-03 13:08:02 +0800 |
| commit | 987ca60637a46882a026ca9cc9f3e5f26e8aec28 (patch) | |
| tree | 055531c71666998409e3d658cbece529a4967f39 /drivers/md/raid1.h | |
| parent | 907a99c314a5a695e35acff78ac61f4ec950a6d3 (diff) | |
md/raid1: change r1conf->r1bio_pool to a pointer type
In raid1_reshape(), newpool is a stack variable.
mempool_init() initializes newpool->wait with the stack address.
After assigning newpool to conf->r1bio_pool, the wait queue
need to be reinitialized, which is not ideal.
Change raid1_conf->r1bio_pool to a pointer type and
replace mempool_init() with mempool_create_kmalloc_pool() to
avoid referencing a stack-based wait queue.
Signed-off-by: Wang Jinchao <wangjinchao600@gmail.com>
Link: https://lore.kernel.org/linux-raid/20250707012711.376844-2-yukuai1@huaweicloud.com
Signed-off-by: Yu Kuai <yukuai3@huawei.com>
Diffstat (limited to 'drivers/md/raid1.h')
| -rw-r--r-- | drivers/md/raid1.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/md/raid1.h b/drivers/md/raid1.h index 33f318fcc268..652c347b1a70 100644 --- a/drivers/md/raid1.h +++ b/drivers/md/raid1.h @@ -118,7 +118,7 @@ struct r1conf { * mempools - it changes when the array grows or shrinks */ struct pool_info *poolinfo; - mempool_t r1bio_pool; + mempool_t *r1bio_pool; mempool_t r1buf_pool; struct bio_set bio_split; |