Motr  M0
m0_stob_domain Struct Reference

#include <domain.h>

Collaboration diagram for m0_stob_domain:
Collaboration graph

Data Fields

const struct m0_stob_domain_opssd_ops
 
struct m0_stob_typesd_type
 
struct m0_fid sd_id
 
char * sd_location
 
char * sd_location_data
 
struct m0_tlink sd_domain_linkage
 
uint64_t sd_magic
 
struct m0_stob_cache sd_cache
 
void * sd_private
 

Detailed Description

Stob domain.

Description.

Stob domain is a collection of storage objects of the same type. A stob type may have multiple domains, which are linked together to its type by 'sd_domain_linkage'.

A storage domain comes with an operation to find a storage object in the domain. A domain might cache storage objects and use some kind of index to speed up object lookup. This caching and indexing are not visible at the generic level.

Maintenance of stob domain lifetime is responsibility of user.

Domain fid has the following structure:

      8 bits                            120 bits

+-------------------—+-------------------------------------------—+ | stob domain type id | stob domain key | +-------------------—+-------------------------------------------—+

Stob cache.

Stob domain doesn't contain list of initialised stobs. Instead, it has a stob cache. This cache is maintained implicitly and there is no public interface for it.

A stob may be finalised and removed from stob cache at some time after reference count is set to 0. This semantics is hidden.

Stob domain location

Location is a string that has the next format:

* location ::= <type name> ":" <implementation dependent location data>
* 

Consequently, stob type name parameter is omitted in m0_stob_domain_{init,create}().

Definition at line 93 of file domain.h.

Field Documentation

◆ sd_cache

struct m0_stob_cache sd_cache

Definition at line 103 of file domain.h.

◆ sd_domain_linkage

struct m0_tlink sd_domain_linkage

Linkage into m0_stob_type::st_domains list

Definition at line 100 of file domain.h.

◆ sd_id

struct m0_fid sd_id

Definition at line 96 of file domain.h.

◆ sd_location

char* sd_location

Definition at line 97 of file domain.h.

◆ sd_location_data

char* sd_location_data

Definition at line 98 of file domain.h.

◆ sd_magic

uint64_t sd_magic

Magic for sd_domain_linkage

Definition at line 102 of file domain.h.

◆ sd_ops

const struct m0_stob_domain_ops* sd_ops

Definition at line 94 of file domain.h.

◆ sd_private

void* sd_private

Private data of stob domain implementation

Definition at line 105 of file domain.h.

◆ sd_type

struct m0_stob_type* sd_type

Definition at line 95 of file domain.h.


The documentation for this struct was generated from the following file: