Personal tools
You are here: Home Sourceforge ufal Introduction

Introduction

ufal_logo      Uniform File Access Library

UFAL is one programming tool to support muliple file access protocols, such as xrootd, rfio, shared file systems (Lustre, AFS, etc)

The format of one file can be:

(1) xrootd files, eg.

    root://cdev02//tmp/f1

(2) rfio files, eg.

    cdev02://tmp/f1

(3) local files, eg.

    /tmp/f1

(4) Network file systems like local FS, eg, Lustre, AFS and so on.

 

The format doesn't decide the actual protocal which is used while data is transferred. UFAL will firstly try to use local protocol if the shared FS is found, instead of xrootd or rfio format. The shared FS is defined in an enviornment variable "UFAL_NETFS", for example: UFAL_NETFS="/besfs /afs". All the shared file systems should listed in this variable. Secondly, UFAL always try to use xrootd to access one file.

For example:

(1) root://cdev02//besfs/f1 will be accessed via local, it is consided as /besfs/f1

(2) cdev02:/tmp/f1 will be accessed via xrootd if possible

(3) cdev02:/afs/ihep.ac.cn/f1 will be access via AFS

 

Author:

Yaodong Cheng (Yaodong.Cheng@ihep.ac.cn)

IHEP (the Institute of High Energy of Physics, Chinese Academy of Sciences)

19B YuQuan Rd. Shijingshan District, Beijing

P.O 918-7 Beijing 100049

 

Programming with ufal

For example

gcc -o ufcat ufcat.c -I/opt/ufal/include -lufal -L/opt/ufal/lib -I/usr/include/shift -D_LARGEFILE64_SOURCE

 

 

Document Actions