On 03/19/2012 02:12 PM, Myklebust, Trond wrote: > On Mon, 2012-03-19 at 13:58 -0700, Boaz Harrosh wrote: >> On 03/16/2012 02:40 PM, Myklebust, Trond wrote: >>> On Thu, 2012-03-15 at 23:23 -0700, Boaz Harrosh wrote: >>>> From: Sachin Bhamare <sbhamare@xxxxxxxxxxx> >>>> >>>> The pnfs-objects protocol mandates that we autologin into devices not >>>> present in the system, according to information specified in the >>>> get_device_info returned from the server. >>>> >>>> The Protocol specifies two login hints. >>>> 1. An IP address:port combination >>>> 2. A string URI which is constructed as a URL with a protocol prefix >>>> followed by :// and a string as address. For each protocol prefix >>>> the string-address format might be different. >>>> >>>> We only support the second option. The first option is just redundant >>>> to the second one. >>>> NOTE: The Kernel part of autologin does not parse the URI string. It >>>> just channels it to a user-mode script. So any new login protocols should >>>> only update the user-mode script which is a part of the nfs-utils package, >>>> but the Kernel need not change. >>>> >>>> We implement the autologin by using the call_usermodehelper() API. >>>> (Thanks to Steve Dickson <steved@xxxxxxxxxx> for pointing it out) >>>> So there is no running daemon needed, and or special setup. >>>> >>>> All is needed is that "/sbin/osd_login" script exists. >>>> TODO: >>>> "osd_login" is an hard coded name. If not present we will rate_limit >>>> print to dmsg and keep failing. In such cases we should stop trying >>>> and provide sysfs interface for re-enabling autologin. For example, >>>> we could ZERO out the script name and let user-mode set a new script >>>> name. >>>> [Q] Where in sysfs should a layout-driver put its things? >>> >>> Please see fs/nfs/cache_lib.c, which already does this sort of thing. >>> The right thing to do is not sysfs, but a kernel module parameter. >>> >> >> I have a question about the "kernel module parameter" is that an hot >> affair. I mean if the module is loaded, does it have to be unloaded >> before I can specify a new "module parameter" on load. Or it will >> update globally even if the module is already loaded? >> >> The reason I'm asking is because the layout-driver is referenced >> by nfs-core on mount. And will not release until unmount, of the >> last pnf-objects mount-point. >> >> That's why I thought of a /sys so all mount-points need not be unmounted >> before admin can fix the problem. > > Yes. If you design things correctly, you can make the kernel parameter > writeable by setting the mode in the module_param_string(). Again, > please see fs/nfs/cache_lib.c. > > The advantage of the kernel parameter here is that you can initialise it > directly in /etc/modprobe.conf using the 'options' command, but you can > later change it dynamically (without removing the module) using the > pseudofile in /sys/module/objlayout-driver/parameters > Perfect thanks. Done. I'll send the patch soon. Am now testing it. I want to test all the possible options and the dynamic change. Thanks Boaz -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html