DPM_MODIFYPOOL

Section: DPM Library Functions (3)
Updated: $Date: 2010-02-05 10:56:02 +0100 (Fri, 05 Feb 2010) $
Index Return to Main Contents
 

NAME

dpm_modifypool - modify a disk pool definition  

SYNOPSIS

#include <sys/types.h>
#include "dpm_api.h"

int dpm_modifypool (struct dpm_pool *dpm_pool)  

DESCRIPTION

dpm_modifypool modifies a disk pool definition.
dpm_pool
contains the new 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). If set to -1, the current value is unchanged.
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. If set to -1, the current value is unchanged.
gc_stop_thresh
specifies the percentage of free space in the pool above which the garbage collector is stopped. If set to -1, the current value is unchanged.
def_lifetime
specifies the default time a space or volatile file is kept in the system (in seconds). If set to -1, the current value is unchanged.
defpintime
specifies the default time a file is kept on a given disk (in seconds). If set to -1, the current value is unchanged.
max_lifetime
specifies the maximum time a space or volatile file is kept in the system (in seconds). If set to -1, the current value is unchanged.
maxpintime
specifies the maximum time a file is kept on a given disk (in seconds). If set to -1, the current value is unchanged.
nbgids
is the size of the array of group ids gids. If set to -1, the current set is unchanged.
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). If set to 0, the current value is unchanged.
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). If set to 0, the current value is unchanged.

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

ENOENT
This pool does not exist.
EACCES
The caller does not have ADMIN privilege.
EFAULT
dpm_pool is a NULL pointer.
EINVAL
The length of poolname exceeds CA_MAXPOOLNAMELEN.
SENOSHOST
Host unknown.
SEINTERNAL
Database error.
SECOMERR
Communication error.