diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2024-04-11 17:53:36 +0300 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2024-05-03 09:36:50 +0300 |
commit | e33aef2c58577f51ec22736843a652576ce0ef7a (patch) | |
tree | a8d669103c1136907222b90e7f9b4ac6468af36a | |
parent | a09cd552e095f1159bb477a20da98d104df148ca (diff) | |
download | linux-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.c | 1 | ||||
-rw-r--r-- | include/linux/blk_types.h | 1 |
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 */ |