Unverified Commit 2b107946 authored by Jan Kara's avatar Jan Kara Committed by Christian Brauner
Browse files

f2fs: Convert to bdev_open_by_dev/path()



Convert f2fs to use bdev_open_by_dev/path() and pass the handle around.

CC: Jaegeuk Kim <jaegeuk@kernel.org>
CC: Chao Yu <chao@kernel.org>
CC: linux-f2fs-devel@lists.sourceforge.net
Acked-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarChristian Brauner <brauner@kernel.org>
Signed-off-by: default avatarJan Kara <jack@suse.cz>
Link: https://lore.kernel.org/r/20230927093442.25915-23-jack@suse.cz


Signed-off-by: default avatarChristian Brauner <brauner@kernel.org>
parent d577c8aa
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -1234,6 +1234,7 @@ struct f2fs_bio_info {
#define FDEV(i)				(sbi->devs[i])
#define RDEV(i)				(raw_super->devs[i])
struct f2fs_dev_info {
	struct bdev_handle *bdev_handle;
	struct block_device *bdev;
	char path[MAX_PATH_LEN];
	unsigned int total_segments;
+7 −6
Original line number Diff line number Diff line
@@ -1562,7 +1562,7 @@ static void destroy_device_list(struct f2fs_sb_info *sbi)

	for (i = 0; i < sbi->s_ndevs; i++) {
		if (i > 0)
			blkdev_put(FDEV(i).bdev, sbi->sb);
			bdev_release(FDEV(i).bdev_handle);
#ifdef CONFIG_BLK_DEV_ZONED
		kvfree(FDEV(i).blkz_seq);
#endif
@@ -4198,7 +4198,7 @@ static int f2fs_scan_devices(struct f2fs_sb_info *sbi)

	for (i = 0; i < max_devices; i++) {
		if (i == 0)
			FDEV(0).bdev = sbi->sb->s_bdev;
			FDEV(0).bdev_handle = sbi->sb->s_bdev_handle;
		else if (!RDEV(i).path[0])
			break;

@@ -4218,13 +4218,14 @@ static int f2fs_scan_devices(struct f2fs_sb_info *sbi)
				FDEV(i).end_blk = FDEV(i).start_blk +
					(FDEV(i).total_segments <<
					sbi->log_blocks_per_seg) - 1;
				FDEV(i).bdev = blkdev_get_by_path(FDEV(i).path,
					mode, sbi->sb, NULL);
				FDEV(i).bdev_handle = bdev_open_by_path(
					FDEV(i).path, mode, sbi->sb, NULL);
			}
		}
		if (IS_ERR(FDEV(i).bdev))
			return PTR_ERR(FDEV(i).bdev);
		if (IS_ERR(FDEV(i).bdev_handle))
			return PTR_ERR(FDEV(i).bdev_handle);

		FDEV(i).bdev = FDEV(i).bdev_handle->bdev;
		/* to release errored devices */
		sbi->s_ndevs = i + 1;