You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
[S390] dasd: fix online/offline race
Setting a DASD online and offline in quick succession may cause a kernel panic or let the chhccwdev command wait forever. The Online process is split into two parts. After the first part is finished the offline process may be called. This may result in a situation where the second online processing part tries to set the DASD offline as well. Use a mutex to protect online and offline against each other. Also correct some checking. Signed-off-by: Stefan Haberland <stefan.haberland@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
committed by
Martin Schwidefsky
parent
22e0a04672
commit
9eb251225a
@@ -88,6 +88,7 @@ void dasd_gendisk_free(struct dasd_block *block)
|
||||
if (block->gdp) {
|
||||
del_gendisk(block->gdp);
|
||||
block->gdp->queue = NULL;
|
||||
block->gdp->private_data = NULL;
|
||||
put_disk(block->gdp);
|
||||
block->gdp = NULL;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user