Folks,
I have to OSS enhancement requests. They allowed me to successfully
stage in data for the first time.
1. The mps_Stage script (and probably all the other mps_ scripts) needs
to be passed the -c configFile
option to make it work for those of us who don't install xrootd in
/opt/xrootd.
This turns out to be easy for mps_Stage and is probably easy for the
other scripts.
In the file XrdOssStage.cc, the method int XrdOssSys::GetFile needs the
following changes:
a) char * arglist[4]; becomes
char * arglist[6];
b) at about line 328, change the assignments to arglist to be
arglist[0] = StageCmd;
arglist[1] = (char *) "-c";
arglist[2] = ConfigFN;
arglist[3] = rfs_fn;
arglist[4] = lfs_fn;
arglist[5] = (char *)0;
2. There is a "bug" of sorts in mps_Stage in Init_Config
somewhere near line 817 is the code
while( <CONFIG> ) {
s/#.*$//; #remove comments
($var, $val) = split(" ",$_,2);
($x, $val) = split(" ", $val,2) if $val =~ /^= /; # remove =
It turns out that the splits only work if you have a space between the
variable name and the =
and likewise after the =. I have only tabs after the = and it didn't
work. There are two solutions to this. The clearest is to change the "
" argument to the splits to be "\s". The perl manual indicates that you
can also change it to ' ' and split will interpret it as \s, but I
haven't tested this. No doubt this change will be needed in other mps_
scripts that read the config file. (One could put this code into a .pm
file to share it amongst all the mps_ scripts, of course...)
--
Gregory J. Sharp email: [log in to unmask]
Wilson Synchrotron Laboratory url:
http://www.lepp.cornell.edu/~gregor
Dryden Rd ph: +1 607 255 4882
Ithaca, NY 14853 fax: +1 607 255 8062
|