You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
106 lines
4.0 KiB
106 lines
4.0 KiB
2 years ago
|
From 36a707824eb1dafbb990f5daf1cbbe0e37dbbefb Mon Sep 17 00:00:00 2001
|
||
|
From: Kinga Tanska <kinga.tanska@intel.com>
|
||
|
Date: Thu, 5 Jan 2023 06:31:25 +0100
|
||
|
Subject: [PATCH 83/83] manage: move comment with function description
|
||
|
|
||
|
Move the function description from the function body to outside
|
||
|
to obey kernel coding style.
|
||
|
|
||
|
Signed-off-by: Kinga Tanska <kinga.tanska@intel.com>
|
||
|
Acked-by: Coly Li <colyli@suse.de>
|
||
|
Signed-off-by: Jes Sorensen <jes@trained-monkey.org>
|
||
|
---
|
||
|
Manage.c | 72 ++++++++++++++++++++++++++++++++++----------------------
|
||
|
1 file changed, 44 insertions(+), 28 deletions(-)
|
||
|
|
||
|
diff --git a/Manage.c b/Manage.c
|
||
|
index 6184d3f7..fde6aba3 100644
|
||
|
--- a/Manage.c
|
||
|
+++ b/Manage.c
|
||
|
@@ -1327,38 +1327,54 @@ bool is_remove_safe(mdu_array_info_t *array, const int fd, char *devname, const
|
||
|
return is_enough;
|
||
|
}
|
||
|
|
||
|
+/**
|
||
|
+ * Manage_subdevs() - Execute operation depending on devmode.
|
||
|
+ *
|
||
|
+ * @devname: name of the device.
|
||
|
+ * @fd: file descriptor.
|
||
|
+ * @devlist: list of sub-devices to manage.
|
||
|
+ * @verbose: verbose level.
|
||
|
+ * @test: test flag.
|
||
|
+ * @update: type of update.
|
||
|
+ * @force: force flag.
|
||
|
+ *
|
||
|
+ * This function executes operation defined by devmode
|
||
|
+ * for each dev from devlist.
|
||
|
+ * Devmode can be:
|
||
|
+ * 'a' - add the device
|
||
|
+ * 'S' - add the device as a spare - don't try re-add
|
||
|
+ * 'j' - add the device as a journal device
|
||
|
+ * 'A' - re-add the device
|
||
|
+ * 'r' - remove the device: HOT_REMOVE_DISK
|
||
|
+ * device can be 'faulty' or 'detached' in which case all
|
||
|
+ * matching devices are removed.
|
||
|
+ * 'f' - set the device faulty SET_DISK_FAULTY
|
||
|
+ * device can be 'detached' in which case any device that
|
||
|
+ * is inaccessible will be marked faulty.
|
||
|
+ * 'I' - remove device by using incremental fail
|
||
|
+ * which is executed when device is removed surprisingly.
|
||
|
+ * 'R' - mark this device as wanting replacement.
|
||
|
+ * 'W' - this device is added if necessary and activated as
|
||
|
+ * a replacement for a previous 'R' device.
|
||
|
+ * -----
|
||
|
+ * 'w' - 'W' will be changed to 'w' when it is paired with
|
||
|
+ * a 'R' device. If a 'W' is found while walking the list
|
||
|
+ * it must be unpaired, and is an error.
|
||
|
+ * 'M' - this is created by a 'missing' target. It is a slight
|
||
|
+ * variant on 'A'
|
||
|
+ * 'F' - Another variant of 'A', where the device was faulty
|
||
|
+ * so must be removed from the array first.
|
||
|
+ * 'c' - confirm the device as found (for clustered environments)
|
||
|
+ *
|
||
|
+ * For 'f' and 'r', the device can also be a kernel-internal
|
||
|
+ * name such as 'sdb'.
|
||
|
+ *
|
||
|
+ * Return: 0 on success, otherwise 1 or 2.
|
||
|
+ */
|
||
|
int Manage_subdevs(char *devname, int fd,
|
||
|
struct mddev_dev *devlist, int verbose, int test,
|
||
|
enum update_opt update, int force)
|
||
|
{
|
||
|
- /* Do something to each dev.
|
||
|
- * devmode can be
|
||
|
- * 'a' - add the device
|
||
|
- * 'S' - add the device as a spare - don't try re-add
|
||
|
- * 'j' - add the device as a journal device
|
||
|
- * 'A' - re-add the device
|
||
|
- * 'r' - remove the device: HOT_REMOVE_DISK
|
||
|
- * device can be 'faulty' or 'detached' in which case all
|
||
|
- * matching devices are removed.
|
||
|
- * 'f' - set the device faulty SET_DISK_FAULTY
|
||
|
- * device can be 'detached' in which case any device that
|
||
|
- * is inaccessible will be marked faulty.
|
||
|
- * 'R' - mark this device as wanting replacement.
|
||
|
- * 'W' - this device is added if necessary and activated as
|
||
|
- * a replacement for a previous 'R' device.
|
||
|
- * -----
|
||
|
- * 'w' - 'W' will be changed to 'w' when it is paired with
|
||
|
- * a 'R' device. If a 'W' is found while walking the list
|
||
|
- * it must be unpaired, and is an error.
|
||
|
- * 'M' - this is created by a 'missing' target. It is a slight
|
||
|
- * variant on 'A'
|
||
|
- * 'F' - Another variant of 'A', where the device was faulty
|
||
|
- * so must be removed from the array first.
|
||
|
- * 'c' - confirm the device as found (for clustered environments)
|
||
|
- *
|
||
|
- * For 'f' and 'r', the device can also be a kernel-internal
|
||
|
- * name such as 'sdb'.
|
||
|
- */
|
||
|
mdu_array_info_t array;
|
||
|
unsigned long long array_size;
|
||
|
struct mddev_dev *dv;
|
||
|
--
|
||
|
2.38.1
|
||
|
|