Add a replica for a given file
#include <sys/types.h>
#include "lfc_api.h"
int lfc_addreplica (const char *guid, struct lfc_fileid *file_uniqueid, const char *server, const char *sfn, const char status, const char f_type, const char *poolname, const char *fs)
int lfc_addreplicax (const char *guid, struct lfc_fileid *file_uniqueid, const char *server, const char *sfn, const char status, const char f_type, const char *poolname, const char *fs, const char r_type, const char *setname)
lfc_addreplica adds a replica for a given file. The file can be specified by guid or by file_uniqueid. If both are given, file_uniqueid is used.
guid
specifies the Grid Unique IDentifier.
server
is either the Storage Element fully qualified hostname or the disk server.
sfn
is either the Site URL or the Physical File Name for the replica.
status
can be set to
-
file is available
P
file is being populated
D
file is being deleted.
f_type
may be one of the following:
V
Volatile
D
Durable
P
Permanent.
poolname
specifies the disk pool name (this argument is only meaningful for the Disk Pool Manager).
fs
specifies the mount point of the dedicated filesystem (this argument is only meaningful for the Disk Pool Manager).
r_type
may be one of the following:
P
Primary
S
Secondary.
setname
is either the replica set name or the space token.
This routine returns 0 if the operation was successful or -1 if the operation failed. In the latter case, serrno is set appropriately.
ENOENT
The named file does not exist.
EACCES
Search permission is denied on a component of the parent directory or the effective user ID does not match the owner of the file or read permission on the file entry itself is denied.
EFAULT
guid and file_uniqueid are NULL pointers or server or sfn is a NULL pointer.
EEXIST
The sfn exists already.
EISDIR
The file is not a regular file.
EINVAL
The length of guid exceeds CA_MAXGUIDLEN, the length of server exceeds CA_MAXHOSTNAMELEN, the length of poolname exceeds CA_MAXPOOLNAMELEN or the length of fs exceeds 79 or setname exceeds 36.
ENAMETOOLONG
The length of sfn exceeds CA_MAXSFNLEN.
SENOSHOST
Host unknown.
SENOSSERV
Service unknown.
SECOMERR
Communication error.
ENSNACT
Name server is not running or is being shutdown.