A data backend to provide Clovis compatibility.
More...
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <esdm-debug.h>
#include <esdm.h>
#include <esdm-datatypes-internal.h>
#include "clovis/clovis.h"
#include "clovis/clovis_internal.h"
#include "clovis_internal.h"
|
#define | VERBOSE_DEBUG |
|
#define | DEBUG(fmt) printf(fmt) |
|
#define | DEBUG_FMT(fmt, ...) printf(fmt, __VA_ARGS__) |
|
#define | DEBUG_ENTER printf(">>>Entering %s:%d\n", __func__, __LINE__) |
|
#define | DEBUG_LEAVE(rc) printf("<<<Leaving %s:%d:rc=%d\n", __func__, __LINE__, (rc)) |
|
#define | PAGE_4K (4096ULL) |
|
#define | BLOCKSIZE (PAGE_4K) |
|
#define | BLOCKMASK (BLOCKSIZE - 1) |
|
|
struct m0_fid | index_cdname_to_object |
|
struct m0_fid | index_object_last_pos |
|
struct m0_idx_dix_config | dix_conf = {.kc_create_meta = false } |
|
esdm_backend_t_clovis_t | esdm_backend_t_clovis |
|
A data backend to provide Clovis compatibility.
◆ clovis_backend_init()
Initializes the CLOVIS plugin. In particular this involves:
- Load configuration of this backend
- Load and potenitally calibrate performance model
- Connect with support services e.g. for technical metadata
- Setup directory structures used by this CLOVIS specific backend
- Poopulate esdm_backend_t struct and callbacks required for registration
- Returns
- pointer to backend struct
◆ laddr_get()
@TODO: Please note, if multiple apps are running from the same node, different local addresses are required.
◆ index_cdname_to_object
struct m0_fid index_cdname_to_object |
Initial value:=
M0_FID_TINIT('x', 0x1ULL, 0x1234567812345678ULL)
◆ index_object_last_pos
struct m0_fid index_object_last_pos |
Initial value:=
M0_FID_TINIT('x', 0x1ULL, 0x8765432187654321ULL)