Hi,

  Here's some explain of this:

  The 'wsize' and 'rsize' negotiated between client and server, are affected
by the auto-sized memory available to incoming request to NFS server.
And the size is actually adjusted based on total available memory to the server.

  The problem is when the client negotiates a large size, and then the server
fails over to a lower limit. You are likely to get:
   "RPC: fragment too large"
  And the failing over fails ......

   So the idea is to enforce an same configuration everywhere, regardless the
total memory available to the server.

   I also re attach the patch for your consideration.
   Thanks.

2009/7/27 Raoul Bhatia [IPAX] <r.bha...@ipax.at>:
> hi,
>
> in your patch, you add the following:
>
>> +     if [ -w /proc/fs/nfsd/max_block_size ]; then
>> +       echo 65536 > /proc/fs/nfsd/max_block_size
>> +     fi
>
> why are you enforcing max_block_size to 65536?
> on my system (debian lenny) i get
>
>> # cat /proc/fs/nfsd/max_block_size
>> 262144
>
> please elaborate.
>
> cheers,
> raoul
> --
> ____________________________________________________________________
> DI (FH) Raoul Bhatia M.Sc.          email.          r.bha...@ipax.at
> Technischer Leiter
>
> IPAX - Aloy Bhatia Hava OEG         web.          http://www.ipax.at
> Barawitzkagasse 10/2/2/11           email.            off...@ipax.at
> 1190 Wien                           tel.               +43 1 3670030
> FN 277995t HG Wien                  fax.            +43 1 3670030 15
> ____________________________________________________________________
> _______________________________________________________
> Linux-HA-Dev: Linux-HA-Dev@lists.linux-ha.org
> http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev
> Home Page: http://linux-ha.org/
>
Index: heartbeat/resources/OCF/nfsserver
===================================================================
--- heartbeat.orig/resources/OCF/nfsserver	2008-11-14 20:21:21.000000000 +0800
+++ heartbeat/resources/OCF/nfsserver	2009-07-28 14:34:44.000000000 +0800
@@ -73,6 +73,16 @@
 <content type="string" default="*" />
 </parameter>
 
+<parameter name="nfs_max_block_size" unique="0" required="1">
+<longdesc lang="en">
+Memory available for incoming requests. In bytes.
+</longdesc>
+<shortdesc lang="en">
+/proc/fs/nfsd/max_block_size
+</shortdesc>
+<content type="string" default="65536" />
+</parameter>
+
 </parameters>
 
 <actions>
@@ -173,6 +183,16 @@
 	rm -f /var/lib/nfs/sm.ha/* > /dev/null 2>&1
 	cp -f /var/lib/nfs/sm/* /var/lib/nfs/sm.ha > /dev/null 2>&1
 
+	ocf_log info "Preparing /proc/fs/nfsd first"
+	if [ ! -f /proc/fs/nfsd/max_block_size ] ; then
+	   mount -t nfsd nfsd /proc/fs/nfsd
+	fi
+
+	if [ -w /proc/fs/nfsd/max_block_size ]; then
+	   echo ${OCF_RESKEY_nfs_max_block_size} > /proc/fs/nfsd/max_block_size
+	fi
+
+
 	ocf_log info "Starting NFS server ..."
 
 	fn=`/bin/mktemp`
_______________________________________________________
Linux-HA-Dev: Linux-HA-Dev@lists.linux-ha.org
http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev
Home Page: http://linux-ha.org/

Reply via email to