Man Linux: Main Page and Category List

NAME

       dpm_reservespace - reserve space

SYNOPSIS

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

       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,
       char *s_token)

DESCRIPTION

       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).

       u_token
              specifies  the  user  provided  description  associated with the
              request.  This argument may be NULL.

       ret_policy
              specifies the retention policy  requested.  It  can  be  R  (for
              REPLICA), O (for OUTPUT) or C (for CUSTODIAL).

       ac_latency
              specifies the access latency requested. It can be O (for ONLINE)
              or N (for NEARLINE).

       req_t_space
              Total space requested in bytes.

       req_g_space
              Guaranteed space requested in bytes.

       req_lifetime
              specifies the requested space lifetime (in seconds) relative  to
              the current time.

       nbgids is the size of the array of group ids req_gids.

       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.

       poolname
              If not NULL, reserves the space in that disk pool.

       The output arguments are:

       actual_s_type
              Type of reserved space.

       actual_t_space
              Total space reserved in bytes (best effort).

       actual_g_space
              Guaranteed space reserved in bytes.

       actual_lifetime
              Lifetime  of  the  reserved  space  (in seconds) relative to the
              current time.

       s_token
              Address of a buffer to receive the system allocated token.

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  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.