Hi, what JY says is correct, the only thing I want to add is that, since you are writing C/C++ code (it seems) you may directly use xrdclient, avoiding the posix wrappers which are built on it. Just have a look at XrdClient.hh for the public interface. Fabrizio Jean-Yves Nief wrote: > hello Dan, > > Daniel Engh wrote: >> Hi, >> >> I am from Vanderbilt University trying to hook up the >> Vanderbilt/UT-Knoxville L-Store/IBP storage backend to xrootd. >> >> basically IBP is a bit-torrent like distributed data-storage system, >> LORS adds some file-system functionality analogous to inodes, and the >> new Vanderbilt L-Store is an SRM complient meta-data layer on top of IBP. >> >> I have been playing with the latest development version of xrootd >> downloadable from the web: >> xrootd-20060523-1741.src.tgz >> >> I initially want to do a very simple file streaming test of a root >> file on ibp. I'm not an expert on posix i/o but I think I need only >> use my posix-complient methods: >> int fd = xio_open(my_uri, O_RDONLY); >> and >> xio_read(fd, buffer, bufsize) >> >> I need then 2 things from xrootd: >> 1. location of the posix i/o calls I should modify >> ie. where is an xrootd posix open() call I can replace with xio_open() >> ie. and then and xrootd posix read() call I can replace with xio_read() >> 2. how do I launch xrootd to use my modified xrootd module >> 3. how do I use root to call this xrootd/ibp streamed file. >> >> I've tested my lors/ibp libs with a simple c++ Hello IBP-world program. >> And I can compile IBP libs into xrootd and get things like an xrootd >> init() call >> to call xio_open() xio_read() and print out a hello-ibp message. > on the client side, the Xrootd POSIX functions are for example: > XrdPosix_Open, XrdPosix_Lseek, XrdPosix_Read etc... > don't forget to include: > XrdPosix/XrdPosix.hh > you might take a look at the XrdPosix package in any case (README, > etc...). You will find instructions on how to build the file URL in > order to open it through xrootd, compile etc... If you wish, I can send > you some sample code to use the posix clients + the make file. > one other possibility (providing you are using the regular unix calls: > open, read, write, but that is not your case at the moment) is to use > the preload library. In that case, you can talk to a xrootd server > without changing any single line of code (and without recompiling): the > unix calls are redirected to the xrootd calls. It is a pretty nice > feature, we have an experiment which is using it here (it has some > little disadvantages). > hope this help, > JY >> >> Now I just need the correct place in xrootd to put in my ibp io commands. >> >> Eventually I'd like to make xrootd recognize a couple of protocols named: >> lors:// and lstore:// but for now I can masquerade as some other >> protocol >> and just set up an xrootd service that is hard-coded to only look into >> its IBP setup. >> >> thanks for any suggestions on how to get the latest code and trying >> some things out, >> Dan >>