dpm_reservespace - reserve space
int dpm_reservespace (const char s_type, const char *u_token, const
char ret_policy, const char ac_latency, u_signed64 req_t_space,
u_signed64 req_g_space, time_t req_lifetime, int nbgids, gid_t
*req_gids, const char *poolname, char *actual_s_type, u_signed64
*actual_t_space, u_signed64 *actual_g_space, time_t *actual_lifetime,
dpm_reservespace reserves space.
The input arguments are:
s_type specifies the type of space requested. It can be V (for
Volatile), D (for Durable), P (for Permanent) or - (for any).
specifies the user provided description associated with the
request. This argument may be NULL.
specifies the retention policy requested. It can be R (for
REPLICA), O (for OUTPUT) or C (for CUSTODIAL).
specifies the access latency requested. It can be O (for ONLINE)
or N (for NEARLINE).
Total space requested in bytes.
Guaranteed space requested in bytes.
specifies the requested space lifetime (in seconds) relative to
the current time.
nbgids is the size of the array of group ids req_gids.
when zero, the space is reserved for the user if the requester
has a proxy without VOMS extension or for the group if the
requester has a proxy with VOMS extension. If not zero, the
space is reserved for this set of group ids. If the caller does
not belong to the group, it must have ADMIN privileges.
If not NULL, reserves the space in that disk pool.
The output arguments are:
Type of reserved space.
Total space reserved in bytes (best effort).
Guaranteed space reserved in bytes.
Lifetime of the reserved space (in seconds) relative to the
Address of a buffer to receive the system allocated token.
This routine returns 0 if the operation was successful or -1 if the
operation failed. In the latter case, serrno is set appropriately.
EACCES The caller does not belong to the group identified by
req_gid and does not have ADMIN privileges.
EFAULT nbgids is greater than 0 and req_gids is a NULL pointer.
EINVAL The space type is invalid or the length of the user space
token description is greater than 255, the space requested
is not a positive value, the pool name is longer than
CA_MAXPOOLNAMELEN or unknown.
SENOSHOST Host unknown.
SEINTERNAL Database error.
SECOMERR Communication error.