Daniel Engh wrote:
> 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:
> 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);
> 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:
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
hope this help,
> 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
> 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,