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

# dpm\_modifypool(3)

modify a disk pool definition

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

- **SENOSHOST**

  Host unknown.

- **SEINTERNAL**

  Database error.

- **SECOMERR**

  Communication error.
