diff mbox series

[1/4] Complete the implementation of RAID1C[34].

Message ID 20200331191045.8991-2-kreijack@libero.it (mailing list archive)
State New, archived
Headers show
Series [1/4] Complete the implementation of RAID1C[34]. | expand

Commit Message

Goffredo Baroncelli March 31, 2020, 7:10 p.m. UTC
From: Goffredo Baroncelli <kreijack@inwind.it>

- Complete the function btrfs_err_str adding some missing cases.
- Sync the enum btrfs_err_code (in ibbtrfsutil/btrfs.h) with the
rest of the codes (user space and kernel space).
- Add missing fields to btrfs_raid_array[] for raid1c[34]

Signed-off-by: Goffredo Baroncelli <kreijack@inwind.it>
---
 ioctl.h              | 4 ++++
 libbtrfsutil/btrfs.h | 4 +++-
 volumes.c            | 6 ++++++
 3 files changed, 13 insertions(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/ioctl.h b/ioctl.h
index 4e7efd94..ade6dcb9 100644
--- a/ioctl.h
+++ b/ioctl.h
@@ -798,6 +798,10 @@  static inline char *btrfs_err_str(enum btrfs_err_code err_code)
 	switch (err_code) {
 		case BTRFS_ERROR_DEV_RAID1_MIN_NOT_MET:
 			return "unable to go below two devices on raid1";
+		case BTRFS_ERROR_DEV_RAID1C3_MIN_NOT_MET:
+			return "unable to go below three devices on raid1c3";
+		case BTRFS_ERROR_DEV_RAID1C4_MIN_NOT_MET:
+			return "unable to go below four devices on raid1c4";
 		case BTRFS_ERROR_DEV_RAID10_MIN_NOT_MET:
 			return "unable to go below four devices on raid10";
 		case BTRFS_ERROR_DEV_RAID5_MIN_NOT_MET:
diff --git a/libbtrfsutil/btrfs.h b/libbtrfsutil/btrfs.h
index 4bc12754..60d51ff6 100644
--- a/libbtrfsutil/btrfs.h
+++ b/libbtrfsutil/btrfs.h
@@ -830,7 +830,9 @@  enum btrfs_err_code {
 	BTRFS_ERROR_DEV_TGT_REPLACE,
 	BTRFS_ERROR_DEV_MISSING_NOT_FOUND,
 	BTRFS_ERROR_DEV_ONLY_WRITABLE,
-	BTRFS_ERROR_DEV_EXCL_RUN_IN_PROGRESS
+	BTRFS_ERROR_DEV_EXCL_RUN_IN_PROGRESS,
+	BTRFS_ERROR_DEV_RAID1C3_MIN_NOT_MET,
+	BTRFS_ERROR_DEV_RAID1C4_MIN_NOT_MET,
 };
 
 #define BTRFS_IOC_SNAP_CREATE _IOW(BTRFS_IOCTL_MAGIC, 1, \
diff --git a/volumes.c b/volumes.c
index b46bf598..7f84fbba 100644
--- a/volumes.c
+++ b/volumes.c
@@ -65,6 +65,9 @@  const struct btrfs_raid_attr btrfs_raid_array[BTRFS_NR_RAID_TYPES] = {
 		.tolerated_failures = 2,
 		.devs_increment	= 3,
 		.ncopies	= 3,
+		.raid_name	= "raid1c3",
+		.bg_flag	= BTRFS_BLOCK_GROUP_RAID1C3,
+		.mindev_error	= BTRFS_ERROR_DEV_RAID1C3_MIN_NOT_MET,
 	},
 	[BTRFS_RAID_RAID1C4] = {
 		.sub_stripes	= 1,
@@ -74,6 +77,9 @@  const struct btrfs_raid_attr btrfs_raid_array[BTRFS_NR_RAID_TYPES] = {
 		.tolerated_failures = 3,
 		.devs_increment	= 4,
 		.ncopies	= 4,
+		.raid_name	= "raid1c4",
+		.bg_flag	= BTRFS_BLOCK_GROUP_RAID1C4,
+		.mindev_error	= BTRFS_ERROR_DEV_RAID1C4_MIN_NOT_MET,
 	},
 	[BTRFS_RAID_DUP] = {
 		.sub_stripes	= 1,