dcavalca / rpms / mdadm

Forked from rpms/mdadm 3 years ago
Clone

Blame SOURCES/Retire-mdassemble.patch

b7f731
From 32141c1765967e37d6f1accdf124c166bc103c3b Mon Sep 17 00:00:00 2001
b7f731
From: Jes Sorensen <jsorensen@fb.com>
b7f731
Date: Tue, 11 Apr 2017 12:54:26 -0400
b7f731
Subject: [RHEL7.5 PATCH 070/169] Retire mdassemble
b7f731
b7f731
mdassemble doesn't handle container based arrays, no support for sysfs,
b7f731
etc. It has not been actively maintained for years, so time to send it
b7f731
off to retirement.
b7f731
b7f731
Signed-off-by: Jes Sorensen <jsorensen@fb.com>
b7f731
---
b7f731
 Assemble.c    | 21 +++-------------
b7f731
 Makefile      | 37 ----------------------------
b7f731
 Manage.c      | 10 +-------
b7f731
 Monitor.c     |  3 ---
b7f731
 mdassemble.c  | 79 -----------------------------------------------------------
b7f731
 super-ddf.c   | 30 -----------------------
b7f731
 super-gpt.c   |  6 -----
b7f731
 super-intel.c | 52 +--------------------------------------
b7f731
 super-mbr.c   |  8 ------
b7f731
 super0.c      | 11 ---------
b7f731
 super1.c      | 21 +++-------------
b7f731
 util.c        | 37 +++-------------------------
b7f731
 12 files changed, 12 insertions(+), 303 deletions(-)
b7f731
 delete mode 100644 mdassemble.c
b7f731
b7f731
diff --git a/Assemble.c b/Assemble.c
b7f731
index 0db428f..b828523 100644
b7f731
--- a/Assemble.c
b7f731
+++ b/Assemble.c
b7f731
@@ -222,13 +222,11 @@ static int select_devices(struct mddev_dev *devlist,
b7f731
 					pr_err("%s is a container, but we are looking for components\n",
b7f731
 					       devname);
b7f731
 				tmpdev->used = 2;
b7f731
-#if !defined(MDASSEMBLE) || defined(MDASSEMBLE) && defined(MDASSEMBLE_AUTO)
b7f731
 			} if (!tst && (tst = super_by_fd(dfd, NULL)) == NULL) {
b7f731
 				if (report_mismatch)
b7f731
 					pr_err("not a recognisable container: %s\n",
b7f731
 					       devname);
b7f731
 				tmpdev->used = 2;
b7f731
-#endif
b7f731
 			} else if (!tst->ss->load_container
b7f731
 				   || tst->ss->load_container(tst, dfd, NULL)) {
b7f731
 				if (report_mismatch)
b7f731
@@ -574,9 +572,7 @@ static int load_devices(struct devs *devices, char *devmap,
b7f731
 	struct mddev_dev *tmpdev;
b7f731
 	int devcnt = 0;
b7f731
 	int nextspare = 0;
b7f731
-#ifndef MDASSEMBLE
b7f731
 	int bitmap_done = 0;
b7f731
-#endif
b7f731
 	int most_recent = -1;
b7f731
 	int bestcnt = 0;
b7f731
 	int *best = *bestp;
b7f731
@@ -592,7 +588,6 @@ static int load_devices(struct devs *devices, char *devmap,
b7f731
 		if (tmpdev->used != 1)
b7f731
 			continue;
b7f731
 		/* looks like a good enough match to update the super block if needed */
b7f731
-#ifndef MDASSEMBLE
b7f731
 		if (c->update) {
b7f731
 			/* prepare useful information in info structures */
b7f731
 			struct stat stb2;
b7f731
@@ -683,9 +678,7 @@ static int load_devices(struct devs *devices, char *devmap,
b7f731
 				else
b7f731
 					bitmap_done = 1;
b7f731
 			}
b7f731
-		} else
b7f731
-#endif
b7f731
-		{
b7f731
+		} else {
b7f731
 			dfd = dev_open(devname,
b7f731
 				       tmpdev->disposition == 'I'
b7f731
 				       ? O_RDWR : (O_RDWR|O_EXCL));
b7f731
@@ -1097,7 +1090,6 @@ static int start_array(int mdfd,
b7f731
 		 * it read-only and let the grow code make it writable.
b7f731
 		 */
b7f731
 		int rv;
b7f731
-#ifndef MDASSEMBLE
b7f731
 		if (content->reshape_active &&
b7f731
 		    !(content->reshape_active & RESHAPE_NO_BACKUP) &&
b7f731
 		    content->delta_disks <= 0) {
b7f731
@@ -1122,7 +1114,6 @@ static int start_array(int mdfd,
b7f731
 			rv = sysfs_set_str(content, NULL,
b7f731
 					   "array_state", "readonly");
b7f731
 		} else
b7f731
-#endif
b7f731
 			rv = ioctl(mdfd, RUN_ARRAY, NULL);
b7f731
 		reopen_mddev(mdfd); /* drop O_EXCL */
b7f731
 		if (rv == 0) {
b7f731
@@ -1506,7 +1497,6 @@ try_again:
b7f731
 		ioctl(mdfd, STOP_ARRAY, NULL);
b7f731
 	}
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
 	if (content != &info) {
b7f731
 		/* This is a member of a container.  Try starting the array. */
b7f731
 		int err;
b7f731
@@ -1515,7 +1505,7 @@ try_again:
b7f731
 		close(mdfd);
b7f731
 		return err;
b7f731
 	}
b7f731
-#endif
b7f731
+
b7f731
 	/* Ok, no bad inconsistancy, we can try updating etc */
b7f731
 	devices = xcalloc(num_devs, sizeof(*devices));
b7f731
 	devmap = xcalloc(num_devs, content->array.raid_disks);
b7f731
@@ -1668,14 +1658,13 @@ try_again:
b7f731
 		return 1;
b7f731
 	}
b7f731
 	st->ss->getinfo_super(st, content, NULL);
b7f731
-#ifndef MDASSEMBLE
b7f731
 	if (sysfs_init(content, mdfd, NULL)) {
b7f731
 		pr_err("Unable to initialize sysfs\n");
b7f731
 		close(mdfd);
b7f731
 		free(devices);
b7f731
 		return 1;
b7f731
 	}
b7f731
-#endif
b7f731
+
b7f731
 	/* after reload context, store journal_clean in context */
b7f731
 	content->journal_clean = journal_clean;
b7f731
 	for (i=0; i
b7f731
@@ -1761,7 +1750,6 @@ try_again:
b7f731
 	 * that was moved aside due to the reshape overwriting live data
b7f731
 	 * The code of doing this lives in Grow.c
b7f731
 	 */
b7f731
-#ifndef MDASSEMBLE
b7f731
 	if (content->reshape_active &&
b7f731
 	    !(content->reshape_active & RESHAPE_NO_BACKUP)) {
b7f731
 		int err = 0;
b7f731
@@ -1813,7 +1801,6 @@ try_again:
b7f731
 			return err;
b7f731
 		}
b7f731
 	}
b7f731
-#endif
b7f731
 
b7f731
 	/* Almost ready to actually *do* something */
b7f731
 	/* First, fill in the map, so that udev can find our name
b7f731
@@ -1876,7 +1863,6 @@ try_again:
b7f731
 	return rv == 2 ? 0 : rv;
b7f731
 }
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
 int assemble_container_content(struct supertype *st, int mdfd,
b7f731
 			       struct mdinfo *content, struct context *c,
b7f731
 			       char *chosen_name, int *result)
b7f731
@@ -2119,4 +2105,3 @@ int assemble_container_content(struct supertype *st, int mdfd,
b7f731
 	return err;
b7f731
 	/* FIXME should have an O_EXCL and wait for read-auto */
b7f731
 }
b7f731
-#endif
b7f731
diff --git a/Makefile b/Makefile
b7f731
index 5ff6cc0..a5d2a0a 100644
b7f731
--- a/Makefile
b7f731
+++ b/Makefile
b7f731
@@ -158,18 +158,6 @@ MON_SRCS = $(patsubst %.o,%.c,$(MON_OBJS))
b7f731
 STATICSRC = pwgr.c
b7f731
 STATICOBJS = pwgr.o
b7f731
 
b7f731
-ASSEMBLE_SRCS := mdassemble.c Assemble.c Manage.c config.c policy.c dlink.c util.c \
b7f731
-	maps.c lib.c xmalloc.c \
b7f731
-	super0.c super1.c super-ddf.c super-intel.c sha1.c crc32.c sg_io.c mdstat.c \
b7f731
-	platform-intel.c probe_roms.c sysfs.c super-mbr.c super-gpt.c mapfile.c \
b7f731
-	crc32c.c
b7f731
-ASSEMBLE_AUTO_SRCS := mdopen.c
b7f731
-ASSEMBLE_FLAGS:= $(CFLAGS) -DMDASSEMBLE
b7f731
-ifdef MDASSEMBLE_AUTO
b7f731
-ASSEMBLE_SRCS += $(ASSEMBLE_AUTO_SRCS)
b7f731
-ASSEMBLE_FLAGS += -DMDASSEMBLE_AUTO
b7f731
-endif
b7f731
-
b7f731
 all : mdadm mdmon
b7f731
 man : mdadm.man md.man mdadm.conf.man mdmon.man raid6check.man
b7f731
 
b7f731
@@ -222,31 +210,6 @@ test_stripe : restripe.c xmalloc.o mdadm.h
b7f731
 raid6check : raid6check.o mdadm.h $(CHECK_OBJS)
b7f731
 	$(CC) $(CXFLAGS) $(LDFLAGS) -o raid6check raid6check.o $(CHECK_OBJS)
b7f731
 
b7f731
-mdassemble : $(ASSEMBLE_SRCS) $(INCL)
b7f731
-	$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) $(ASSEMBLE_FLAGS) -o mdassemble $(ASSEMBLE_SRCS)  $(STATICSRC)
b7f731
-
b7f731
-mdassemble.diet : $(ASSEMBLE_SRCS) $(INCL)
b7f731
-	rm -f $(OBJS)
b7f731
-	$(DIET_GCC) $(ASSEMBLE_FLAGS) -o mdassemble $(ASSEMBLE_SRCS)  $(STATICSRC)
b7f731
-
b7f731
-mdassemble.static : $(ASSEMBLE_SRCS) $(INCL)
b7f731
-	rm -f $(OBJS)
b7f731
-	$(CC) $(LDFLAGS) $(CPPFLAGS) $(ASSEMBLE_FLAGS) -static -DHAVE_STDINT_H -o mdassemble.static $(ASSEMBLE_SRCS) $(STATICSRC)
b7f731
-
b7f731
-mdassemble.auto : $(ASSEMBLE_SRCS) $(INCL) $(ASSEMBLE_AUTO_SRCS)
b7f731
-	rm -f mdassemble.static
b7f731
-	$(MAKE) MDASSEMBLE_AUTO=1 mdassemble.static
b7f731
-	mv mdassemble.static mdassemble.auto
b7f731
-
b7f731
-mdassemble.uclibc : $(ASSEMBLE_SRCS) $(INCL)
b7f731
-	rm -f $(OJS)
b7f731
-	$(UCLIBC_GCC) $(ASSEMBLE_FLAGS) -DUCLIBC -DHAVE_STDINT_H -static -o mdassemble.uclibc $(ASSEMBLE_SRCS) $(STATICSRC)
b7f731
-
b7f731
-# This doesn't work
b7f731
-mdassemble.klibc : $(ASSEMBLE_SRCS) $(INCL)
b7f731
-	rm -f $(OBJS)
b7f731
-	$(KLIBC_GCC) $(ASSEMBLE_FLAGS) -o mdassemble $(ASSEMBLE_SRCS)
b7f731
-
b7f731
 mdadm.8 : mdadm.8.in
b7f731
 	sed -e 's/{DEFAULT_METADATA}/$(DEFAULT_METADATA)/g' \
b7f731
 	-e 's,{MAP_PATH},$(MAP_PATH),g'  mdadm.8.in > mdadm.8
b7f731
diff --git a/Manage.c b/Manage.c
b7f731
index 9e69132..bb84d28 100644
b7f731
--- a/Manage.c
b7f731
+++ b/Manage.c
b7f731
@@ -41,12 +41,9 @@ int Manage_ro(char *devname, int fd, int readonly)
b7f731
 	 *
b7f731
 	 */
b7f731
 	mdu_array_info_t array;
b7f731
-#ifndef MDASSEMBLE
b7f731
 	struct mdinfo *mdi;
b7f731
-#endif
b7f731
 	int rv = 0;
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
 	/* If this is an externally-managed array, we need to modify the
b7f731
 	 * metadata_version so that mdmon doesn't undo our change.
b7f731
 	 */
b7f731
@@ -90,7 +87,7 @@ int Manage_ro(char *devname, int fd, int readonly)
b7f731
 		}
b7f731
 		goto out;
b7f731
 	}
b7f731
-#endif
b7f731
+
b7f731
 	if (md_get_array_info(fd, &array)) {
b7f731
 		pr_err("%s does not appear to be active.\n",
b7f731
 			devname);
b7f731
@@ -114,14 +111,10 @@ int Manage_ro(char *devname, int fd, int readonly)
b7f731
 		}
b7f731
 	}
