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

Vladimir Sokolovsky vlad at dev.mellanox.co.il
Tue Nov 17 01:23:17 PST 2009


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.

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.

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