linux/drivers/mtd/devices
Christian Brauner 22650a9982
fs,block: yield devices early
Currently a device is only really released once the umount returns to
userspace due to how file closing works. That ultimately could cause
an old umount assumption to be violated that concurrent umount and mount
don't fail. So an exclusively held device with a temporary holder should
be yielded before the filesystem is gone. Add a helper that allows
callers to do that. This also allows us to remove the two holder ops
that Linus wasn't excited about.

Link: https://lore.kernel.org/r/20240326-vfs-bdev-end_holder-v1-1-20af85202918@kernel.org
Fixes: f3a608827d ("bdev: open block device as files") # mainline only
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Jan Kara <jack@suse.cz>
Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Christian Brauner <brauner@kernel.org>
2024-03-27 13:17:15 +01:00
..
bcm47xxsflash.c mtd: bcm47xxsflash: Convert to platform remove callback returning void 2023-10-16 10:56:40 +02:00
bcm47xxsflash.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
block2mtd.c fs,block: yield devices early 2024-03-27 13:17:15 +01:00
docg3.c mtd: docg3: Convert to platform remove callback returning void 2023-10-16 10:56:47 +02:00
docg3.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
Kconfig mtd: remove lart flash driver 2022-11-07 17:14:14 +01:00
Makefile mtd: remove lart flash driver 2022-11-07 17:14:14 +01:00
mchp23k256.c mtd: Explicitly include correct DT includes 2023-07-27 17:03:41 +02:00
mchp48l640.c mtd: Explicitly include correct DT includes 2023-07-27 17:03:41 +02:00
ms02-nv.c mtd: devices: Remove superfluous "break" 2021-05-26 10:58:26 +02:00
ms02-nv.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
mtd_dataflash.c mtd: dataflash: Follow renaming of SPI "master" to "controller" 2024-02-08 11:54:44 +00:00
mtdram.c mtd: mtdram: Expose module parameters 2019-01-08 12:42:57 +01:00
phram.c mtd: phram: Convert to platform remove callback returning void 2023-10-16 10:56:47 +02:00
pmc551.c mtd: pmc551: Remove set but not used variable 'soff_lo' 2019-09-15 23:51:07 +02:00
powernv_flash.c mtd: powernv_flash: Convert to platform remove callback returning void 2023-10-16 10:56:47 +02:00
serial_flash_cmds.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 420 2019-06-05 17:37:15 +02:00
slram.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
spear_smi.c mtd: spear_smi: Convert to platform remove callback returning void 2023-10-16 10:56:47 +02:00
sst25l.c spi: make remove callback a void function 2022-02-09 13:00:45 +00:00
st_spi_fsm.c mtd: st_spi_fsm: Convert to platform remove callback returning void 2023-10-16 10:56:47 +02:00