raid_type
if (rebuild_cnt > rs->raid_type->parity_devs)
struct raid_type *rt = rs->raid_type;
if (!rt_is_raid456(rs->raid_type)) {
return rs->md.raid_disks - rs->raid_type->parity_devs;
return rs->raid_disks - rs->raid_type->parity_devs;
if (rt_is_raid1(rs->raid_type))
else if (rt_is_raid10(rs->raid_type)) {
rs->raid_type = get_raid_type_by_ll(mddev->level, mddev->layout);
if (!rs->raid_type)
struct raid_type *rt_cur = get_raid_type_by_ll(mddev->level, mddev->layout);
struct raid_type *rt_new = get_raid_type_by_ll(mddev->new_level, mddev->new_layout);
} else if (!(rs_is_raid10(rs) && rt_is_raid0(rs->raid_type)) &&
!(rs_is_raid0(rs) && rt_is_raid10(rs->raid_type)) &&
!rt_is_raid1(rs->raid_type)) {
struct raid_type *raid_type;
mddev->bitmap_info.offset = (rt_is_raid0(rs->raid_type) || rs->journal_dev.dev) ? 0 : to_sector(4096);
if (rt_is_raid10(rs->raid_type)) {
struct raid_type *rt;
struct raid_type *rt;
DMEMIT("%s %u %u", rs->raid_type->name, raid_param_cnt, mddev->new_chunk_sectors);
rs->raid_type->name, i);
static bool rt_is_raid0(struct raid_type *rt)
static bool rt_is_raid1(struct raid_type *rt)
static bool rt_is_raid10(struct raid_type *rt)
static bool rt_is_raid45(struct raid_type *rt)
static bool rt_is_raid6(struct raid_type *rt)
static bool rt_is_raid456(struct raid_type *rt)
if (rt_is_raid0(rs->raid_type))
else if (rt_is_raid1(rs->raid_type))
else if (rt_is_raid10(rs->raid_type))
else if (rt_is_raid45(rs->raid_type))
else if (rt_is_raid6(rs->raid_type))
static bool __got_raid10(struct raid_type *rtp, const int layout)
static struct raid_type *get_raid_type(const char *name)
struct raid_type *rtp = raid_types + ARRAY_SIZE(raid_types);
static struct raid_type *get_raid_type_by_ll(const int level, const int layout)
struct raid_type *rtp = raid_types + ARRAY_SIZE(raid_types);
static struct raid_set *raid_set_alloc(struct dm_target *ti, struct raid_type *raid_type,
if (raid_devs <= raid_type->parity_devs) {
rs->raid_type = raid_type;
rs->md.level = raid_type->level;
rs->md.layout = raid_type->algorithm;
u8 raid_type;
for (raid_type = 0; raid_type < BTRFS_NR_RAID_TYPES; raid_type++) {
if (num_devices >= btrfs_raid_array[raid_type].devs_min)
allowed |= btrfs_raid_array[raid_type].bg_flag;
u64 raid_type;
int raid_type;
for (raid_type = 0; raid_type < BTRFS_NR_RAID_TYPES; raid_type++) {
if (raid_type == BTRFS_RAID_SINGLE)
if (!(flags & btrfs_raid_array[raid_type].bg_flag))
btrfs_raid_array[raid_type].
u64 raid_type;
map->type = test->raid_type;
.raid_type = BTRFS_BLOCK_GROUP_RAID1,
.raid_type = 0,