summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2024-04-11 17:53:36 +0300
committerAl Viro <viro@zeniv.linux.org.uk>2024-05-03 09:36:50 +0300
commite33aef2c58577f51ec22736843a652576ce0ef7a (patch)
treea8d669103c1136907222b90e7f9b4ac6468af36a
parenta09cd552e095f1159bb477a20da98d104df148ca (diff)
downloadlinux-e33aef2c58577f51ec22736843a652576ce0ef7a.tar.xz
block_device: add a pointer to struct address_space (page cache of bdev)
points to ->i_data of coallocated inode. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Link: https://lore.kernel.org/r/20240411145346.2516848-1-viro@zeniv.linux.org.uk Signed-off-by: Christian Brauner <brauner@kernel.org>
-rw-r--r--block/bdev.c1
-rw-r--r--include/linux/blk_types.h1
2 files changed, 2 insertions, 0 deletions
diff --git a/block/bdev.c b/block/bdev.c
index 28e6f0423857..8e19101cbbb0 100644
--- a/block/bdev.c
+++ b/block/bdev.c
@@ -419,6 +419,7 @@ struct block_device *bdev_alloc(struct gendisk *disk, u8 partno)
mutex_init(&bdev->bd_holder_lock);
bdev->bd_partno = partno;
bdev->bd_inode = inode;
+ bdev->bd_mapping = &inode->i_data;
bdev->bd_queue = disk->queue;
if (partno)
bdev->bd_has_submit_bio = disk->part0->bd_has_submit_bio;
diff --git a/include/linux/blk_types.h b/include/linux/blk_types.h
index cb1526ec44b5..6438c75cbb35 100644
--- a/include/linux/blk_types.h
+++ b/include/linux/blk_types.h
@@ -51,6 +51,7 @@ struct block_device {
bool bd_has_submit_bio;
dev_t bd_dev;
struct inode *bd_inode; /* will die */
+ struct address_space *bd_mapping; /* page cache */
atomic_t bd_openers;
spinlock_t bd_size_lock; /* for bd_inode->i_size updates */