You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

The xrootd preload library

The xrootd preload library allows standard POSIX I/O calls to xrootd servered files in stead of calls to the local file system.

Using the preload library

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 usage is:

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 the glast xrootd application area:

/afs/slac.stanford.edu/g/glast/applications/xrootd/<REL>/bin

where <REL> is either PROD or TEST. Currently TEST has 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

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.

Reading fits files

The cfitsio package works with the xrootd preload library. How ever, cfitsio decides how to access files depending on there prefix. Files starting with root:// will be open with the rootd (not xrootd) protocol which is not supported by the GLAST xrootd. Therefore, the file names as obtained by the data catalog, have to be stripped of the rootd://glast-rdr/ prefix and the -g option must be used for xrdprel:

xrdprel -g fverify /glast/mc/ServiceChallenge/obssim_v9r5/ft1/obssim_v9r5-000000_events_0000.fits

  • No labels