From mboxrd@z Thu Jan 1 00:00:00 1970 From: Song Liu Subject: [PATCH 17/17] In generated udev rules, skip RAID members Date: Tue, 1 Dec 2015 16:25:33 -0800 Message-ID: <1449015933-255689-18-git-send-email-songliubraving@fb.com> References: <1449015933-255689-1-git-send-email-songliubraving@fb.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: In-Reply-To: <1449015933-255689-1-git-send-email-songliubraving@fb.com> Sender: linux-raid-owner@vger.kernel.org To: linux-raid@vger.kernel.org Cc: neilb@suse.com, dan.j.williams@intel.com, shli@fb.com, Song Liu List-Id: linux-raid.ids Add the following ENV{ID_FS_TYPE}=="ddf_raid_member|isw_raid_member|linux_raid_member", GOTO="end" ... LABEL="end" to generated udev rules. Signed-off-by: Song Liu --- policy.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/policy.c b/policy.c index 177544a..7341659 100644 --- a/policy.c +++ b/policy.c @@ -810,7 +810,10 @@ int policy_check_path(struct mdinfo *disk, struct map_ent *array) /* invocation of udev rule file */ char udev_template_start[] = "# do not edit this file, it is automatically generated by mdadm\n" -"\n"; +"ENV{ID_FS_TYPE}==\"ddf_raid_member|isw_raid_member|linux_raid_member\", " +"GOTO=\"end\"\n"; + +char udev_template_end[] = "LABEL=\"end\"\n"; /* find rule named rule_type and return its value */ char *find_rule(struct rule *rule, char *rule_type) @@ -962,6 +965,11 @@ int Write_rules(char *rule_name) if (generate_entries(fd) < 0) goto abort; + if (write(fd, udev_template_end, + sizeof(udev_template_end) - 1) + != (int)sizeof(udev_template_end)-1) + goto abort; + fsync(fd); if (rule_name) { close(fd); -- 2.4.6