IBP_MANAGE

Allows an IBP client to perform management operations on an existing allocation. Any client that can present the management capability defined by the key and typekey can issue any of the management commands described below. The IBP management capability is returned in the :doc:`IBP_ALLOCATE <ibp_allocate>` call when the allocation was created. If the IBP_PROBE option is provided then any capability can be used).

Modify reference count

Increase (IBP_INCR) or decrease (IBP_DECR) the provided captype, either the read(IBP_READCAP) or write(IBP_WRITECAP) capability. In the current implementation both the READ and WRITE reference counts are initialized to 1 and the allocation is deleted if the READ reference count reaches 0. The WRITE reference count is ignored. It seems a more natural deletion would occur if both the READ and WRITE reference counts reach 0.

Client Sends version IBP_MANAGE key typekey IBP_INCR|IBP_DECR captype timeout n
Server Responds status n

Modify allocation parameters

Changes one or more of the attributes of the storage area accessed through the management capability comprised of the typekey and key. The new values are specified through the parameter info (described below). The current version of IBP allows changes to one (or more) of the following attributes:

Client Sends version IBP_MANAGE key typekey IBP_CHNG captype maxSize duration reliability timeout n
Server Responds status n

Parameters

maxSize
Changes the maximum storage size of the underlying storage area. Changing the size of a storage area of type IBP_FIFO or IBP_CIRQ is currently not allowed. Decreasing maximum size of a storage area of type IBP_BYTEARRAY does not affect data already stored there, it will only affect future requests to that storage area.
duration
Changes the duration property of the storage area (see description of the IBP_ALLOCATE call for further details on the possible values and implications for this parameter.)
reliability
Modify the reliability of the allocation, either IBP_HARD or IBP_SOFT.

Probe an allocations current parameters

Checks the current state of the storage area accessed through the management capability.

Client Sends version IBP_MANAGE key typekey IBP_PROBE timeout n
Server Responds status read_refcnt write_refcnt curr_size max_size time_remaining reliability atypen

Parameters

read_refcnt
Read reference count. For new allocations this is 1.
write_refcnt
Write reference count. For new allocations this is 1.
curr_size
Current amount of data, in bytes, stored in the allocation.
max_size
Maximum allowable size, in bytes, of the allocation.
time_remaining
Time left, in seconds, before the allocation expires.
reliability
Allocation reliability, either IBP_HARD or IBP_SOFT.
atype
Type of allocation: IBP_BYTEARRAY, IBP_BUFFER, IBP_FIFO, or IBP_CIRQ.
L-Store Documentation