...
The script xrdprel should be used to run a command using the xrootd preload library. The script sets the proper environment variables (LD_LIBRARY_PATH, LD_PRELOAD)
and then executes the provided command. The LD_PRELOAD variable instructs the loader to load an additional library in this case the xrootd preload library. Certain function calls (e.g.: open, close, read, fopen, fclose, fread, ...) are called from the preload library which if
a file is a xrootd file will subsequently use the xrootd tools to access the file. If a file is not and xrootd file the call will be redirected to the corresponding system call.
The usage is:
Code Block |
---|
xrdprel [-g] [-h] _command_ _args_ _command_ and _args_ are the user command and and its arguments -h: prints a help -g: use a virtual mountpoint, which means file names starting with /glast/ are assumed to be xrootd files. |
The xrdprel is available in part of the glast xrootd application areaclient tools:
/afs/slac.stanford.edu/g/glast/applications/xrootd/<REL>/bin
where <REL> is either PROD, DEV or TEST. Currently DEV and TEST has have the most functional preload library.
xrdprel ls -l
Would run ls against a file in xrootd.
xrdprel -g ls -l /glast/admin/mon_all.tst
This has the same effect as the previous example. The filename /glast/admin/mon_all.tst will automatically resolve to root://glast-rdr//glast/admin/mon_all.tst
xrdprel -g fverify /glast/mc/ServiceChallenge/obssim_v9r5/ft1/obssim_v9r5-000000_events_0000.fits
The -g option and /glast/... file names must be used with fitsio tools.
The main issue is loading the proper preload library. A 32 bit binary needs the 32 bit preload lib whereas a 64 bit
compilied executable needs a 64 bit version. Right now by default always the 32bit preload library is used, which will cause a failure if running on a 64 bit OS and using 64 bit applications.
...