Whamcloud - gitweb
LU-9431 obd: resolve config log sysfs issues 43/30143/8
authorJames Simmons <uja.ornl@yahoo.com>
Tue, 6 Feb 2018 16:43:07 +0000 (11:43 -0500)
committerOleg Drokin <oleg.drokin@intel.com>
Sat, 3 Mar 2018 04:28:31 +0000 (04:28 +0000)
commita74b2b5bce71367506e59f1bdba163eb21235a29
tree98945bc52d22f618900af90b7de0bbbac53c8e47
parentdfd3542803ea8761c6c824feb761dacec11600ea
LU-9431 obd: resolve config log sysfs issues

This resolves long standing issues with modifying sysfs settings
on multiple nodes simultaneously by running a single command on
the backend MGS server. Their are two ways to change the settings,
LCFG_PARAM and LCFG_SET_PARAM. For the LCFG_PARAM case we create
a new function class_modify_config() that grabs the attributes
from the passed in kobject. We can use those attributes to
modify the sysfs settings. If we can't find the attribute then
send a uevent to let userland resolve the change. For the
LCFG_SET_PARAM case we handle two class of settings. The function
class_set_global() was modifiy to handle the top lustre sysfs
files since they are not searchable with kset_find_obj.
To make the new version of class_set_global() work both sets of
sysfs attributes for the top level sysfs entries have been merged.
If we can find a kobject with kset_find_obj then we can send
a uevent so userland change manage the change.

Change-Id: I4e7f19c4a232767119355c3c96e5752a10000da8
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: https://review.whamcloud.com/30143
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Ben Evans <bevans@cray.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lustre/conf/99-lustre.rules
lustre/include/obd_class.h
lustre/obdclass/Makefile.in
lustre/obdclass/class_obd.c
lustre/obdclass/linux/Makefile.am
lustre/obdclass/linux/linux-module.c
lustre/obdclass/linux/linux-sysctl.c [deleted file]
lustre/obdclass/obd_config.c