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.
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
|