Re: [PATCH] raid1: fix nr_pending leak in REQ_ATOMIC bad-block error path
John Garry <[email protected]>
| Newsgroups | gmane.linux.raid,gmane.linux.kernel |
|---|---|
| Organization | Oracle Corporation |
| Message-ID | <[email protected]> |
On 01/06/2026 10:03, Abd-Alrhman Masalkhi wrote:
>>> +++ b/drivers/md/raid1.c
>>> @@ -1580,8 +1580,10 @@ static void raid1_write_request(struct mddev *mddev, struct bio *bio,
>>> * complexity of supporting that is not worth
>>> * the benefit.
>>> */
>>> - if (bio->bi_opf & REQ_ATOMIC)
>>> + if (bio->bi_opf & REQ_ATOMIC) {
>>> + rdev_dec_pending(rdev, mddev);
>> It's not so nice that we have 2x locations that does the
>> rdev_dec_pending work
>>
> Are you suggesting deferring atomic_inc(&rdev->nr_pending) until after
> the if (test_bit(WriteErrorSeen, &rdev->flags)) {..} block? The patch
> is already in md-7.2; should I send a separate cleanup patch?
I'm not suggesting any further change. I am just mentioning that it is
unfortunate that we have 2x locations which does the decrement, which
makes error handling harder to follow.