Disk limit commands


Data Structures

struct  _dx_limit
 Disk limit values. More...

Defines

#define CDLIM_UNSET   ((uint32_t)0UL)
#define CDLIM_INFINITY   ((uint32_t)~0UL)
#define CDLIM_KEEP   ((uint32_t)~1UL)

Typedefs

typedef _dx_limit dx_limit_t
 Disk limit values.

Functions

int dx_limit_add (xid_t xid, dx_limit_t *data)
 Add disk limit entry.
int dx_limit_remove (xid_t xid, dx_limit_t *data)
 Remove disk limit.
int dx_limit_set (xid_t xid, dx_limit_t *data)
 Set disk limit values.
int dx_limit_get (xid_t xid, dx_limit_t *data)
 Get disk limit values.


Define Documentation

#define CDLIM_UNSET   ((uint32_t)0UL)

Unset disk limit

Definition at line 517 of file vserver.h.

#define CDLIM_INFINITY   ((uint32_t)~0UL)

Infinity (no limit)

Definition at line 518 of file vserver.h.

#define CDLIM_KEEP   ((uint32_t)~1UL)

Keep current value

Definition at line 519 of file vserver.h.


Typedef Documentation

typedef struct _dx_limit dx_limit_t

Disk limit values.


Function Documentation

int dx_limit_add ( xid_t  xid,
dx_limit_t data 
)

Add disk limit entry.

Parameters:
xid Context ID
data Disk limit information

Definition at line 26 of file dlimit.c.

References _dx_limit::filename, _dx_limit::flags, and vserver().

00027 {
00028         struct vcmd_ctx_dlimit_base_v0 kdata;
00029 
00030         if (!data)
00031                 return errno = EINVAL, -1;
00032 
00033         kdata.name  = data->filename;
00034         kdata.flags = data->flags;
00035 
00036         return vserver(VCMD_add_dlimit, xid, &kdata);
00037 }

int dx_limit_remove ( xid_t  xid,
dx_limit_t data 
)

Remove disk limit.

Parameters:
xid Context ID
data Disk limit information

Definition at line 39 of file dlimit.c.

References _dx_limit::filename, and vserver().

00040 {
00041         struct vcmd_ctx_dlimit_base_v0 kdata;
00042 
00043         if (!data)
00044                 return errno = EINVAL, -1;
00045 
00046         kdata.name = data->filename;
00047 
00048         return vserver(VCMD_rem_dlimit, xid, &kdata);
00049 }

int dx_limit_set ( xid_t  xid,
dx_limit_t data 
)

Set disk limit values.

Parameters:
xid Context ID
data Disk limit values

Definition at line 51 of file dlimit.c.

References _dx_limit::filename, _dx_limit::flags, _dx_limit::inodes_total, _dx_limit::inodes_used, _dx_limit::reserved, _dx_limit::space_total, _dx_limit::space_used, and vserver().

00052 {
00053         struct vcmd_ctx_dlimit_v0 kdata;
00054 
00055         if (!data)
00056                 return errno = EINVAL, -1;
00057 
00058         kdata.name         = data->filename;
00059         kdata.space_used   = data->space_used;
00060         kdata.space_total  = data->space_total;
00061         kdata.inodes_used  = data->inodes_used;
00062         kdata.inodes_total = data->inodes_total;
00063         kdata.reserved     = data->reserved;
00064         kdata.flags        = data->flags;
00065 
00066         return vserver(VCMD_set_dlimit, xid, &kdata);
00067 }

int dx_limit_get ( xid_t  xid,
dx_limit_t data 
)

Get disk limit values.

Parameters:
xid Context ID
data Empty dx_limit_t struct to be filled

Definition at line 69 of file dlimit.c.

References _dx_limit::filename, _dx_limit::flags, _dx_limit::inodes_total, _dx_limit::inodes_used, _dx_limit::reserved, _dx_limit::space_total, _dx_limit::space_used, and vserver().

00070 {
00071         int rc;
00072         struct vcmd_ctx_dlimit_v0 kdata;
00073 
00074         if (!data)
00075                 return errno = EINVAL, -1;
00076 
00077         kdata.name = data->filename;
00078 
00079         rc = vserver(VCMD_get_dlimit, xid, &kdata);
00080 
00081         if (rc == -1)
00082                 return rc;
00083 
00084         data->space_used   = kdata.space_used;
00085         data->space_total  = kdata.space_total;
00086         data->inodes_used  = kdata.inodes_used;
00087         data->inodes_total = kdata.inodes_total;
00088         data->reserved     = kdata.reserved;
00089         data->flags        = kdata.flags;
00090 
00091         return rc;
00092 }


Generated on Wed Jun 20 19:50:09 2007 for libvserver by  doxygen 1.5.2