* [PATCH] fix: generated udev rules does not work due to incorrect line format
@ 2011-03-07 9:56 Hawrylewicz Czarnowski, Przemyslaw
2011-03-07 22:52 ` NeilBrown
0 siblings, 1 reply; 2+ messages in thread
From: Hawrylewicz Czarnowski, Przemyslaw @ 2011-03-07 9:56 UTC (permalink / raw)
To: NeilBrown
Cc: linux-raid@vger.kernel.org, Williams, Dan J, Ciechanowski, Ed,
Neubauer, Wojciech
Problem consists of missing =sign in comparison with SUBSYSTEM and
missing new line character at the end of line. As a result incremental
for hot-plugs of bare disks does not work.
Signed-off-by: Przemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski@intel.com>
---
policy.c | 12 ++++++------
1 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/policy.c b/policy.c
index afb640f..2a9fe5c 100644
--- a/policy.c
+++ b/policy.c
@@ -786,14 +786,14 @@ char *find_rule(struct rule *rule, char *rule_type)
}
#define UDEV_RULE_FORMAT \
-"ACTION==\"add\", SUBSYSTEM=\"block\", " \
+"ACTION==\"add\", SUBSYSTEM==\"block\", " \
"ENV{DEVTYPE}==\"%s\", ENV{ID_PATH}==\"%s\", " \
-"RUN+=\"/sbin/mdadm --incremental $env{DEVNAME}\", "
+"RUN+=\"/sbin/mdadm --incremental $env{DEVNAME}\""
#define UDEV_RULE_FORMAT_NOTYPE \
-"ACTION==\"add\", SUBSYSTEM=\"block\", " \
+"ACTION==\"add\", SUBSYSTEM==\"block\", " \
"ENV{ID_PATH}==\"%s\", " \
-"RUN+=\"/sbin/mdadm --incremental $env{DEVNAME}\", "
+"RUN+=\"/sbin/mdadm --incremental $env{DEVNAME}\""
/* Write rule in the rule file. Use format from UDEV_RULE_FORMAT */
int write_rule(struct rule *rule, int fd, int force_part)
@@ -807,9 +807,9 @@ int write_rule(struct rule *rule, int fd, int force_part)
if (force_part)
typ = type_part;
if (typ)
- snprintf(line, sizeof(line) - 1, UDEV_RULE_FORMAT, typ, pth);
+ snprintf(line, sizeof(line) - 1, UDEV_RULE_FORMAT "\n", typ, pth);
else
- snprintf(line, sizeof(line) - 1, UDEV_RULE_FORMAT_NOTYPE, pth);
+ snprintf(line, sizeof(line) - 1, UDEV_RULE_FORMAT_NOTYPE "\n", pth);
return write(fd, line, strlen(line)) == (int)strlen(line);
}
--
1.7.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] fix: generated udev rules does not work due to incorrect line format
2011-03-07 9:56 [PATCH] fix: generated udev rules does not work due to incorrect line format Hawrylewicz Czarnowski, Przemyslaw
@ 2011-03-07 22:52 ` NeilBrown
0 siblings, 0 replies; 2+ messages in thread
From: NeilBrown @ 2011-03-07 22:52 UTC (permalink / raw)
To: Hawrylewicz Czarnowski, Przemyslaw
Cc: linux-raid@vger.kernel.org, Williams, Dan J, Ciechanowski, Ed,
Neubauer, Wojciech
On Mon, 7 Mar 2011 09:56:48 +0000 "Hawrylewicz Czarnowski, Przemyslaw"
<przemyslaw.hawrylewicz.czarnowski@intel.com> wrote:
> Problem consists of missing =sign in comparison with SUBSYSTEM and
> missing new line character at the end of line. As a result incremental
> for hot-plugs of bare disks does not work.
>
> Signed-off-by: Przemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski@intel.com>
> ---
> policy.c | 12 ++++++------
> 1 files changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/policy.c b/policy.c
> index afb640f..2a9fe5c 100644
> --- a/policy.c
> +++ b/policy.c
> @@ -786,14 +786,14 @@ char *find_rule(struct rule *rule, char *rule_type)
> }
>
> #define UDEV_RULE_FORMAT \
> -"ACTION==\"add\", SUBSYSTEM=\"block\", " \
> +"ACTION==\"add\", SUBSYSTEM==\"block\", " \
> "ENV{DEVTYPE}==\"%s\", ENV{ID_PATH}==\"%s\", " \
> -"RUN+=\"/sbin/mdadm --incremental $env{DEVNAME}\", "
> +"RUN+=\"/sbin/mdadm --incremental $env{DEVNAME}\""
>
> #define UDEV_RULE_FORMAT_NOTYPE \
> -"ACTION==\"add\", SUBSYSTEM=\"block\", " \
> +"ACTION==\"add\", SUBSYSTEM==\"block\", " \
> "ENV{ID_PATH}==\"%s\", " \
> -"RUN+=\"/sbin/mdadm --incremental $env{DEVNAME}\", "
> +"RUN+=\"/sbin/mdadm --incremental $env{DEVNAME}\""
>
> /* Write rule in the rule file. Use format from UDEV_RULE_FORMAT */
> int write_rule(struct rule *rule, int fd, int force_part)
> @@ -807,9 +807,9 @@ int write_rule(struct rule *rule, int fd, int force_part)
> if (force_part)
> typ = type_part;
> if (typ)
> - snprintf(line, sizeof(line) - 1, UDEV_RULE_FORMAT, typ, pth);
> + snprintf(line, sizeof(line) - 1, UDEV_RULE_FORMAT "\n", typ, pth);
> else
> - snprintf(line, sizeof(line) - 1, UDEV_RULE_FORMAT_NOTYPE, pth);
> + snprintf(line, sizeof(line) - 1, UDEV_RULE_FORMAT_NOTYPE "\n", pth);
> return write(fd, line, strlen(line)) == (int)strlen(line);
> }
>
Applied (with a couple of minor changes), thanks.
NeilBrown
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2011-03-07 22:52 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-07 9:56 [PATCH] fix: generated udev rules does not work due to incorrect line format Hawrylewicz Czarnowski, Przemyslaw
2011-03-07 22:52 ` NeilBrown
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).