Thread (3 messages) 3 messages, 3 authors, 2024-02-27

Re: [PATCH] Detail: remove duplicated code

From: Paul Menzel <hidden>
Date: 2024-02-27 13:45:28

Dear Kinga,


Thank you for your patch.

Am 27.02.24 um 07:36 schrieb Kinga Tanska:
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.
Do you have the commit removing the requirement handy? If so, please add it.

It’d be great if you used 72 characters per line, so less lines are used.


Kind regards,

Paul

quoted hunk ↗ jump to hunk
Signed-off-by: Kinga Tanska <redacted>
---
  Detail.c | 33 +++++++++++++--------------------
  1 file changed, 13 insertions(+), 20 deletions(-)
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;
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help