From 49da03e2e7122adbde60bcbac6c0b06cf80bb3f6 Mon Sep 17 00:00:00 2001 From: Peter Oberparleiter Date: Mon, 19 Aug 2019 12:46:31 +0200 Subject: [PATCH] zdev: Fix broken zfcp-lun udev rule check MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit zdev incorrectly reports an invalid udev rule for zfcp-lun type rules. This is caused by a faulty check for an empty udev rule file. This commit fixes the check to only report invalid rules when there was no valid configuration directive found in a zfcp-lun type udev rule. Signed-off-by: Peter Oberparleiter Reported-by: Steffen Maier Reported-by: Benjamin Block Signed-off-by: Jan Höppner --- zdev/src/udev_zfcp_lun.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/zdev/src/udev_zfcp_lun.c b/zdev/src/udev_zfcp_lun.c index 63df09a4..51f23f31 100644 --- a/zdev/src/udev_zfcp_lun.c +++ b/zdev/src/udev_zfcp_lun.c @@ -345,6 +345,7 @@ static exit_code_t udev_read_zfcp_lun_rule(const char *filename, in_fc, in_scsi, } state = none; + bool empty_rule = true; rc = udev_read_file(filename, &file); if (rc) @@ -374,16 +375,22 @@ static exit_code_t udev_read_zfcp_lun_rule(const char *filename, state = in_scsi; node = zfcp_lun_node_from_entry(entry, node, list); + if (node) + empty_rule = false; } break; case in_fc: node = zfcp_lun_node_from_entry(entry, node, list); - if (node) + if (node) { add_fc_setting_from_entry(entry, node); + empty_rule = false; + } break; case in_scsi: - if (node) + if (node) { add_scsi_setting_from_entry(entry, node); + empty_rule = false; + } break; } } @@ -393,7 +400,7 @@ static exit_code_t udev_read_zfcp_lun_rule(const char *filename, out: udev_free_file(file); - if (!node) + if (empty_rule) warn_once("Warning: Invalid udev rule: %s\n", filename); return rc;