[OpenAFS-devel] [REVIEW] Can haz Solaris 10 8/07 compatibility patch

Douglas E. Engert deengert@anl.gov
Fri, 28 Sep 2007 10:02:49 -0500


Dale Ghent wrote:
> 
> FWIW, I updated the patch to kill a benign compile warning (now the code 
> introduces no /additional/ warnings over what's normally spewed) and 
> fixed the potentially unfriendly act of the code taking a long walk off 
> a short struct when there are > 16 interfaces up on a system.

Looks good!

Using 1.4.4, compiled the 09/27 patch on an u3 system and ran on
u4 system. Compiled the 09/28 patch on the u4 system (source
in AFS) using the cache manager from the 09/27 patch.
Installed the 09/28 cache manager on the u4 and it too is running.
(still to test is running the u4 built version on a u3, and building
on 5.8 and 5.9 just to make sure they still run.)

The u3 system is: 5.10 Generic_125100-10 sun4u sparc SUNW,A70
The u4 system is: 5.10 Generic_120011-14 sun4u sparc SUNW,Sun-Fire-280R

P.S.
Built the aklog using the u4 provided /usr/include/kerberosv5/krb5.h
and it runs on both the u3 and u4 systems.

To build aklog required this patch:
http://www.openafs.org/dl/openafs/1.4.4/sun4x_510/aklog-solaris10-krb5.diff
(This is in the CVS but not part of 1.4.4.)

The build was done using:
KRB5CFLAGS="-I/usr/include/kerberosv5"
KRB5LIBS="/usr/lib/gss/mech_krb5.so -R/usr/lib/gss"
export KRB5CFLAGS
export KRB5LIBS
./configure --enable-transarc-paths \
               --with-krb5=yes \
               --enable-namei-fileserver \
               --enable-largefile-fileserver \
               --host=sparc-sun-solaris2.10


> 
> /dale
> 
> On Sep 26, 2007, at 7:35 PM, Dale Ghent wrote:
> 
>>
>> Here's a candidate patch for those of you running any version of 
>> Solaris 10, or have hopes of running OpenAFS on Solaris 10 8/07 
>> (update 4);
>>
>> This patch removes use of the non-Public ILL structures by OpenAFS to 
>> gather network interface information in order to make RX packet size 
>> and server locality decisions. I replaced it with a Solaris taskq(9f) 
>> that executes a function which polls the network interfaces on the 
>> machine and populates a global array with collected information. 
>> Network information consumers then walk this array to gain the info 
>> they require. This polling function, by default, runs every 30 seconds.
>>
>> I made a design change from previous versions in that I dispensed with 
>> the while(1) loop for the polling mechanism. The osi_NetIfPoller 
>> function now chains itself.
>>
>> The interval between polls may be adjusted either by /etc/system or in 
>> real time by the use of mdb:
>>
>> Set afs interface poll interval to 15 seconds using /etc/system:
>>     set afs:afs_if_poll_interval=15
>>
>> Get current poll interval using mdb:
>>     # echo afs_if_poll_interval/D | mdb -k
>>     afs_if_poll_interval:
>>     afs_if_poll_interval:           30
>>
>> Set a new poll interval to 15 seconds (in hex):
>>     # echo "afs_if_poll_interval/W 0f" | mdb -kw
>>     afs_if_poll_interval:           0x1e            =       0xf
>>
>> You may see if the poller is doing its job by watching the "executed" 
>> line of the  afs_taskq kstat:
>>     # kstat -n afs_taskq
>>     module: unix                            instance: 0
>>     name:   afs_taskq                       class:    taskq
>>             crtime                          141.142208577
>>             executed                        126
>>             maxtasks                        1
>>             nactive                         2
>>             nalloc                          0
>>             priority                        60
>>             snaptime                        2286.25972396
>>             tasks                           126
>>             threads                         2
>>             totaltime                       28790720
>>
>> The following patch applies against OpenAFS 1.4.4. I urge that it be 
>> tested on any version of Solaris that you may have at your disposal, 
>> not just 10u4. Please discuss any issues on the -devel list.
>>
>> http://elektronkind.org/outbox/afs/openafs-s10u4-compat.patch
>>
>> /dale
>> -- 
>> Dale Ghent
>> Specialist, Storage and UNIX Systems
>> UMBC - Office of Information Technology
>> ECS 201 - x51705
>>
>>
>>
>> _______________________________________________
>> OpenAFS-devel mailing list
>> OpenAFS-devel@openafs.org
>> https://lists.openafs.org/mailman/listinfo/openafs-devel
>>
> 
> -- 
> Dale Ghent
> Specialist, Storage and UNIX Systems
> UMBC - Office of Information Technology
> ECS 201 - x51705
> 
> 
> 
> _______________________________________________
> OpenAFS-devel mailing list
> OpenAFS-devel@openafs.org
> https://lists.openafs.org/mailman/listinfo/openafs-devel
> 
> 

-- 

  Douglas E. Engert  <DEEngert@anl.gov>
  Argonne National Laboratory
  9700 South Cass Avenue
  Argonne, Illinois  60439
  (630) 252-5444