b7f731
 out:
b7f731
-#ifndef MDASSEMBLE
b7f731
 	sysfs_free(mdi);
b7f731
-#endif
b7f731
 	return rv;
b7f731
 }
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
-
b7f731
 static void remove_devices(char *devnm, char *path)
b7f731
 {
b7f731
 	/*
b7f731
@@ -1802,4 +1795,3 @@ int move_spare(char *from_devname, char *to_devname, dev_t devid)
b7f731
 	close(fd2);
b7f731
 	return 0;
b7f731
 }
b7f731
-#endif
b7f731
diff --git a/Monitor.c b/Monitor.c
b7f731
index 036a561..1f15377 100644
b7f731
--- a/Monitor.c
b7f731
+++ b/Monitor.c
b7f731
@@ -1058,8 +1058,6 @@ int Wait(char *dev)
b7f731
 	}
b7f731
 }
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
-
b7f731
 static char *clean_states[] = {
b7f731
 	"clear", "inactive", "readonly", "read-auto", "clean", NULL };
b7f731
 
b7f731
@@ -1151,4 +1149,3 @@ int WaitClean(char *dev, int sock, int verbose)
b7f731
 
b7f731
 	return rv;
b7f731
 }
b7f731
-#endif /* MDASSEMBLE */
b7f731
diff --git a/mdassemble.c b/mdassemble.c
b7f731
deleted file mode 100644
b7f731
index f0833bc..0000000
b7f731
--- a/mdassemble.c
b7f731
+++ /dev/null
b7f731
@@ -1,79 +0,0 @@
b7f731
-/*
b7f731
- * mdassemble - assemble Linux "md" devices aka RAID arrays.
b7f731
- *
b7f731
- * Copyright (C) 2001-2009 Neil Brown <neilb@suse.de>
b7f731
- * Copyright (C) 2003 Luca Berra <bluca@vodka.it>
b7f731
- *
b7f731
- *
b7f731
- *    This program is free software; you can redistribute it and/or modify
b7f731
- *    it under the terms of the GNU General Public License as published by
b7f731
- *    the Free Software Foundation; either version 2 of the License, or
b7f731
- *    (at your option) any later version.
b7f731
- *
b7f731
- *    This program is distributed in the hope that it will be useful,
b7f731
- *    but WITHOUT ANY WARRANTY; without even the implied warranty of
b7f731
- *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
b7f731
- *    GNU General Public License for more details.
b7f731
- *
b7f731
- *    You should have received a copy of the GNU General Public License
b7f731
- *    along with this program; if not, write to the Free Software
b7f731
- *    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
b7f731
- *
b7f731
- *    Author: Neil Brown
b7f731
- *    Email: <neilb@suse.de>
b7f731
- */
b7f731
-
b7f731
-#include "mdadm.h"
b7f731
-#include "md_p.h"
b7f731
-
b7f731
-char const Name[] = "mdassemble";
b7f731
-
b7f731
-#ifndef MDASSEMBLE_AUTO
b7f731
-/* from mdopen.c */
b7f731
-int open_mddev(char *dev, int report_errors/*unused*/)
b7f731
-{
b7f731
-	struct mdu_array_info_s array;
b7f731
-	int mdfd = open(dev, O_RDONLY);
b7f731
-	if (mdfd < 0)
b7f731
-		pr_err("error opening %s: %s\n", dev, strerror(errno));
b7f731
-	else if (md_get_array_info(mdfd, &array) != 0) {
b7f731
-		pr_err("%s does not appear to be an md device\n", dev);
b7f731
-		close(mdfd);
b7f731
-		mdfd = -1;
b7f731
-	}
b7f731
-	return mdfd;
b7f731
-}
b7f731
-int create_mddev(char *dev, char *name, int autof/*unused*/, int trustworthy,
b7f731
-		 char *chosen)
b7f731
-{
b7f731
-	return open_mddev(dev, 0);
b7f731
-}
b7f731
-#endif
b7f731
-
b7f731
-int rv;
b7f731
-int mdfd = -1;
b7f731
-
b7f731
-int main(int argc, char *argv[])
b7f731
-{
b7f731
-	struct mddev_ident *array_list =  conf_get_ident(NULL);
b7f731
-	struct context c = { .freeze_reshape = 1 };
b7f731
-	if (!array_list) {
b7f731
-		pr_err("No arrays found in config file\n");
b7f731
-		rv = 1;
b7f731
-	} else
b7f731
-		for (; array_list; array_list = array_list->next) {
b7f731
-			mdu_array_info_t array;
b7f731
-			if (strcasecmp(array_list->devname, "<ignore>") == 0)
b7f731
-				continue;
b7f731
-			mdfd = open_mddev(array_list->devname, 0);
b7f731
-			if (mdfd >= 0 && md_get_array_info(mdfd, &array) == 0) {
b7f731
-				rv |= Manage_ro(array_list->devname, mdfd, -1); /* make it readwrite */
b7f731
-				continue;
b7f731
-			}
b7f731
-			if (mdfd >= 0)
b7f731
-				close(mdfd);
b7f731
-			rv |= Assemble(array_list->st, array_list->devname,
b7f731
-				       array_list, NULL, &c);
b7f731
-		}
b7f731
-	return rv;
b7f731
-}
b7f731
diff --git a/super-ddf.c b/super-ddf.c
b7f731
index c6037c1..796eaa5 100644
b7f731
--- a/super-ddf.c
b7f731
+++ b/super-ddf.c
b7f731
@@ -500,7 +500,6 @@ struct ddf_super {
b7f731
 	} *dlist, *add_list;
b7f731
 };
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
 static int load_super_ddf_all(struct supertype *st, int fd,
b7f731
 			      void **sbp, char *devname);
