The xrootd preload library allows standard POSIX I/O calls to xrootd servered files in stead of calls to the local file system.
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.
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 fverify /glast/admin/mon_all.tst
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.