Whamcloud - gitweb
LU-6063 kernel: use proper flags for call_usermodehelper 77/13677/2
authorJames Simmons <uja.ornl@gmail.com>
Fri, 6 Feb 2015 17:43:05 +0000 (12:43 -0500)
committerOleg Drokin <oleg.drokin@intel.com>
Sun, 8 Feb 2015 02:14:30 +0000 (02:14 +0000)
commit8febfe0e30c5febdf716e4591c355199de4a6ab8
treea9b5f0fc00bbeda60d0b722b27b52392cf6b195c
parent0c69c941cdae8cc41a3daaa9184ef2468a24aa09
LU-6063 kernel: use proper flags for call_usermodehelper

When a parameter is permanently changed on the MGS the
MGS send a changelog packet to the proper nodes that
are affected by the change. Once the nodes receive the
change they then call the userland utility lctl to
change its local value. When calling a userland
application from the kernel you specify a flag to
control the interaction with the application. Originally
by default the flag was set to 0 which is UMH_NO_WAIT
which meant lctl was being called asynchronously. In
older kernels this was fine since UHM_NO_WAIT and
UHM_WAIT_PROC had nearly the same logic. This changed
with newer kernels which broke updating our parameters.
Plus doing a UHM_NO_WAIT doesn't report back a error
if something goes wrong with lctl. The fix is to set
the flag to UHM_WAIT_PROC so kernel space waits until
lctl has finished and we get a proper error code if
something does go wrong with lctl. Secondly the patch
uses the proper flag name instead of a number for the
use of call_usermodehelper in mdt_identity.c so the
code is more readable.

Change-Id: I016fd4342315e9db6ec3ef544bcfb3a477c97b52
Signed-off-by: James Simmons <uja.ornl@gmail.com>
Reviewed-on: http://review.whamcloud.com/13677
Tested-by: Jenkins
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
lustre/mdt/mdt_identity.c
lustre/obdclass/obd_config.c