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 or the number of gids is too big.

SENOSHOST

Host unknown.

SEINTERNAL

Database error.

SECOMERR

Communication error.