RFIO: overview

RFIO (Remote File Input/Output) is a software that allows you to make inputs/outputs on non-local files. RFIO is used for access to HPSS and Xtage files. Having a powerful copy mode, it is often associated with NFS servers. RFIO was developed at CERN. It is a client/server software. The server part (rfiod) runs on the remote file server. The client part includes utilities and a C API. There is also a rfstream C++ interface and remote site transfer software: bbftp.

RFIO is an interface shqred by different mass storage systems. Currently, it supports normal remote files, HPSS and CASTOR. RFIO is interfaced with software such as OBJECTIVITY, XROOTD.

The current version, RFIO64, supports files larger than 2 GB. For more information on RFIO64, see: RFIO64 Operation. RFIO is derived from the CERN version of CASTOR with an IN2P3 3_0_0 level. You can follow the evolution of RFIO IN2P3, the current version number in: RFIO Modifications.

RFIO includes commands that can be used interactively or in script languages (shell, PERL, …).

  • rfcat: copies files on standard output or from standard intput.
  • rfchmod: modifies the file access rights.
  • rfcp: copies from one file to another.
  • rfdir: lists a directory.
  • rfmkdir: creates a directory.
  • rfrename: renames a file.
  • rfrm: deletes of a file or a directory.
  • rfstat: gives the state of a file.

For more details see: RFIO commands man pages.

The C API allows to use APIs similar to traditional C APIs to access remote files by reducing porting efforts. Thus, the C function int open (const char *, int, …) will correspond to an RFIO function int rfio_open (const char *, int, …). In addition, some C functions are redefined as rfio functions. So the open () function is redefined as rfio_open (). This makes it easier to carry applications. C interface also includes specific HPSS functions and specific RFIO functions.


CC-IN2P3 developed an RFIO interface for C++: rfstream. rfstream allows access to remote files via standard C++ file access mechanisms (RFIO becomes transparent).

See: rfstream.

RFIO includes some functions that are modeled on the Fortran input/output functions. However, these functions do not support the evolutions of RFIO, in particular the HPSS access.


Access to off-site remote files cannot be done directly by RFIO because of security, authentication, and performance issues. An adapted tool was developed in CC-IN2P3: bbftp.

See: BBFTP Home page

RFIO is in production on the following platforms:

  • Linux RH 7.2 and RH 7.3
  • RHEL 3 and SL 3 on AMD64 and I386
  • SunOS 8 and 9
  • True64 5.1 (DEC OSF1)
  • AIX 5.1

CERN has ported to other platforms (IRIX, Windows). HP_UX 10 is also supported.

At CC-IN2P3 all RFIO servers are in RFIO64: HPSS, XTAGE et NFS.

Here is the list of RFIO documentation and associated products:

  • en/rfio_presentation.txt
  • Last modified: 2017/11/21 12:07
  • by Pierre-Emmanuel BRINETTE