b7f731
 static int get_svd_state(const struct ddf_super *, const struct vcl *);
b7f731
@@ -518,7 +517,6 @@ static int validate_geometry_ddf_bvd(struct supertype *st,
b7f731
 				     unsigned long long data_offset,
b7f731
 				     char *dev, unsigned long long *freesize,
b7f731
 				     int verbose);
b7f731
-#endif
b7f731
 
b7f731
 static void free_super_ddf(struct supertype *st);
b7f731
 static int all_ff(const char *guid);
b7f731
@@ -1305,8 +1303,6 @@ static struct supertype *match_metadata_desc_ddf(char *arg)
b7f731
 	return st;
b7f731
 }
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
-
b7f731
 static mapping_t ddf_state[] = {
b7f731
 	{ "Optimal", 0},
b7f731
 	{ "Degraded", 1},
b7f731
@@ -1355,7 +1351,6 @@ static mapping_t ddf_sec_level[] = {
b7f731
 	{ "Spanned", DDF_2SPANNED},
b7f731
 	{ NULL, 0}
b7f731
 };
b7f731
-#endif
b7f731
 
b7f731
 static int all_ff(const char *guid)
b7f731
 {
b7f731
@@ -1382,7 +1377,6 @@ static const char *guid_str(const char *guid)
b7f731
 	return (const char *) buf;
b7f731
 }
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
 static void print_guid(char *guid, int tstamp)
b7f731
 {
b7f731
 	/* A GUIDs are part (or all) ASCII and part binary.
b7f731
@@ -1748,7 +1742,6 @@ static void detail_super_ddf(struct supertype *st, char *homehost)
b7f731
 	printf("     Virtual Disks : %d\n", cnt);
b7f731
 	printf("\n");
b7f731
 }
b7f731
-#endif
b7f731
 
b7f731
 static const char *vendors_with_variable_volume_UUID[] = {
b7f731
 	"LSI      ",
b7f731
@@ -1795,7 +1788,6 @@ static void uuid_of_ddf_subarray(const struct ddf_super *ddf,
b7f731
 	memcpy(uuid, sha, 4*4);
b7f731
 }
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
 static void brief_detail_super_ddf(struct supertype *st)
b7f731
 {
b7f731
 	struct mdinfo info;
b7f731
@@ -1811,7 +1803,6 @@ static void brief_detail_super_ddf(struct supertype *st)
b7f731
 	fname_from_uuid(st, &info, nbuf,':');
b7f731
 	printf(" UUID=%s", nbuf + 5);
b7f731
 }
b7f731
-#endif
b7f731
 
b7f731
 static int match_home_ddf(struct supertype *st, char *homehost)
b7f731
 {
b7f731
@@ -1833,7 +1824,6 @@ static int match_home_ddf(struct supertype *st, char *homehost)
b7f731
 		ddf->controller.vendor_data[len] == 0);
b7f731
 }
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
 static int find_index_in_bvd(const struct ddf_super *ddf,
b7f731
 			     const struct vd_config *conf, unsigned int n,
b7f731
 			     unsigned int *n_bvd)
b7f731
@@ -1914,7 +1904,6 @@ bad:
b7f731
 	pr_err("Could't find disk %d in array %u\n", n, inst);
b7f731
 	return NULL;
b7f731
 }
b7f731
-#endif
b7f731
 
b7f731
 static int find_phys(const struct ddf_super *ddf, be32 phys_refnum)
b7f731
 {
b7f731
@@ -2274,7 +2263,6 @@ static unsigned int find_vde_by_name(const struct ddf_super *ddf,
b7f731
 	return DDF_NOTFOUND;
b7f731
 }
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
 static unsigned int find_vde_by_guid(const struct ddf_super *ddf,
b7f731
 				     const char *guid)
b7f731
 {
b7f731
@@ -2286,7 +2274,6 @@ static unsigned int find_vde_by_guid(const struct ddf_super *ddf,
b7f731
 			return i;
b7f731
 	return DDF_NOTFOUND;
b7f731
 }
b7f731
-#endif
b7f731
 
b7f731
 static int init_super_ddf(struct supertype *st,
b7f731
 			  mdu_array_info_t *info,
b7f731
@@ -2507,7 +2494,6 @@ static int chunk_to_shift(int chunksize)
b7f731
 	return ffs(chunksize/512)-1;
b7f731
 }
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
 struct extent {
b7f731
 	unsigned long long start, size;
b7f731
 };
b7f731
@@ -2608,7 +2594,6 @@ static unsigned long long find_space(
b7f731
 	free(e);
b7f731
 	return INVALID_SECTORS;
b7f731
 }
b7f731
-#endif
b7f731
 
b7f731
 static int init_super_ddf_bvd(struct supertype *st,
b7f731
 			      mdu_array_info_t *info,
b7f731
@@ -2727,7 +2712,6 @@ static int init_super_ddf_bvd(struct supertype *st,
b7f731
 	return 1;
b7f731
 }
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
 static void add_to_super_ddf_bvd(struct supertype *st,
b7f731
 				 mdu_disk_info_t *dk, int fd, char *devname,
b7f731
 				 unsigned long long data_offset)
b7f731
@@ -3015,7 +2999,6 @@ static int remove_from_super_ddf(struct supertype *st, mdu_disk_info_t *dk)
b7f731
 	}
b7f731
 	return 0;
b7f731
 }
b7f731
-#endif
b7f731
 
b7f731
 /*
b7f731
  * This is the write_init_super method for a ddf container.  It is
b7f731
@@ -3176,7 +3159,6 @@ static int _write_super_to_disk(struct ddf_super *ddf, struct dl *d)
b7f731
 	return 1;
b7f731
 }
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
 static int __write_init_super_ddf(struct supertype *st)
b7f731
 {
b7f731
 	struct ddf_super *ddf = st->sb;
b7f731
@@ -3259,8 +3241,6 @@ static int write_init_super_ddf(struct supertype *st)
b7f731
 	}
b7f731
 }
b7f731
 
b7f731
-#endif
b7f731
-
b7f731
 static __u64 avail_size_ddf(struct supertype *st, __u64 devsize,
b7f731
 			    unsigned long long data_offset)
b7f731
 {
b7f731
@@ -3270,8 +3250,6 @@ static __u64 avail_size_ddf(struct supertype *st, __u64 devsize,
b7f731
 	return devsize - 32*1024*2;
b7f731
 }
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
-
b7f731
 static int reserve_space(struct supertype *st, int raiddisks,
b7f731
 			 unsigned long long size, int chunk,
b7f731
 			 unsigned long long data_offset,
b7f731
@@ -3653,8 +3631,6 @@ static int load_container_ddf(struct supertype *st, int fd,
b7f731
 	return load_super_ddf_all(st, fd, &st->sb, devname);
b7f731
 }
b7f731
 
b7f731
-#endif /* MDASSEMBLE */
b7f731
-
b7f731
 static int check_secondary(const struct vcl *vc)
b7f731
 {
b7f731
 	const struct vd_config *conf = &vc->conf;
b7f731
@@ -4075,7 +4051,6 @@ static int compare_super_ddf(struct supertype *st, struct supertype *tst)
b7f731
 	return 0;
b7f731
 }
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
 /*
b7f731
  * A new array 'a' has been started which claims to be instance 'inst'
b7f731
  * within container 'c'.
b7f731
@@ -5196,7 +5171,6 @@ static struct mdinfo *ddf_activate_spare(struct active_array *a,
b7f731
 	*updates = mu;
b7f731
 	return rv;
b7f731
 }
b7f731
-#endif /* MDASSEMBLE */
b7f731
 
b7f731
 static int ddf_level_to_layout(int level)
b7f731
 {
b7f731
@@ -5225,7 +5199,6 @@ static void default_geometry_ddf(struct supertype *st, int *level, int *layout,
b7f731
 }
b7f731
 
b7f731
 struct superswitch super_ddf = {
b7f731
-#ifndef	MDASSEMBLE
b7f731
 	.examine_super	= examine_super_ddf,
b7f731
 	.brief_examine_super = brief_examine_super_ddf,
b7f731
 	.brief_examine_subarrays = brief_examine_subarrays_ddf,
b7f731
@@ -5239,7 +5212,6 @@ struct superswitch super_ddf = {
b7f731
 	.load_container	= load_container_ddf,
b7f731
 	.copy_metadata = copy_metadata_ddf,
b7f731
 	.kill_subarray  = kill_subarray_ddf,
b7f731
-#endif
b7f731
 	.match_home	= match_home_ddf,
b7f731
 	.uuid_from_super= uuid_from_super_ddf,
b7f731
 	.getinfo_super  = getinfo_super_ddf,
b7f731
@@ -5259,7 +5231,6 @@ struct superswitch super_ddf = {
b7f731
 
b7f731
 	.external	= 1,
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
 /* for mdmon */
b7f731
 	.open_new       = ddf_open_new,
b7f731
 	.set_array_state= ddf_set_array_state,
b7f731
@@ -5268,6 +5239,5 @@ struct superswitch super_ddf = {
b7f731
 	.process_update	= ddf_process_update,
b7f731
 	.prepare_update	= ddf_prepare_update,
b7f731
 	.activate_spare = ddf_activate_spare,
b7f731
-#endif
b7f731
 	.name = "ddf",
b7f731
 };
b7f731
diff --git a/super-gpt.c b/super-gpt.c
b7f731
index bb38a97..a1e9aa9 100644
b7f731
--- a/super-gpt.c
b7f731
+++ b/super-gpt.c
b7f731
@@ -47,7 +47,6 @@ static void free_gpt(struct supertype *st)
b7f731
 	st->sb = NULL;
b7f731
 }
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
 static void examine_gpt(struct supertype *st, char *homehost)
b7f731
 {
b7f731
 	struct GPT *gpt = st->sb + 512;
b7f731
@@ -66,7 +65,6 @@ static void examine_gpt(struct supertype *st, char *homehost)
b7f731
 			);
b7f731
 	}
b7f731
 }
b7f731
-#endif /* MDASSEMBLE */
b7f731
 
b7f731
 static int load_gpt(struct supertype *st, int fd, char *devname)
b7f731
 {
b7f731
@@ -199,7 +197,6 @@ static struct supertype *match_metadata_desc(char *arg)
b7f731
 	return st;
b7f731
 }
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
 static int validate_geometry(struct supertype *st, int level,
b7f731
 			     int layout, int raiddisks,
b7f731
 			     int *chunk, unsigned long long size,
b7f731
@@ -210,13 +207,10 @@ static int validate_geometry(struct supertype *st, int level,
b7f731
 	pr_err("gpt metadata cannot be used this way\n");
b7f731
 	return 0;
b7f731
 }
b7f731
-#endif
b7f731
 
b7f731
 struct superswitch gpt = {
b7f731
-#ifndef MDASSEMBLE
b7f731
 	.examine_super = examine_gpt,
b7f731
 	.validate_geometry = validate_geometry,
b7f731
-#endif
b7f731
 	.match_metadata_desc = match_metadata_desc,
b7f731
 	.load_super = load_gpt,
b7f731
 	.store_super = store_gpt,
b7f731
diff --git a/super-intel.c b/super-intel.c
b7f731
index 84dfe2b..0aed57c 100644
b7f731
--- a/super-intel.c
b7f731
+++ b/super-intel.c
b7f731
@@ -260,9 +260,7 @@ struct bbm_log {
b7f731
 	struct bbm_log_entry marked_block_entries[BBM_LOG_MAX_ENTRIES];
b7f731
 } __attribute__ ((__packed__));
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
 static char *map_state_str[] = { "normal", "uninitialized", "degraded", "failed" };
b7f731
-#endif
b7f731
 
b7f731
 #define BLOCKS_PER_KB	(1024/512)
b7f731
 
b7f731
@@ -672,12 +670,10 @@ static struct supertype *match_metadata_desc_imsm(char *arg)
b7f731
 	return st;
b7f731
 }
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
 static __u8 *get_imsm_version(struct imsm_super *mpb)
b7f731
 {
b7f731
 	return &mpb->sig[MPB_SIG_LEN];
b7f731
 }
b7f731
-#endif
b7f731
 
b7f731
 /* retrieve a disk directly from the anchor when the anchor is known to be
b7f731
  * up-to-date, currently only at load time
b7f731
@@ -784,7 +780,6 @@ static size_t sizeof_imsm_dev(struct imsm_dev *dev, int migr_state)
b7f731
 	return size;
b7f731
 }
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
 /* retrieve disk serial number list from a metadata update */
b7f731
 static struct disk_info *get_disk_info(struct imsm_update_create_array *update)
b7f731
 {
b7f731
@@ -796,7 +791,6 @@ static struct disk_info *get_disk_info(struct imsm_update_create_array *update)
b7f731
 
b7f731
 	return inf;
b7f731
 }
b7f731
-#endif
b7f731
 
b7f731
 static struct imsm_dev *__get_imsm_dev(struct imsm_super *mpb, __u8 index)
b7f731
 {
b7f731
@@ -847,7 +841,6 @@ static inline struct bbm_log_block_addr __cpu_to_le48(unsigned long long sec)
b7f731
 	return addr;
b7f731
 }
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
 /* get size of the bbm log */
b7f731
 static __u32 get_imsm_bbm_log_size(struct bbm_log *log)
b7f731
 {
b7f731
@@ -978,7 +971,6 @@ static int clear_badblock(struct bbm_log *log, const __u8 idx, const unsigned
b7f731
 
b7f731
 	return 1;
b7f731
 }
b7f731
-#endif /* MDASSEMBLE */
b7f731
 
b7f731
 /* allocate and load BBM log from metadata */
b7f731
 static int load_bbm_log(struct intel_super *super)
b7f731
@@ -1423,7 +1415,6 @@ static int is_gen_migration(struct imsm_dev *dev);
b7f731
 
b7f731
 #define IMSM_4K_DIV 8
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
 static __u64 blocks_per_migr_unit(struct intel_super *super,
b7f731
 				  struct imsm_dev *dev);
b7f731
 
b7f731
@@ -1698,7 +1689,6 @@ void examine_migr_rec_imsm(struct intel_super *super)
b7f731
 		break;
b7f731
 	}
b7f731
 }
b7f731
-#endif /* MDASSEMBLE */
b7f731
 
b7f731
 void convert_from_4k_imsm_migr_rec(struct intel_super *super)
b7f731
 {
b7f731
@@ -1858,7 +1848,6 @@ static int imsm_check_attributes(__u32 attributes)
b7f731
 	return ret_val;
b7f731
 }
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
 static void getinfo_super_imsm(struct supertype *st, struct mdinfo *info, char *map);
b7f731
 
b7f731
 static void examine_super_imsm(struct supertype *st, char *homehost)
b7f731
@@ -2572,8 +2561,6 @@ static int export_detail_platform_imsm(int verbose, char *controller_path)
b7f731
 	return result;
b7f731
 }
b7f731
 
b7f731
-#endif
b7f731
-
b7f731
 static int match_home_imsm(struct supertype *st, char *homehost)
b7f731
 {
b7f731
 	/* the imsm metadata format does not specify any host
b7f731
@@ -2984,7 +2971,6 @@ out:
b7f731
 	return retval;
b7f731
 }
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
 /*******************************************************************************
b7f731
  * function: imsm_create_metadata_checkpoint_update
b7f731
  * Description: It creates update for checkpoint change.
b7f731
@@ -3125,7 +3111,6 @@ static int write_imsm_migr_rec(struct supertype *st)
b7f731
 		close(fd);
b7f731
 	return retval;
b7f731
 }
b7f731
-#endif /* MDASSEMBLE */
b7f731
 
b7f731
 /* spare/missing disks activations are not allowe when
b7f731
  * array/container performs reshape operation, because
b7f731
@@ -3396,7 +3381,6 @@ static __u8 imsm_check_degraded(struct intel_super *super, struct imsm_dev *dev,
b7f731
 static int imsm_count_failed(struct intel_super *super, struct imsm_dev *dev,
b7f731
 			     int look_in_map);
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
 static void manage_second_map(struct intel_super *super, struct imsm_dev *dev)
b7f731
 {
b7f731
 	if (is_gen_migration(dev)) {
b7f731
@@ -3412,7 +3396,6 @@ static void manage_second_map(struct intel_super *super, struct imsm_dev *dev)
b7f731
 		}
b7f731
 	}
b7f731
 }
b7f731
-#endif
b7f731
 
b7f731
 static struct imsm_disk *get_imsm_missing(struct intel_super *super, __u8 index)
b7f731
 {
b7f731
@@ -3994,7 +3977,6 @@ load_imsm_disk(int fd, struct intel_super *super, char *devname, int keep_fd)
b7f731
 	return 0;
b7f731
 }
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
 /* When migrating map0 contains the 'destination' state while map1
b7f731
  * contains the current state.  When not migrating map0 contains the
b7f731
  * current state.  This routine assumes that map[0].map_state is set to
b7f731
@@ -4082,7 +4064,6 @@ static void end_migration(struct imsm_dev *dev, struct intel_super *super,
b7f731
 	dev->vol.curr_migr_unit = 0;
b7f731
 	map->map_state = map_state;
b7f731
 }
b7f731
-#endif
b7f731
 
b7f731
 static int parse_raid_devices(struct intel_super *super)
b7f731
 {
b7f731
@@ -4528,7 +4509,6 @@ static int find_missing(struct intel_super *super)
b7f731
 	return 0;
b7f731
 }
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
 static struct intel_disk *disk_list_get(__u8 *serial, struct intel_disk *disk_list)
b7f731
 {
b7f731
 	struct intel_disk *idisk = disk_list;
b7f731
@@ -5066,7 +5046,6 @@ static int load_container_imsm(struct supertype *st, int fd, char *devname)
b7f731
 {
b7f731
 	return load_super_imsm_all(st, fd, &st->sb, devname, NULL, 1);
b7f731
 }
b7f731
-#endif
b7f731
 
b7f731
 static int load_super_imsm(struct supertype *st, int fd, char *devname)
b7f731
 {
b7f731
@@ -5483,7 +5462,6 @@ static int init_super_imsm(struct supertype *st, mdu_array_info_t *info,
b7f731
 	return 1;
b7f731
 }
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
 static int add_to_super_imsm_volume(struct supertype *st, mdu_disk_info_t *dk,
b7f731
 				     int fd, char *devname)
b7f731
 {
b7f731
@@ -6028,7 +6006,6 @@ static int mgmt_disk(struct supertype *st)
b7f731
 
b7f731
 	return 0;
b7f731
 }
b7f731
-#endif
b7f731
 
b7f731
 __u32 crc32c_le(__u32 crc, unsigned char const *p, size_t len);
b7f731
 
b7f731
@@ -6136,8 +6113,6 @@ out:
b7f731
 	return ret;
b7f731
 }
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
-
b7f731
 static int write_init_ppl_imsm_all(struct supertype *st, struct mdinfo *info)
b7f731
 {
b7f731
 	struct intel_super *super = st->sb;
b7f731
@@ -6199,7 +6174,6 @@ static int write_init_super_imsm(struct supertype *st)
b7f731
 
b7f731
 	return rv;
b7f731
 }
b7f731
-#endif
b7f731
 
b7f731
 static int store_super_imsm(struct supertype *st, int fd)
b7f731
 {
b7f731
@@ -6209,16 +6183,11 @@ static int store_super_imsm(struct supertype *st, int fd)
b7f731
 	if (!mpb)
b7f731
 		return 1;
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
 	if (super->sector_size == 4096)
b7f731
 		convert_to_4k(super);
b7f731
 	return store_imsm_mpb(fd, mpb);
b7f731
-#else
b7f731
-	return 1;
b7f731
-#endif
b7f731
 }
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
 static int validate_geometry_imsm_container(struct supertype *st, int level,
b7f731
 					    int layout, int raiddisks, int chunk,
b7f731
 					    unsigned long long size,
b7f731
@@ -7433,7 +7402,6 @@ static int update_subarray_imsm(struct supertype *st, char *subarray,
b7f731
 
b7f731
 	return 0;
b7f731
 }
b7f731
-#endif /* MDASSEMBLE */
b7f731
 
b7f731
 static int is_gen_migration(struct imsm_dev *dev)
b7f731
 {
b7f731
@@ -7467,7 +7435,6 @@ static int is_rebuilding(struct imsm_dev *dev)
b7f731
 		return 0;
b7f731
 }
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
 static int is_initializing(struct imsm_dev *dev)
b7f731
 {
b7f731
 	struct imsm_map *migr_map;
b7f731
@@ -7485,7 +7452,6 @@ static int is_initializing(struct imsm_dev *dev)
b7f731
 
b7f731
 	return 0;
b7f731
 }
b7f731
-#endif
b7f731
 
b7f731
 static void update_recovery_start(struct intel_super *super,
b7f731
 					struct imsm_dev *dev,
b7f731
@@ -7519,9 +7485,7 @@ static void update_recovery_start(struct intel_super *super,
b7f731
 	rebuild->recovery_start = units * blocks_per_migr_unit(super, dev);
b7f731
 }
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
 static int recover_backup_imsm(struct supertype *st, struct mdinfo *info);
b7f731
-#endif
b7f731
 
b7f731
 static struct mdinfo *container_content_imsm(struct supertype *st, char *subarray)
b7f731
 {
b7f731
@@ -7560,9 +7524,7 @@ static struct mdinfo *container_content_imsm(struct supertype *st, char *subarra
b7f731
 		struct imsm_map *map2;
b7f731
 		struct mdinfo *this;
b7f731
 		int slot;
b7f731
-#ifndef MDASSEMBLE
b7f731
 		int chunk;
b7f731
-#endif
b7f731
 		char *ep;
b7f731
 
b7f731
 		if (subarray &&
b7f731
@@ -7591,7 +7553,6 @@ static struct mdinfo *container_content_imsm(struct supertype *st, char *subarra
b7f731
 		super->current_vol = i;
b7f731
 		getinfo_super_imsm_volume(st, this, NULL);
b7f731
 		this->next = rest;
b7f731
-#ifndef MDASSEMBLE
b7f731
 		chunk = __le16_to_cpu(map->blocks_per_strip) >> 1;
b7f731
 		/* mdadm does not support all metadata features- set the bit in all arrays state */
b7f731
 		if (!validate_geometry_imsm_orom(super,
b7f731
@@ -7606,7 +7567,6 @@ static struct mdinfo *container_content_imsm(struct supertype *st, char *subarra
b7f731
 			  (1<
b7f731
 			  (1<
b7f731
 		}
b7f731
-#endif
b7f731
 
b7f731
 		/* if array has bad blocks, set suitable bit in all arrays state */
b7f731
 		if (sb_errors)
b7f731
@@ -7697,11 +7657,9 @@ static struct mdinfo *container_content_imsm(struct supertype *st, char *subarra
b7f731
 		update_recovery_start(super, dev, this);
b7f731
 		this->array.spare_disks += spare_disks;
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
 		/* check for reshape */
b7f731
 		if (this->reshape_active == 1)
b7f731
 			recover_backup_imsm(st, this);
b7f731
-#endif
b7f731
 		rest = this;
b7f731
 	}
b7f731
 
b7f731
@@ -7831,7 +7789,6 @@ static int imsm_count_failed(struct intel_super *super, struct imsm_dev *dev,
b7f731
 	return failed;
b7f731
 }
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
 static int imsm_open_new(struct supertype *c, struct active_array *a,
b7f731
 			 char *inst)
b7f731
 {
b7f731
@@ -10003,7 +9960,6 @@ static void imsm_delete(struct intel_super *super, struct dl **dlp, unsigned ind
b7f731
 		__free_imsm_disk(dl);
b7f731
 	}
b7f731
 }
b7f731
-#endif /* MDASSEMBLE */
b7f731
 
b7f731
 static void close_targets(int *targets, int new_disks)
b7f731
 {
b7f731
@@ -10206,7 +10162,7 @@ int validate_container_imsm(struct mdinfo *info)
b7f731
 
b7f731
 	return 0;
b7f731
 }
b7f731
-#ifndef MDASSEMBLE
b7f731
+
b7f731
 /*******************************************************************************
b7f731
 * Function:   imsm_record_badblock
b7f731
 * Description: This routine stores new bad block record in BBM log
b7f731
@@ -11852,10 +11808,7 @@ abort:
b7f731
 	return ret_val;
b7f731
 }
b7f731
 
b7f731
-#endif /* MDASSEMBLE */
b7f731
-
b7f731
 struct superswitch super_imsm = {
b7f731
-#ifndef	MDASSEMBLE
b7f731
 	.examine_super	= examine_super_imsm,
b7f731
 	.brief_examine_super = brief_examine_super_imsm,
b7f731
 	.brief_examine_subarrays = brief_examine_subarrays_imsm,
b7f731
@@ -11878,7 +11831,6 @@ struct superswitch super_imsm = {
b7f731
 	.recover_backup = recover_backup_imsm,
b7f731
 	.copy_metadata = copy_metadata_imsm,
b7f731
 	.examine_badblocks = examine_badblocks_imsm,
b7f731
-#endif
b7f731
 	.match_home	= match_home_imsm,
b7f731
 	.uuid_from_super= uuid_from_super_imsm,
b7f731
 	.getinfo_super  = getinfo_super_imsm,
b7f731
@@ -11904,7 +11856,6 @@ struct superswitch super_imsm = {
b7f731
 	.external	= 1,
b7f731
 	.name = "imsm",
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
 /* for mdmon */
b7f731
 	.open_new	= imsm_open_new,
b7f731
 	.set_array_state= imsm_set_array_state,
b7f731
@@ -11916,5 +11867,4 @@ struct superswitch super_imsm = {
b7f731
 	.record_bad_block = imsm_record_badblock,
b7f731
 	.clear_bad_block  = imsm_clear_badblock,
b7f731
 	.get_bad_blocks   = imsm_get_badblocks,
b7f731
-#endif /* MDASSEMBLE */
b7f731
 };
b7f731
diff --git a/super-mbr.c b/super-mbr.c
b7f731
index 1bbe57a..839f000 100644
b7f731
--- a/super-mbr.c
b7f731
+++ b/super-mbr.c
b7f731
@@ -48,8 +48,6 @@ static void free_mbr(struct supertype *st)
b7f731
 	st->sb = NULL;
b7f731
 }
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
-
b7f731
 static void examine_mbr(struct supertype *st, char *homehost)
b7f731
 {
b7f731
 	struct MBR *sb = st->sb;
b7f731
@@ -71,8 +69,6 @@ static void examine_mbr(struct supertype *st, char *homehost)
b7f731
 
b7f731
 }
b7f731
 
b7f731
-#endif /*MDASSEMBLE */
b7f731
-
b7f731
 static int load_super_mbr(struct supertype *st, int fd, char *devname)
b7f731
 {
b7f731
 	/* try to read an mbr
b7f731
@@ -187,7 +183,6 @@ static struct supertype *match_metadata_desc(char *arg)
b7f731
 	return st;
b7f731
 }
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
 static int validate_geometry(struct supertype *st, int level,
b7f731
 			     int layout, int raiddisks,
b7f731
 			     int *chunk, unsigned long long size,
b7f731
@@ -198,13 +193,10 @@ static int validate_geometry(struct supertype *st, int level,
b7f731
 	pr_err("mbr metadata cannot be used this way\n");
b7f731
 	return 0;
b7f731
 }
b7f731
-#endif
b7f731
 
b7f731
 struct superswitch mbr = {
b7f731
-#ifndef MDASSEMBLE
b7f731
 	.examine_super = examine_mbr,
b7f731
 	.validate_geometry = validate_geometry,
b7f731
-#endif
b7f731
 	.match_metadata_desc = match_metadata_desc,
b7f731
 	.load_super = load_super_mbr,
b7f731
 	.store_super = store_mbr,
b7f731
diff --git a/super0.c b/super0.c
b7f731
index 10d9c40..dc13efb 100644
b7f731
--- a/super0.c
b7f731
+++ b/super0.c
b7f731
@@ -76,8 +76,6 @@ static void super0_swap_endian(struct mdp_superblock_s *sb)
b7f731
 
b7f731
 }
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
-
b7f731
 static void examine_super0(struct supertype *st, char *homehost)
b7f731
 {
b7f731
 	mdp_super_t *sb = st->sb;
b7f731
@@ -380,7 +378,6 @@ static void brief_detail_super0(struct supertype *st)
b7f731
 	else
b7f731
 		printf("%08x", sb->set_uuid0);
b7f731
 }
b7f731
-#endif
b7f731
 
b7f731
 static int match_home0(struct supertype *st, char *homehost)
b7f731
 {
b7f731
@@ -814,7 +811,6 @@ struct devinfo {
b7f731
 	struct devinfo *next;
b7f731
 };
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
 /* Add a device to the superblock being created */
b7f731
 static int add_to_super0(struct supertype *st, mdu_disk_info_t *dinfo,
b7f731
 			 int fd, char *devname, unsigned long long data_offset)
b7f731
@@ -845,7 +841,6 @@ static int add_to_super0(struct supertype *st, mdu_disk_info_t *dinfo,
b7f731
 
b7f731
 	return 0;
b7f731
 }
b7f731
-#endif
b7f731
 
b7f731
 static int store_super0(struct supertype *st, int fd)
b7f731
 {
b7f731
@@ -899,7 +894,6 @@ static int store_super0(struct supertype *st, int fd)
b7f731
 	return 0;
b7f731
 }
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
 static int write_init_super0(struct supertype *st)
b7f731
 {
b7f731
 	mdp_super_t *sb = st->sb;
b7f731
@@ -930,7 +924,6 @@ static int write_init_super0(struct supertype *st)
b7f731
 	}
b7f731
 	return rv;
b7f731
 }
b7f731
-#endif
b7f731
 
b7f731
 static int compare_super0(struct supertype *st, struct supertype *tst)
b7f731
 {
b7f731
@@ -1261,7 +1254,6 @@ static void free_super0(struct supertype *st)
b7f731
 	st->sb = NULL;
b7f731
 }
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
 static int validate_geometry0(struct supertype *st, int level,
b7f731
 			      int layout, int raiddisks,
b7f731
 			      int *chunk, unsigned long long size,
b7f731
@@ -1320,10 +1312,8 @@ static int validate_geometry0(struct supertype *st, int level,
b7f731
 	*freesize = MD_NEW_SIZE_SECTORS(ldsize >> 9);
b7f731
 	return 1;
b7f731
 }
b7f731
-#endif /* MDASSEMBLE */
b7f731
 
b7f731
 struct superswitch super0 = {
b7f731
-#ifndef MDASSEMBLE
b7f731
 	.examine_super = examine_super0,
b7f731
 	.brief_examine_super = brief_examine_super0,
b7f731
 	.export_examine_super = export_examine_super0,
b7f731
@@ -1333,7 +1323,6 @@ struct superswitch super0 = {
b7f731
 	.validate_geometry = validate_geometry0,
b7f731
 	.add_to_super = add_to_super0,
b7f731
 	.copy_metadata = copy_metadata0,
b7f731
-#endif
b7f731
 	.match_home = match_home0,
b7f731
 	.uuid_from_super = uuid_from_super0,
b7f731
 	.getinfo_super = getinfo_super0,
b7f731
diff --git a/super1.c b/super1.c
b7f731
index 6f91611..4db4dff 100644
b7f731
--- a/super1.c
b7f731
+++ b/super1.c
b7f731
@@ -152,7 +152,6 @@ struct misc_dev_info {
b7f731
 					|MD_FEATURE_PPL			\
b7f731
 					)
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
 static int role_from_sb(struct mdp_superblock_1 *sb)
b7f731
 {
b7f731
 	unsigned int d;
b7f731
@@ -165,7 +164,6 @@ static int role_from_sb(struct mdp_superblock_1 *sb)
b7f731
 		role = MD_DISK_ROLE_SPARE;
b7f731
 	return role;
b7f731
 }
b7f731
-#endif
b7f731
 
b7f731
 /* return how many bytes are needed for bitmap, for cluster-md each node
b7f731
  * should have it's own bitmap */
b7f731
@@ -304,7 +302,6 @@ static inline unsigned int choose_ppl_space(int chunk)
b7f731
 	return (PPL_HEADER_SIZE >> 9) + (chunk > 128*2 ? chunk : 128*2);
b7f731
 }
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
 static void examine_super1(struct supertype *st, char *homehost)
b7f731
 {
b7f731
 	struct mdp_superblock_1 *sb = st->sb;
b7f731
@@ -903,8 +900,6 @@ static int examine_badblocks_super1(struct supertype *st, int fd, char *devname)
b7f731
 	return 0;
b7f731
 }
b7f731
 
b7f731
-#endif
b7f731
-
b7f731
 static int match_home1(struct supertype *st, char *homehost)
b7f731
 {
b7f731
 	struct mdp_superblock_1 *sb = st->sb;
b7f731
@@ -1276,7 +1271,6 @@ static int update_super1(struct supertype *st, struct mdinfo *info,
b7f731
 		long bm_sectors = 0;
b7f731
 		long space;
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
 		if (sb->feature_map & __cpu_to_le32(MD_FEATURE_BITMAP_OFFSET)) {
b7f731
 			bitmap_offset = (long)__le32_to_cpu(sb->bitmap_offset);
b7f731
 			bm_sectors = calc_bitmap_size(bms, 4096) >> 9;
b7f731
@@ -1284,7 +1278,7 @@ static int update_super1(struct supertype *st, struct mdinfo *info,
b7f731
 			bitmap_offset = (long)__le16_to_cpu(sb->ppl.offset);
b7f731
 			bm_sectors = (long)__le16_to_cpu(sb->ppl.size);
b7f731
 		}
b7f731
-#endif
b7f731
+
b7f731
 		if (sb_offset < data_offset) {
b7f731
 			/* 1.1 or 1.2.  Put bbl after bitmap leaving at least 32K
b7f731
 			 */
b7f731
@@ -1578,7 +1572,7 @@ struct devinfo {
b7f731
 	mdu_disk_info_t disk;
b7f731
 	struct devinfo *next;
b7f731
 };
b7f731
-#ifndef MDASSEMBLE
b7f731
+
b7f731
 /* Add a device to the superblock being created */
b7f731
 static int add_to_super1(struct supertype *st, mdu_disk_info_t *dk,
b7f731
 			 int fd, char *devname, unsigned long long data_offset)
b7f731
@@ -1634,7 +1628,6 @@ static int add_to_super1(struct supertype *st, mdu_disk_info_t *dk,
b7f731
 
b7f731
 	return 0;
b7f731
 }
b7f731
-#endif
b7f731
 
b7f731
 static int locate_bitmap1(struct supertype *st, int fd, int node_num);
b7f731
 
b7f731
@@ -1742,8 +1735,6 @@ static unsigned long choose_bm_space(unsigned long devsize)
b7f731
 
b7f731
 static void free_super1(struct supertype *st);
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
-
b7f731
 __u32 crc32c_le(__u32 crc, unsigned char const *p, size_t len);
b7f731
 
b7f731
 static int write_init_ppl1(struct supertype *st, struct mdinfo *info, int fd)
b7f731
@@ -2028,7 +2019,6 @@ error_out:
b7f731
 out:
b7f731
 	return rv;
b7f731
 }
b7f731
-#endif
b7f731
 
b7f731
 static int compare_super1(struct supertype *st, struct supertype *tst)
b7f731
 {
b7f731
@@ -2282,7 +2272,6 @@ static __u64 avail_size1(struct supertype *st, __u64 devsize,
b7f731
 	if (devsize < 24)
b7f731
 		return 0;
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
 	if (__le32_to_cpu(super->feature_map) & MD_FEATURE_BITMAP_OFFSET) {
b7f731
 		/* hot-add. allow for actual size of bitmap */
b7f731
 		struct bitmap_super_s *bsb;
b7f731
@@ -2291,7 +2280,7 @@ static __u64 avail_size1(struct supertype *st, __u64 devsize,
b7f731
 	} else if (__le32_to_cpu(super->feature_map) & MD_FEATURE_PPL) {
b7f731
 		bmspace = __le16_to_cpu(super->ppl.size);
b7f731
 	}
b7f731
-#endif
b7f731
+
b7f731
 	/* Allow space for bad block log */
b7f731
 	if (super->bblog_size)
b7f731
 		bbspace = __le16_to_cpu(super->bblog_size);
b7f731
@@ -2644,7 +2633,6 @@ static void free_super1(struct supertype *st)
b7f731
 	st->sb = NULL;
b7f731
 }
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
 static int validate_geometry1(struct supertype *st, int level,
b7f731
 			      int layout, int raiddisks,
b7f731
 			      int *chunk, unsigned long long size,
b7f731
@@ -2740,7 +2728,6 @@ static int validate_geometry1(struct supertype *st, int level,
b7f731
 	*freesize = devsize;
b7f731
 	return 1;
b7f731
 }
b7f731
-#endif /* MDASSEMBLE */
b7f731
 
b7f731
 void *super1_make_v0(struct supertype *st, struct mdinfo *info, mdp_super_t *sb0)
b7f731
 {
b7f731
@@ -2793,7 +2780,6 @@ void *super1_make_v0(struct supertype *st, struct mdinfo *info, mdp_super_t *sb0
b7f731
 }
b7f731
 
b7f731
 struct superswitch super1 = {
b7f731
-#ifndef MDASSEMBLE
b7f731
 	.examine_super = examine_super1,
b7f731
 	.brief_examine_super = brief_examine_super1,
b7f731
 	.export_examine_super = export_examine_super1,
b7f731
@@ -2806,7 +2792,6 @@ struct superswitch super1 = {
b7f731
 	.examine_badblocks = examine_badblocks_super1,
b7f731
 	.copy_metadata = copy_metadata1,
b7f731
 	.write_init_ppl = write_init_ppl1,
b7f731
-#endif
b7f731
 	.match_home = match_home1,
b7f731
 	.uuid_from_super = uuid_from_super1,
b7f731
 	.getinfo_super = getinfo_super1,
b7f731
diff --git a/util.c b/util.c
b7f731
index a536f81..a695c45 100644
b7f731
--- a/util.c
b7f731
+++ b/util.c
b7f731
@@ -89,7 +89,6 @@ int dlm_funs_ready(void)
b7f731
 	return is_dlm_hooks_ready ? 1 : 0;
b7f731
 }
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
 static struct dlm_hooks *dlm_hooks = NULL;
b7f731
 struct dlm_lock_resource *dlm_lock_res = NULL;
b7f731
 static int ast_called = 0;
b7f731
@@ -200,16 +199,6 @@ int cluster_release_dlmlock(int lockid)
b7f731
 out:
b7f731
 	return ret;
b7f731
 }
b7f731
-#else
b7f731
-int cluster_get_dlmlock(int *lockid)
b7f731
-{
b7f731
-	return -1;
b7f731
-}
b7f731
-int cluster_release_dlmlock(int lockid)
b7f731
-{
b7f731
-	return -1;
b7f731
-}
b7f731
-#endif
b7f731
 
b7f731
 /*
b7f731
  * Get array info from the kernel. Longer term we want to deprecate the
b7f731
@@ -291,7 +280,6 @@ int get_linux_version()
b7f731
 	return (a*1000000)+(b*1000)+c;
b7f731
 }
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
 int mdadm_version(char *version)
b7f731
 {
b7f731
 	int a, b, c;
b7f731
@@ -397,7 +385,6 @@ long parse_num(char *num)
b7f731
 	else
b7f731
 		return rv;
b7f731
 }
b7f731
-#endif
b7f731
 
b7f731
 int parse_cluster_confirm_arg(char *input, char **devname, int *slot)
b7f731
 {
b7f731
@@ -639,7 +626,6 @@ char *fname_from_uuid(struct supertype *st, struct mdinfo *info, char *buf, char
b7f731
 	return __fname_from_uuid(info->uuid, (st->ss == &super1) ? 1 : st->ss->swapuuid, buf, sep);
b7f731
 }
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
 int check_ext2(int fd, char *name)
b7f731
 {
b7f731
 	/*
b7f731
@@ -743,7 +729,6 @@ int ask(char *mesg)
b7f731
 	pr_err("assuming 'no'\n");
b7f731
 	return 0;
b7f731
 }
b7f731
-#endif /* MDASSEMBLE */
b7f731
 
b7f731
 int is_standard(char *dev, int *nump)
b7f731
 {
b7f731
@@ -803,7 +788,6 @@ unsigned long calc_csum(void *super, int bytes)
b7f731
 	return csum;
b7f731
 }
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
 char *human_size(long long bytes)
b7f731
 {
b7f731
 	static char buf[47];
b7f731
@@ -895,7 +879,6 @@ void print_r10_layout(int layout)
b7f731
 	if (near*far == 1)
b7f731
 		printf("NO REDUNDANCY");
b7f731
 }
b7f731
-#endif
b7f731
 
b7f731
 unsigned long long calc_array_size(int level, int raid_disks, int layout,
b7f731
 				   int chunksize, unsigned long long devsize)
b7f731
@@ -962,7 +945,6 @@ dev_t devnm2devid(char *devnm)
b7f731
 	return 0;
b7f731
 }
b7f731
 
b7f731
-#if !defined(MDASSEMBLE) || defined(MDASSEMBLE) && defined(MDASSEMBLE_AUTO)
b7f731
 char *get_md_name(char *devnm)
b7f731
 {
b7f731
 	/* find /dev/md%d or /dev/md/%d or make a device /dev/.tmp.md%d */
b7f731
@@ -1016,7 +998,6 @@ void put_md_name(char *name)
b7f731
 	if (strncmp(name, "/dev/.tmp.md", 12) == 0)
b7f731
 		unlink(name);
b7f731
 }
b7f731
-#endif /* !defined(MDASSEMBLE) || defined(MDASSEMBLE) && defined(MDASSEMBLE_AUTO) */
b7f731
 
b7f731
 int get_maj_min(char *dev, int *major, int *minor)
b7f731
 {
b7f731
@@ -1146,9 +1127,8 @@ struct superswitch *superlist[] =
b7f731
 	&super0, &super1,
b7f731
 	&super_ddf, &super_imsm,
b7f731
 	&mbr, &gpt,
b7f731
-	NULL };
b7f731
-
b7f731
-#if !defined(MDASSEMBLE) || defined(MDASSEMBLE) && defined(MDASSEMBLE_AUTO)
b7f731
+	NULL
b7f731
+};
b7f731
 
b7f731
 struct supertype *super_by_fd(int fd, char **subarrayp)
b7f731
 {
b7f731
@@ -1213,7 +1193,6 @@ struct supertype *super_by_fd(int fd, char **subarrayp)
b7f731
 
b7f731
 	return st;
b7f731
 }
b7f731
-#endif /* !defined(MDASSEMBLE) || defined(MDASSEMBLE) && defined(MDASSEMBLE_AUTO) */
b7f731
 
b7f731
 int dev_size_from_id(dev_t id, unsigned long long *size)
b7f731
 {
b7f731
@@ -1753,7 +1732,7 @@ int add_disk(int mdfd, struct supertype *st,
b7f731
 {
b7f731
 	/* Add a device to an array, in one of 2 ways. */
b7f731
 	int rv;
b7f731
-#ifndef MDASSEMBLE
b7f731
+
b7f731
 	if (st->ss->external) {
b7f731
 		if (info->disk.state & (1<
b7f731
 			info->recovery_start = MaxSector;
b7f731
@@ -1773,7 +1752,6 @@ int add_disk(int mdfd, struct supertype *st,
b7f731
 			}
b7f731
 		}
b7f731
 	} else
b7f731
-#endif
b7f731
 		rv = ioctl(mdfd, ADD_NEW_DISK, &info->disk);
b7f731
 	return rv;
b7f731
 }
b7f731
@@ -1782,12 +1760,11 @@ int remove_disk(int mdfd, struct supertype *st,
b7f731
 		struct mdinfo *sra, struct mdinfo *info)
b7f731
 {
b7f731
 	int rv;
b7f731
+
b7f731
 	/* Remove the disk given by 'info' from the array */
b7f731
-#ifndef MDASSEMBLE
b7f731
 	if (st->ss->external)
b7f731
 		rv = sysfs_set_str(sra, info, "slot", "none");
b7f731
 	else
b7f731
-#endif
b7f731
 		rv = ioctl(mdfd, HOT_REMOVE_DISK, makedev(info->disk.major,
b7f731
 							  info->disk.minor));
b7f731
 	return rv;
b7f731
@@ -1832,10 +1809,8 @@ int set_array_info(int mdfd, struct supertype *st, struct mdinfo *info)
b7f731
 	mdu_array_info_t inf;
b7f731
 	int rv;
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
 	if (st->ss->external)
b7f731
 		return sysfs_set_array(info, 9003);
b7f731
-#endif
b7f731
 		
b7f731
 	memset(&inf, 0, sizeof(inf));
b7f731
 	inf.major_version = info->array.major_version;
b7f731
@@ -2015,7 +1990,6 @@ use_random:
b7f731
 	memcpy(buf, r, 16);
b7f731
 }
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
 int flush_metadata_updates(struct supertype *st)
b7f731
 {
b7f731
 	int sfd;
b7f731
@@ -2057,7 +2031,6 @@ void append_metadata_update(struct supertype *st, void *buf, int len)
b7f731
 	*st->update_tail = mu;
b7f731
 	st->update_tail = &mu->next;
b7f731
 }
b7f731
-#endif /* MDASSEMBLE */
b7f731
 
b7f731
 #ifdef __TINYC__
b7f731
 /* tinyc doesn't optimize this check in ioctl.h out ... */
b7f731
@@ -2197,7 +2170,6 @@ void reopen_mddev(int mdfd)
b7f731
 		dup2(fd, mdfd);
b7f731
 }
b7f731
 
b7f731
-#ifndef MDASSEMBLE
b7f731
 static struct cmap_hooks *cmap_hooks = NULL;
b7f731
 static int is_cmap_hooks_ready = 0;
b7f731
 
b7f731
@@ -2272,4 +2244,3 @@ void set_hooks(void)
b7f731
 	set_dlm_hooks();
b7f731
 	set_cmap_hooks();
b7f731
 }
b7f731
-#endif
b7f731
-- 
b7f731
2.7.4
b7f731