From 36a707824eb1dafbb990f5daf1cbbe0e37dbbefb Mon Sep 17 00:00:00 2001 From: Kinga Tanska 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 Acked-by: Coly Li Signed-off-by: Jes Sorensen --- 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