[OpenAFS] OpenAFS and TSM V5

Nicolescu, Edward L edward@bnl.gov
Thu, 15 Apr 2004 11:47:16 -0400


Forget my previous note "OpenAFS backup to TSM  on Solaris 9 platforms".
As of version 1.2.11, OpenAFS is still not working with TSM V5 even when
compiled
with the  --enable-tivoli-tsm configure option. To get it working, one needs
to apply the
hacks suggested by Rainer Toebbicke in the e-mail appended below. Is this
problem 
going to be fixed in the next releases ?

Edward Nicolescu
Brookhaven National Labs


-------------------------------- original message
-------------------------------------

Derrick J Brashear wrote:
> On Tue, 19 Aug 2003, Rainer Toebbicke wrote:
> 
> 
>>When I last tried the OpenAFS butc compiled with TSM support on a TSM 5
>>installation it did not work out of the box because of some parameters not
>>being known to TSM any longer. The problem was solvable by modifying that
part
>>in the butc_xbsa.c file passing it the correct parmameters. After that it
>>worked fine (Solaris 2.8).
> 
> 
> Are you willing/allowed to share that?
> 

Of course - attached hack is for OpenAFS 1.2.7...
but I have no idea if it is backwards compatible with ADSM (TSM) V4
therefore 
I didn't volunteer.
-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
=
Rainer Toebbicke        <http://cern.ch/~rtb>         rtb@mail.cern.ch
<mailto:rtb@mail.cern.ch>  O__
European Laboratory for Particle Physics(CERN) - Geneva, Switzerland   > |
Phone: +41 22 767 8985       Fax: +41 22 767 7155                     ( )\(
)
--------------070505090601000303090307
Content-Type: text/plain;
 name="make_butc_work_with_TSMV5"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="make_butc_work_with_TSMV5"
*** butc_xbsa.c.orig	Thu Jul 12 21:58:28 2001
--- butc_xbsa.c	Fri Aug 22 15:53:15 2003
***************
*** 216,223 ****
  {
      char envStrs[XBSA_NUM_ENV_STRS][BSA_MAX_DESC];
      char *envP[XBSA_NUM_ENV_STRS + 1];
!     char *ADSMMaxObject = "MAXOBJ=";
!     char *ADSMServer = "DSMSRVR=";
      char *tempStrPtr;
      int i;
      int rc;
--- 216,223 ----
  {
      char envStrs[XBSA_NUM_ENV_STRS][BSA_MAX_DESC];
      char *envP[XBSA_NUM_ENV_STRS + 1];
!     char *ADSMMaxObject = "TSMMAXOBJ=";
!     char *ADSMServer = "TSMSRVR=";
      char *tempStrPtr;
      int i;
      int rc;
***************
*** 261,266 ****
--- 261,267 ----
  	    tempStrPtr=tempStrPtr + strlen(ADSMServer);
  	    strcat(tempStrPtr, serverName);
  	    envP[1] = NULL;
+ 	    envP[0] = NULL;	/* Hack for TSM V5 */
  	} else {
  	    envP[0] = NULL;
  	    ELog(0,"xbsa_Initialize: The serverName was not specified\n");
***************
*** 324,329 ****
--- 325,332 ----
  	xbsa_error(rc, info);
  	return(BUTX_GETENVFAIL);
      }
+ 
+ info->maxObjects = 255; /* Hack for ADSM V5: unclear what this actually
means... */
  
      switch (XBSA_GET_SERVER_TYPE(info->serverType)) {
        case XBSA_SERVER_TYPE_ADSM :
*** configure.orig	Fri Aug 22 16:20:02 2003
--- configure	Thu Aug 21 13:06:14 2003
***************
*** 4257,4266 ****
  	XBSADIR1=/usr/tivoli/tsm/client/api/bin/xopen
  	XBSADIR2=/opt/tivoli/tsm/client/api/bin/xopen
  
! 	if test -e "$XBSADIR1/xbsa.h"; then
  		XBSA_CFLAGS="-Dxbsa -I$XBSADIR1"
  		echo "$ac_t""yes, $XBSA_CFLAGS" 1>&6
! 	elif test -e "$XBSADIR2/xbsa.h"; then
  		XBSA_CFLAGS="-Dxbsa -I$XBSADIR2"
  		echo "$ac_t""yes, $XBSA_CFLAGS" 1>&6
  	else
--- 4257,4266 ----
  	XBSADIR1=/usr/tivoli/tsm/client/api/bin/xopen
  	XBSADIR2=/opt/tivoli/tsm/client/api/bin/xopen
  
! 	if test -s "$XBSADIR1/xbsa.h"; then
  		XBSA_CFLAGS="-Dxbsa -I$XBSADIR1"
  		echo "$ac_t""yes, $XBSA_CFLAGS" 1>&6
! 	elif test -s "$XBSADIR2/xbsa.h"; then
  		XBSA_CFLAGS="-Dxbsa -I$XBSADIR2"
  		echo "$ac_t""yes, $XBSA_CFLAGS" 1>&6
  	else
--------------070505090601000303090307--