mirror of
https://github.com/ibm-s390-linux/s390-tools.git
synced 2026-08-05 02:14:52 +00:00
zdev: Improve handling of invalid udev rules
Add basic checking when reading udev rules and print a warning when an
invalid udev rule file is found. This addresses the current inconsistent
behavior:
- CCW devices: invalid udev rules are considered valid
- CCW group devices: invalid udev rules are silently ignored
- zFCP LUNs: invalid rules cause chzdev/lszdev to silently terminate
with non-zero exit code
Checks include a test for empty or truncated rule files that might be
the result of an interrupted chzdev operation, or a file system or I/O
error.
Note: The recommended way to correct invalid udev rules is to either
remove the offending rules file, or to repeat the associated persistent
configuration step.
Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>
Reported-by: Steffen Maier <maier@linux.ibm.com>
Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com>
This commit is contained in:
committed by
Jan Höppner
parent
5693c16894
commit
8b3cc6e4c1
@@ -346,6 +346,21 @@ exit_code_t udev_read_file(const char *path, struct udev_file **file_ptr)
|
||||
return EXIT_OK;
|
||||
}
|
||||
|
||||
/* Check if a udev file does not contain any statements. */
|
||||
bool udev_file_is_empty(struct udev_file *file)
|
||||
{
|
||||
struct udev_line_node *l;
|
||||
|
||||
if (!file)
|
||||
return true;
|
||||
util_list_iterate(&file->lines, l) {
|
||||
if (l->line[0])
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool get_ids_cb(const char *filename, void *data)
|
||||
{
|
||||
char *prefix = data;
|
||||
|
||||
Reference in New Issue
Block a user