mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-05 10:31:46 +09:00
block: update the stable_writes flag in bdev_add
[ Upstream commit 1898efcdbed32bb1c67269c985a50bab0dbc9493 ]
Propagate the per-queue stable_write flags into each bdev inode in bdev_add.
This makes sure devices that require stable writes have it set for I/O
on the block device node as well.
Note that this doesn't cover the case of a flag changing on a live device
yet. We should handle that as well, but I plan to cover it as part of a
more general rework of how changing runtime paramters on block devices
works.
Fixes: 1cb039f3dc ("bdi: replace BDI_CAP_STABLE_WRITES with a queue and a sb flag")
Reported-by: Ilya Dryomov <idryomov@gmail.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20231025141020.192413-3-hch@lst.de
Tested-by: Ilya Dryomov <idryomov@gmail.com>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
a8e4300ae5
commit
bf223fd4d9
@@ -507,6 +507,8 @@ struct block_device *bdev_alloc(struct gendisk *disk, u8 partno)
|
|||||||
|
|
||||||
void bdev_add(struct block_device *bdev, dev_t dev)
|
void bdev_add(struct block_device *bdev, dev_t dev)
|
||||||
{
|
{
|
||||||
|
if (bdev_stable_writes(bdev))
|
||||||
|
mapping_set_stable_writes(bdev->bd_inode->i_mapping);
|
||||||
bdev->bd_dev = dev;
|
bdev->bd_dev = dev;
|
||||||
bdev->bd_inode->i_rdev = dev;
|
bdev->bd_inode->i_rdev = dev;
|
||||||
bdev->bd_inode->i_ino = dev;
|
bdev->bd_inode->i_ino = dev;
|
||||||
|
|||||||
Reference in New Issue
Block a user