mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2024-12-29 09:13:38 +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.
|
||||
*/
|
||||
set_bit(GD_DEAD, &disk->state);
|
||||
if (test_and_set_bit(GD_DEAD, &disk->state))
|
||||
return;
|
||||
|
||||
if (test_bit(GD_OWNS_QUEUE, &disk->state))
|
||||
blk_queue_flag_set(QUEUE_FLAG_DYING, disk->queue);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user