diff --git a/package/utils/mdadm/patches/200-reduce_size.patch b/package/utils/mdadm/patches/200-reduce_size.patch
new file mode 100644
index 0000000000000000000000000000000000000000..3d8c2f421c8b12a7ddb865994181c9b26e125dbb
--- /dev/null
+++ b/package/utils/mdadm/patches/200-reduce_size.patch
@@ -0,0 +1,25 @@
+--- a/Incremental.c
++++ b/Incremental.c
+@@ -1508,6 +1508,10 @@ static int Incremental_container(struct 
+ 	if (ra_all == ra_blocked)
+ 		return 0;
+ 
++#ifndef MDADM_FULL
++	return 0;
++#endif
++
+ 	/* Now move all suitable spares from spare container */
+ 	domains = domain_from_array(list, st->ss->name);
+ 	memcpy(suuid, uuid_zero, sizeof(int[4]));
+--- a/util.c
++++ b/util.c
+@@ -928,7 +928,9 @@ void wait_for(char *dev, int fd)
+ struct superswitch *superlist[] =
+ {
+ 	&super0, &super1,
++#ifdef MDADM_FULL
+ 	&super_ddf, &super_imsm,
++#endif
+ 	&mbr, &gpt,
+ 	NULL };
+