[ewg] [RFC] ofa_kernel.spec: add rpc.statd to nfsserver scripts for SLES10

Jon Mason jon at opengridcomputing.com
Tue Nov 17 11:31:04 PST 2009


On Tue, Nov 17, 2009 at 11:23:17AM +0200, Vladimir Sokolovsky wrote:
> Jon Mason wrote:
>> If no one has any objection to this, I'd like to push it into OFED 1.5
>>
>> Thanks,
>> Jon
>
> Hi Jon,
> Please make this patch to be a part of rnfs-utils RPM and not ofa_kernel.
> As /sbin/rpc.statd belongs to rnfs-utils.

Good idea!  I'll have an updated version of rnfs-utils posted shortly.

> In addition, please remove rpmbuild dependency on automake and autoconf in rnfs-utils.
> This part (autogen.sh) should be done in source RPM build step and not on the customers' server.

I don't understand, why should the dependency be removed?  It is needed
to run configure when building rnfs-utils, and I don't believe I can
exclude that step without breaking IA64 and PPC.  The necessary packages
are not included in SLES10 but are included in every other supported
OFED distro.

Thanks,
Jon

>
> Regards,
> Vladimir
>
>
>>
>> On Thu, Nov 12, 2009 at 06:20:10PM -0600, Jon Mason wrote:
>>> I created this patch to handle a re-occurring issue with NFSRDMA on
>>> SLES10.  Due to the NFS implementation native to SLES10 handling NFS
>>> locking inside the kernel, there are no user space locking daemons
>>> running.  However, newer NFS code requires locking in user space.  This
>>> is not an issue for all other distros, as they already have the
>>> necessary user space daemons and scripts in-place to start them.  I have
>>> added the user space locking daemons to rnfs-utils for SLES10, but they
>>> need to be started by hand (in addition to starting the NFS service
>>> script).  I have documented this requirement in the OFED docs, but there
>>> seem to be a number of bugs being opened with the cause being a lack of
>>> running the user space daemon.
>>>
>>> I believe the only way to solve this situation is to add the locking
>>> daemons to the NFS server scripts for SLES10, thus giving SLES10 the
>>> behavior that the users are expecting.  I created a patch to
>>> ofa_kernel.spec to add the locking daemons if NFS is being installed via
>>> OFED and removed on uninstallation.  I have verified that this handles
>>> the situation on my systems, but I want to get feedback on the
>>> implementation before I request it be pulled in OFED.
>>>
>>> Thoughts?
>>>
>>> Thanks,
>>> Jon
>>>
>>> commit 0bfcc2d69e01a212f1835a4db54c20500c52ebce
>>> Author: Jon Mason <jon at opengridcomputing.com>
>>> Date:   Thu Nov 12 11:00:14 2009 -0600
>>>
>>>     Add logic to apply rnfs_sles10.patch when installing OFED NFS on SLES10.
>>>     This will add start/stop of rpc.statd to nfsserver init.d script.
>>>         This fixes bug 1810
>>>         Signed-off-by: Jon Mason <jon at opengridcomputing.com>
>>>
>>> diff --git a/ofed_scripts/ofa_kernel.spec b/ofed_scripts/ofa_kernel.spec
>>> index db3723c..582371b 100755
>>> --- a/ofed_scripts/ofa_kernel.spec
>>> +++ b/ofed_scripts/ofa_kernel.spec
>>> @@ -319,7 +319,12 @@ sed -i -e 's/KERNEL==/KERNEL=/g'  $RPM_BUILD_ROOT/etc/udev/rules.d/90-ib.rules
>>>  ;;
>>>  esac
>>>  %endif
>>> -	
>>> +
>>> +%if %{build_nfsrdma}
>>> +	#determine if it is SLES10, if so need to add rpc.statd to the nfsserver script
>>> +	test `uname -r | cut -d "-" -f 1` = "2.6.16.60" && patch -p0 < $RPM_BUILD_DIR/%{_name}-%{_version}/ofed_scripts/rnfs_sles10.patch
>>> +%endif
>>> +
>>>  %clean
>>>  #Remove installed driver after rpm build finished
>>>  rm -rf $RPM_BUILD_ROOT
>>> @@ -688,6 +693,11 @@ fi
>>>   fi
>>>  +%if %{build_nfsrdma}
>>> +	#determine if it is SLES10, if so need to add rpc.statd to the nfsserver script
>>> +	test `uname -r | cut -d "-" -f 1` = "2.6.16.60" && sed -i -e '/rpc.statd/{N;d;}' /etc/init.d/nfsserver
>>> +%endif
>>> +
>>>  %postun -n kernel-ib-devel
>>>   ###
>>> diff --git a/ofed_scripts/rnfs_sles10.patch b/ofed_scripts/rnfs_sles10.patch
>>> new file mode 100644
>>> index 0000000..6476331
>>> --- /dev/null
>>> +++ b/ofed_scripts/rnfs_sles10.patch
>>> @@ -0,0 +1,20 @@
>>> +--- /etc/init.d/nfsserver.orig	2009-11-12 10:45:37.000000000 -0600
>>> ++++ /etc/init.d/nfsserver	2009-11-12 11:02:27.000000000 -0600
>>> +@@ -107,6 +107,8 @@ case "$1" in
>>> +        echo "+2 +3 -4" > /proc/fs/nfsd/versions
>>> +       fi
>>> +       nfs4_bind_mounts
>>> ++      /sbin/rpc.statd
>>> ++      rc_status
>>> +       /usr/sbin/exportfs -r +       rc_status
>>> +       /usr/sbin/rpc.nfsd $PARAMS
>>> +@@ -136,6 +138,8 @@ case "$1" in
>>> + 	umount /proc/fs/nfsd
>>> + 	rc_status
>>> +       fi
>>> ++      killall /sbin/rpc.statd
>>> ++      rc_status
>>> +       nfs4_unbind_mounts
>>> +       rc_status -v
>>> +       ;;
>>> _______________________________________________
>>> ewg mailing list
>>> ewg at lists.openfabrics.org
>>> http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg
>> _______________________________________________
>> ewg mailing list
>> ewg at lists.openfabrics.org
>> http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg
>>
>



More information about the ewg mailing list