super.c (9ff17e6bdaa50892dd9bdb1b116cb71b73dd711a) super.c (0718afd47f70cf46877c39c25d06b786e1a3f36c)
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * fs/f2fs/super.c
4 *
5 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
6 * http://www.samsung.com/
7 */
8#include <linux/module.h>

--- 4011 unchanged lines hidden (view full) ---

4020
4021 if (i > 0 && !RDEV(i).path[0])
4022 break;
4023
4024 if (max_devices == 1) {
4025 /* Single zoned block device mount */
4026 FDEV(0).bdev =
4027 blkdev_get_by_dev(sbi->sb->s_bdev->bd_dev,
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * fs/f2fs/super.c
4 *
5 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
6 * http://www.samsung.com/
7 */
8#include <linux/module.h>

--- 4011 unchanged lines hidden (view full) ---

4020
4021 if (i > 0 && !RDEV(i).path[0])
4022 break;
4023
4024 if (max_devices == 1) {
4025 /* Single zoned block device mount */
4026 FDEV(0).bdev =
4027 blkdev_get_by_dev(sbi->sb->s_bdev->bd_dev,
4028 sbi->sb->s_mode, sbi->sb->s_type);
4028 sbi->sb->s_mode, sbi->sb->s_type, NULL);
4029 } else {
4030 /* Multi-device mount */
4031 memcpy(FDEV(i).path, RDEV(i).path, MAX_PATH_LEN);
4032 FDEV(i).total_segments =
4033 le32_to_cpu(RDEV(i).total_segments);
4034 if (i == 0) {
4035 FDEV(i).start_blk = 0;
4036 FDEV(i).end_blk = FDEV(i).start_blk +
4037 (FDEV(i).total_segments <<
4038 sbi->log_blocks_per_seg) - 1 +
4039 le32_to_cpu(raw_super->segment0_blkaddr);
4040 } else {
4041 FDEV(i).start_blk = FDEV(i - 1).end_blk + 1;
4042 FDEV(i).end_blk = FDEV(i).start_blk +
4043 (FDEV(i).total_segments <<
4044 sbi->log_blocks_per_seg) - 1;
4045 }
4046 FDEV(i).bdev = blkdev_get_by_path(FDEV(i).path,
4029 } else {
4030 /* Multi-device mount */
4031 memcpy(FDEV(i).path, RDEV(i).path, MAX_PATH_LEN);
4032 FDEV(i).total_segments =
4033 le32_to_cpu(RDEV(i).total_segments);
4034 if (i == 0) {
4035 FDEV(i).start_blk = 0;
4036 FDEV(i).end_blk = FDEV(i).start_blk +
4037 (FDEV(i).total_segments <<
4038 sbi->log_blocks_per_seg) - 1 +
4039 le32_to_cpu(raw_super->segment0_blkaddr);
4040 } else {
4041 FDEV(i).start_blk = FDEV(i - 1).end_blk + 1;
4042 FDEV(i).end_blk = FDEV(i).start_blk +
4043 (FDEV(i).total_segments <<
4044 sbi->log_blocks_per_seg) - 1;
4045 }
4046 FDEV(i).bdev = blkdev_get_by_path(FDEV(i).path,
4047 sbi->sb->s_mode, sbi->sb->s_type);
4047 sbi->sb->s_mode, sbi->sb->s_type, NULL);
4048 }
4049 if (IS_ERR(FDEV(i).bdev))
4050 return PTR_ERR(FDEV(i).bdev);
4051
4052 /* to release errored devices */
4053 sbi->s_ndevs = i + 1;
4054
4055 if (logical_blksize != bdev_logical_block_size(FDEV(i).bdev))

--- 806 unchanged lines hidden ---
4048 }
4049 if (IS_ERR(FDEV(i).bdev))
4050 return PTR_ERR(FDEV(i).bdev);
4051
4052 /* to release errored devices */
4053 sbi->s_ndevs = i + 1;
4054
4055 if (logical_blksize != bdev_logical_block_size(FDEV(i).bdev))

--- 806 unchanged lines hidden ---