Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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.

Example

ls a file:

xrdprel ls -l

Would run ls against a file in xrootd.

ls a file using virtual mount point:

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

Read a fits file

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.

Issues (Important)

32/64 bit version

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.

...