diff mbox series

[v2] Detail: remove duplicated code

Message ID 20240227023614.32386-1-kinga.tanska@intel.com (mailing list archive)
State Accepted
Headers show
Series [v2] Detail: remove duplicated code | expand

Commit Message

Kinga Tanska Feb. 27, 2024, 2:36 a.m. UTC
Remove duplicated code from Detail(), where MD_UUID and MD_DEVNAME
are being set. Superblock is no longer required to print system
properties. Now it tries to obtain map in two ways.

Signed-off-by: Kinga Tanska <kinga.tanska@intel.com>
---
 Detail.c | 33 +++++++++++++--------------------
 1 file changed, 13 insertions(+), 20 deletions(-)

Comments

Mariusz Tkaczyk March 6, 2024, 2:31 p.m. UTC | #1
On Tue, 27 Feb 2024 03:36:14 +0100
Kinga Tanska <kinga.tanska@intel.com> wrote:

> Remove duplicated code from Detail(), where MD_UUID and MD_DEVNAME
> are being set. Superblock is no longer required to print system
> properties. Now it tries to obtain map in two ways.
> 
> Signed-off-by: Kinga Tanska <kinga.tanska@intel.com>

Applied! 

Thanks,
Mariusz
diff mbox series

Patch

diff --git a/Detail.c b/Detail.c
index 57ac336f..92affdc6 100644
--- a/Detail.c
+++ b/Detail.c
@@ -226,6 +226,9 @@  int Detail(char *dev, struct context *c)
 		str = map_num(pers, array.level);
 
 	if (c->export) {
+		char nbuf[64];
+		struct map_ent *mp = NULL, *map = NULL;
+
 		if (array.raid_disks) {
 			if (str)
 				printf("MD_LEVEL=%s\n", str);
@@ -247,32 +250,22 @@  int Detail(char *dev, struct context *c)
 				       array.minor_version);
 		}
 
-		if (st && st->sb && info) {
-			char nbuf[64];
-			struct map_ent *mp, *map = NULL;
-
-			fname_from_uuid(st, info, nbuf, ':');
-			printf("MD_UUID=%s\n", nbuf + 5);
+		if (info)
 			mp = map_by_uuid(&map, info->uuid);
+		if (!mp)
+			mp = map_by_devnm(&map, fd2devnm(fd));
 
-			if (mp && mp->path && strncmp(mp->path, DEV_MD_DIR, DEV_MD_DIR_LEN) == 0)
+		if (mp) {
+			__fname_from_uuid(mp->uuid, 0, nbuf, ':');
+			printf("MD_UUID=%s\n", nbuf + 5);
+			if (mp->path && strncmp(mp->path, DEV_MD_DIR, DEV_MD_DIR_LEN) == 0)
 				printf("MD_DEVNAME=%s\n", mp->path + DEV_MD_DIR_LEN);
+		}
 
+		map_free(map);
+		if (st && st->sb) {
 			if (st->ss->export_detail_super)
 				st->ss->export_detail_super(st);
-			map_free(map);
-		} else {
-			struct map_ent *mp, *map = NULL;
-			char nbuf[64];
-			mp = map_by_devnm(&map, fd2devnm(fd));
-			if (mp) {
-				__fname_from_uuid(mp->uuid, 0, nbuf, ':');
-				printf("MD_UUID=%s\n", nbuf+5);
-			}
-			if (mp && mp->path && strncmp(mp->path, DEV_MD_DIR, DEV_MD_DIR_LEN) == 0)
-				printf("MD_DEVNAME=%s\n", mp->path + DEV_MD_DIR_LEN);
-
-			map_free(map);
 		}
 		if (!c->no_devices && sra) {
 			struct mdinfo *mdi;