---
name: "lfc_addreplicax"
section: "3"
platform: "linux"
package: "liblfc-dev"
version: "1.10.0-2+b3"
release: "Debian 10 (Buster)"
platforms: ["linux"]
url: "https://new.carta.tech/lfc_addreplicax"
---

# lfc\_addreplicax(3)

add a replica for a given file

## NAME

lfc\_addreplica - add a replica for a given file

## SYNOPSIS

**#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***)**

## DESCRIPTION

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

## RETURN VALUE

This routine returns 0 if the operation was successful or -1 if the operation failed. In the latter case, **serrno** is set appropriately.

## ERRORS

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

## SEE ALSO

**[Castor\_limits(4)](/Castor_limits/4.md)**, **[lfc\_delreplica(3)](/lfc_delreplica/3.md)**, **[lfc\_listreplica(3)](/lfc_listreplica/3.md)**
