SYNOPSIS
#include <sys/types.h>#include "dpm_api.h"
int dpm_addpool (struct dpm_pool *dpm_pool)
DESCRIPTION
dpm_addpool defines a new disk pool.- dpm_pool
- contains the pool definition.
struct dpm_pool { char poolname[CA_MAXPOOLNAMELEN+1]; u_signed64 defsize; int gc_start_thresh; int gc_stop_thresh; int def_lifetime; int defpintime; int max_lifetime; int maxpintime; char fss_policy[CA_MAXPOLICYLEN+1]; char gc_policy[CA_MAXPOLICYLEN+1]; char mig_policy[CA_MAXPOLICYLEN+1]; char rs_policy[CA_MAXPOLICYLEN+1]; int nbgids; gid_t *gids; char ret_policy; char s_type; u_signed64 capacity; u_signed64 free; int nbelem; };
- poolname
- specifies the disk pool name.
- defsize
- specifies the default amount of space reserved for a file (in bytes).
- gc_start_thresh
- specifies the minimum free space in the pool. If the percentage of free space goes below this value, the garbage collector is started. Default is 0.
- gc_stop_thresh
- specifies the percentage of free space in the pool above which the garbage collector is stopped. Default is 0.
- def_lifetime
- specifies the default time a space or volatile file is kept in the system (in seconds).
- defpintime
- specifies the default time a file is kept on a given disk (in seconds).
- max_lifetime
- specifies the maximum time a space or volatile file is kept in the system (in seconds).
- maxpintime
- specifies the maximum time a file is kept on a given disk (in seconds).
- nbgids
- is the size of the array of group ids gids.
- gids
- The disk pool is restricted to this set of gids unless the group gid is zero.
- ret_policy
- specifies the retention policy supported by the disk pool. It can be R (for Replica), O (for Output) or C (for Custodial).
- s_type
- indicates the type of space supported in the disk pool. It can be V (for Volatile), D (for Durable), P (for Permanent) or - (to accept any type).
This function requires ADMIN privilege.
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
- EACCES
- The caller does not have ADMIN privilege.
- EFAULT
- dpm_pool is a NULL pointer.
- EEXIST
- This pool exists already.
- ENOMEM
- Memory could not be allocated for storing the pool definition.
- EINVAL
- The length of poolname exceeds CA_MAXPOOLNAMELEN or the number of gids is too big.
- SENOSHOST
- Host unknown.
- SEINTERNAL
- Database error.
- SECOMERR
-
Communication error.