Message ID | 20240222124555.2049140-14-yukuai1@huaweicloud.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | fs & block: remove bdev->bd_inode | expand |
On Thu 22-02-24 20:45:49, Yu Kuai wrote: > From: Yu Kuai <yukuai3@huawei.com> > > Now that all filesystems stash the bdev file, it's ok to get mapping > from the file. > > Signed-off-by: Yu Kuai <yukuai3@huawei.com> Looks good. Feel free to add: Reviewed-by: Jan Kara <jack@suse.cz> Honza > --- > fs/ext4/dir.c | 2 +- > fs/ext4/ext4_jbd2.c | 2 +- > fs/ext4/super.c | 6 +++--- > 3 files changed, 5 insertions(+), 5 deletions(-) > > diff --git a/fs/ext4/dir.c b/fs/ext4/dir.c > index 3985f8c33f95..0733bc1eec7a 100644 > --- a/fs/ext4/dir.c > +++ b/fs/ext4/dir.c > @@ -192,7 +192,7 @@ static int ext4_readdir(struct file *file, struct dir_context *ctx) > (PAGE_SHIFT - inode->i_blkbits); > if (!ra_has_index(&file->f_ra, index)) > page_cache_sync_readahead( > - sb->s_bdev->bd_inode->i_mapping, > + sb->s_bdev_file->f_mapping, > &file->f_ra, file, > index, 1); > file->f_ra.prev_pos = (loff_t)index << PAGE_SHIFT; > diff --git a/fs/ext4/ext4_jbd2.c b/fs/ext4/ext4_jbd2.c > index 5d8055161acd..dbb9aff07ac1 100644 > --- a/fs/ext4/ext4_jbd2.c > +++ b/fs/ext4/ext4_jbd2.c > @@ -206,7 +206,7 @@ static void ext4_journal_abort_handle(const char *caller, unsigned int line, > > static void ext4_check_bdev_write_error(struct super_block *sb) > { > - struct address_space *mapping = sb->s_bdev->bd_inode->i_mapping; > + struct address_space *mapping = sb->s_bdev_file->f_mapping; > struct ext4_sb_info *sbi = EXT4_SB(sb); > int err; > > diff --git a/fs/ext4/super.c b/fs/ext4/super.c > index 2d82b9d4b079..55b3df71bf5e 100644 > --- a/fs/ext4/super.c > +++ b/fs/ext4/super.c > @@ -244,7 +244,7 @@ static struct buffer_head *__ext4_sb_bread_gfp(struct super_block *sb, > struct buffer_head *ext4_sb_bread(struct super_block *sb, sector_t block, > blk_opf_t op_flags) > { > - gfp_t gfp = mapping_gfp_constraint(sb->s_bdev->bd_inode->i_mapping, > + gfp_t gfp = mapping_gfp_constraint(sb->s_bdev_file->f_mapping, > ~__GFP_FS) | __GFP_MOVABLE; > > return __ext4_sb_bread_gfp(sb, block, op_flags, gfp); > @@ -253,7 +253,7 @@ struct buffer_head *ext4_sb_bread(struct super_block *sb, sector_t block, > struct buffer_head *ext4_sb_bread_unmovable(struct super_block *sb, > sector_t block) > { > - gfp_t gfp = mapping_gfp_constraint(sb->s_bdev->bd_inode->i_mapping, > + gfp_t gfp = mapping_gfp_constraint(sb->s_bdev_file->f_mapping, > ~__GFP_FS); > > return __ext4_sb_bread_gfp(sb, block, 0, gfp); > @@ -5560,7 +5560,7 @@ static int __ext4_fill_super(struct fs_context *fc, struct super_block *sb) > * used to detect the metadata async write error. > */ > spin_lock_init(&sbi->s_bdev_wb_lock); > - errseq_check_and_advance(&sb->s_bdev->bd_inode->i_mapping->wb_err, > + errseq_check_and_advance(&sb->s_bdev_file->f_mapping->wb_err, > &sbi->s_bdev_wb_err); > EXT4_SB(sb)->s_mount_state |= EXT4_ORPHAN_FS; > ext4_orphan_cleanup(sb, es); > -- > 2.39.2 >
Looks good:
Reviewed-by: Christoph Hellwig <hch@lst.de>
diff --git a/fs/ext4/dir.c b/fs/ext4/dir.c index 3985f8c33f95..0733bc1eec7a 100644 --- a/fs/ext4/dir.c +++ b/fs/ext4/dir.c @@ -192,7 +192,7 @@ static int ext4_readdir(struct file *file, struct dir_context *ctx) (PAGE_SHIFT - inode->i_blkbits); if (!ra_has_index(&file->f_ra, index)) page_cache_sync_readahead( - sb->s_bdev->bd_inode->i_mapping, + sb->s_bdev_file->f_mapping, &file->f_ra, file, index, 1); file->f_ra.prev_pos = (loff_t)index << PAGE_SHIFT; diff --git a/fs/ext4/ext4_jbd2.c b/fs/ext4/ext4_jbd2.c index 5d8055161acd..dbb9aff07ac1 100644 --- a/fs/ext4/ext4_jbd2.c +++ b/fs/ext4/ext4_jbd2.c @@ -206,7 +206,7 @@ static void ext4_journal_abort_handle(const char *caller, unsigned int line, static void ext4_check_bdev_write_error(struct super_block *sb) { - struct address_space *mapping = sb->s_bdev->bd_inode->i_mapping; + struct address_space *mapping = sb->s_bdev_file->f_mapping; struct ext4_sb_info *sbi = EXT4_SB(sb); int err; diff --git a/fs/ext4/super.c b/fs/ext4/super.c index 2d82b9d4b079..55b3df71bf5e 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c @@ -244,7 +244,7 @@ static struct buffer_head *__ext4_sb_bread_gfp(struct super_block *sb, struct buffer_head *ext4_sb_bread(struct super_block *sb, sector_t block, blk_opf_t op_flags) { - gfp_t gfp = mapping_gfp_constraint(sb->s_bdev->bd_inode->i_mapping, + gfp_t gfp = mapping_gfp_constraint(sb->s_bdev_file->f_mapping, ~__GFP_FS) | __GFP_MOVABLE; return __ext4_sb_bread_gfp(sb, block, op_flags, gfp); @@ -253,7 +253,7 @@ struct buffer_head *ext4_sb_bread(struct super_block *sb, sector_t block, struct buffer_head *ext4_sb_bread_unmovable(struct super_block *sb, sector_t block) { - gfp_t gfp = mapping_gfp_constraint(sb->s_bdev->bd_inode->i_mapping, + gfp_t gfp = mapping_gfp_constraint(sb->s_bdev_file->f_mapping, ~__GFP_FS); return __ext4_sb_bread_gfp(sb, block, 0, gfp); @@ -5560,7 +5560,7 @@ static int __ext4_fill_super(struct fs_context *fc, struct super_block *sb) * used to detect the metadata async write error. */ spin_lock_init(&sbi->s_bdev_wb_lock); - errseq_check_and_advance(&sb->s_bdev->bd_inode->i_mapping->wb_err, + errseq_check_and_advance(&sb->s_bdev_file->f_mapping->wb_err, &sbi->s_bdev_wb_err); EXT4_SB(sb)->s_mount_state |= EXT4_ORPHAN_FS; ext4_orphan_cleanup(sb, es);