[PATCH] Detail: remove duplicated code

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxx>
---
 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;
-- 
2.26.2





[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux