Mitigate some warnings if running as non-root user.
PATCH 1/1 Mitigate some warnings if running as non-root user.
LVM doesn't behave correctly if running as non-root user, there is warning when it detects it.
Despite this, it produces many error messages, saying nothing. See https://bugzilla.redhat.com/show_bug.cgi?id=620571
This patch fixes two things:
1) Removes eror message from device_is_usable() which has no information value anyway (real warning is printed inside it).
2) it fixes device-mapper initialization, if we support core dm module autoload and device node is present, it should fail early and not try recreate existing and correct node. (non-root == permission denied here)
N.B. In future code should support user roles, some more drastic checks in code are probably contraproductive now.
--- lib/activate/dev_manager.c | 6 ++---- libdm/ioctl/libdm-iface.c | 9 ++++++--- 2 files changed, 8 insertions(+), 7 deletions(-)
lib/activate/dev_manager.c +2 -4
@@ -141,10 +141,8 @@ int device_is_usable(struct device *dev)int only_error_target =1 ;int r =0 ; -if (!(dmt =dm_task_create (DM_DEVICE_STATUS ))) { -log_error ("Failed to create dm_task struct to check dev status" ); -return 0 ; - } +if (!(dmt =dm_task_create (DM_DEVICE_STATUS ))) + return_0;if (!dm_task_set_major_minor (dmt,MAJOR (dev->dev),MINOR (dev->dev),1 )) goto_out;
libdm/ioctl/libdm-iface.c +6 -3
@@ -365,8 +365,9 @@ static int _open_and_assign_control_fd(const char *control,_close_control_fd ();if ((_control_fd =open (control,O_RDWR )) <0 ) { -if (!(ignore_nodev && errno ==ENODEV )) -log_sys_error ("open" , control); +if (ignore_nodev && errno ==ENODEV ) +return 1 ; +log_sys_error ("open" , control);return 0 ; }
@@ -412,7 +413,9 @@ static int _open_control(void) !_create_control(control, major, MAPPER_CTRL_MINOR)) goto error; -_open_and_assign_control_fd (control,1 ); +/* Fallback to old code only if control node doesn't exist */ +if (!_open_and_assign_control_fd (control,1 )) + goto error; }/*
Signature · 1 line
1.7.4.1
PATCH 1/1 Mitigate some warnings if running as non-root user.
Quoted 10 lines · Milan Broz
See https://bugzilla.redhat.com/show_bug.cgi?id=620571
This patch fixes two things:
1) Removes eror message fromdevice_is_usable()which has no information value anyway (real warning is printed inside it).2) it fixes device-mapper initialization, if we support core dm module autoload and device node is present, it should fail early and not try recreate existing and correct node. (non-root == permission denied here)
Yes, we need to fix this! The patch is clear, runs fine. Ack.
Peter