Blob Blame History Raw
From 6b6112842030309c297a521918d1a2e982426fa3 Mon Sep 17 00:00:00 2001
From: NeilBrown <neilb@suse.com>
Date: Fri, 9 Nov 2018 17:12:33 +1100
Subject: [RHEL7.7 PATCH 02/21] Document PART-POLICY lines

PART-POLICY has been accepted in mdadm.conf since the same
time that POLICY was accepted, but it was never documented.
So add the missing documentation.

Also fix a bug which would have stopped it from working if
anyone had ever tried to use it.

Signed-off-by: NeilBrown <neilb@suse.com>
Signed-off-by: Jes Sorensen <jsorensen@fb.com>
---
 mdadm.conf.5 | 24 +++++++++++++++++++++++-
 policy.c     |  2 +-
 2 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/mdadm.conf.5 b/mdadm.conf.5
index 18512cb..47c962a 100644
--- a/mdadm.conf.5
+++ b/mdadm.conf.5
@@ -501,7 +501,7 @@ To update hot plug configuration it is necessary to execute
 .B mdadm \-\-udev\-rules
 command after changing the config file
 
-Key words used in the
+Keywords used in the
 .I POLICY
 line and supported values are:
 
@@ -565,6 +565,28 @@ be automatically added to that array (or it's container)
 as above and the disk will become a spare in remaining cases
 .RE
 
+.TP
+.B PART-POLICY
+This is similar to
+.B POLICY
+and accepts the same keyword assignments.  It allows a consistent set
+of policies to applied to each of the partitions of a device.
+
+A
+.B PART-POLICY
+line should set
+.I type=disk
+and identify the path to one or more disk devices.  Each partition on
+these disks will be treated according to the
+.I action=
+setting  from this line.  If a
+.I domain
+is set in the line, then the domain associated with each patition will
+be based on the domain, but with
+.RB \(dq -part N\(dq
+appended, when N is the partition number for the partition that was
+found.
+
 .SH EXAMPLE
 DEVICE /dev/sd[bcdjkl]1
 .br
diff --git a/policy.c b/policy.c
index c0d18a7..258f393 100644
--- a/policy.c
+++ b/policy.c
@@ -300,7 +300,7 @@ static int path_has_part(char *path, char **part)
 		l--;
 	if (l < 5 || strncmp(path+l-5, "-part", 5) != 0)
 		return 0;
-	*part = path+l-4;
+	*part = path+l-5;
 	return 1;
 }
 
-- 
2.7.5