mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-01 10:43:43 +00:00
block: avoid repeated work in blk_mark_disk_dead
Check if GD_DEAD is already set in blk_mark_disk_dead, and don't duplicate the work already done. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Jan Kara <jack@suse.cz> Acked-by: Christian Brauner <brauner@kernel.org> Acked-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Dave Chinner <dchinner@redhat.com> Link: https://lore.kernel.org/r/20230601094459.1350643-6-hch@lst.de Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
66fddc25fe
commit
a4f75764d1
@ -575,7 +575,9 @@ void blk_mark_disk_dead(struct gendisk *disk)
|
|||||||
/*
|
/*
|
||||||
* Fail any new I/O.
|
* Fail any new I/O.
|
||||||
*/
|
*/
|
||||||
set_bit(GD_DEAD, &disk->state);
|
if (test_and_set_bit(GD_DEAD, &disk->state))
|
||||||
|
return;
|
||||||
|
|
||||||
if (test_bit(GD_OWNS_QUEUE, &disk->state))
|
if (test_bit(GD_OWNS_QUEUE, &disk->state))
|
||||||
blk_queue_flag_set(QUEUE_FLAG_DYING, disk->queue);
|
blk_queue_flag_set(QUEUE_FLAG_DYING, disk->queue);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user