Hi,
It's taken me a couple of days to track this down when trying to mount
the dCache PNFS area on my WNs and UIs to be directly accessable but it
appears that the dCache preload library has problems when you use
relative paths rather than absolute ones.
E.g:
Having mounted the pnfs area on a worker node, got myself a dteam proxy,
set:
export LD_LIBRARY_PATH=/opt/d-cache/dcap/lib/:${LD_LIBRARY_PATH}
export LD_PRELOAD=libpdcap.so
export DCACHE_IO_TUNNEL=libgsiTunnel.so
and cd'd to /pnfs/pp.rl.ac.uk/data/dteam
I can cat the contents of a file without problems
But copying a file seems to fail:
[dteam001@heplnx11 dteam]$ cp /etc/group test-file
cp: cannot fstat `test-file': No such file or directory
However, the file is actually created but it's empty:
[dteam001@heplnx11 dteam]$ ls -l test-file
-rw-r--r-- 1 dteam001 dteam 0 Feb 22 13:53 test-file
However if I use the full path everything works as expected:
[dteam001@heplnx11 dteam]$ rm test-file
[dteam001@heplnx11 dteam]$ cp /etc/group
/pnfs/pp.rl.ac.uk/data/dteam/test-file
[dteam001@heplnx11 dteam]$ tail test-file
atlas:x:24259:
cms:x:24266:
babar:x:24267:
dzero:x:24276:
lhcb:x:24289:
biomed:x:24303:
ilc:x:24306:
dteam:x:24311:
alice:x:24312:
pheno:x:24313:
Using DCACHE_DEBUG and DCACHE_DEBUG_FILE:
[dteam001@heplnx11 dteam]$ export DCACHE_DEBUG=63
[dteam001@heplnx11 dteam]$ export DCACHE_DEBUG_FILE=/tmp/dcache-dbg
[dteam001@heplnx11 dteam]$ cp /etc/group test-file
cp: cannot fstat `test-file': No such file or directory
[dteam001@heplnx11 dteam]$ export DCACHE_DEBUG=1
[dteam001@heplnx11 dteam]$ rm /pnfs/pp.rl.ac.uk/data/dteam/test-file
[dteam001@heplnx11 dteam]$ export DCACHE_DEBUG=63
[dteam001@heplnx11 dteam]$ export DCACHE_DEBUG_FILE=/tmp/dcache-dbg-2
[dteam001@heplnx11 dteam]$ cp /etc/group
/pnfs/pp.rl.ac.uk/data/dteam/test-file
[dteam001@heplnx11 dteam]$ export DCACHE_DEBUG=1
[dteam001@heplnx11 dteam]$ diff /tmp/dcache-dbg /tmp/dcache-dbg-2
...
10562c10562,10589
< Using system native stat64 for /./test-file.
---
> Using system native stat64 for
//pnfs/pp.rl.ac.uk/data/dteam/test-file.
...
It looks like the preload library is appending and extra '/' to the
start of the path which doesn't matter for an absolute path but screws
up a relative path quite seriously.
I've check this on my system and on the Tier 1 dCache with the same
results.
Owen could you enter this as a bug.
Thanks,
Chris.
|