Motr  M0
m0_layout_plop Struct Reference

#include <plan.h>

Collaboration diagram for m0_layout_plop:
Collaboration graph

Data Fields

enum m0_layout_plop_type pl_type
 
enum m0_layout_plop_state pl_state
 
struct m0_layout_planpl_plan
 
struct target_ioreqpl_ti
 
uint64_t pl_colour
 
uint64_t pl_magix
 
struct m0_tlink pl_linkage
 
struct m0_tl pl_deps
 
struct m0_tl pl_rdeps
 
struct m0_fid pl_ent
 
int32_t pl_rc
 
const struct m0_layout_plop_opspl_ops
 

Detailed Description

Common plop structure, shared by all "sub-classes".

A call to m0_layout_plop_get() returns a structure starting with m0_layout_plop. The user should use m0_layout_plop::pl_type to determine actual sub-class.

Definition at line 355 of file plan.h.

Field Documentation

◆ pl_colour

uint64_t pl_colour

Plop colour.

The implementation assigns colours to plops to improve locality of reference. The caller can optionally map colours to processor cores via m0_locality_get() and execute plops on cores corresponding to their colours.

Definition at line 372 of file plan.h.

◆ pl_deps

struct m0_tl pl_deps

List of plops this plop depends on, linked via m0_layout_plop_rel::plr_dep_linkage.

User can use this list to track the dependencies between plops to execute and call m0_layout_plop_done() on them in the correspondent order and also to check whether there are still pending undone plops we depend on.

Definition at line 388 of file plan.h.

◆ pl_ent

struct m0_fid pl_ent

Fid of the entity this plop operates on. Meaning of this field depends on plop type.

Definition at line 398 of file plan.h.

◆ pl_linkage

struct m0_tlink pl_linkage

Linkage in the ::lp_plops list of all plops in the plan.

Definition at line 378 of file plan.h.

◆ pl_magix

uint64_t pl_magix

Plops list link magic.

Definition at line 374 of file plan.h.

◆ pl_ops

const struct m0_layout_plop_ops* pl_ops

User call-backs optionally set by the user before calling m0_layout_plop_done().

Definition at line 408 of file plan.h.

◆ pl_plan

struct m0_layout_plan* pl_plan

Plan this plop is part of.

Definition at line 361 of file plan.h.

◆ pl_rc

int32_t pl_rc

Plop execution result. This field is set by the user before calling m0_layout_plop_done().

Definition at line 403 of file plan.h.

◆ pl_rdeps

struct m0_tl pl_rdeps

List of plops that depend on this plop (dependants), linked via m0_layout_plop_rel::plr_rdep_linkage.

Definition at line 393 of file plan.h.

◆ pl_state

enum m0_layout_plop_state pl_state

Plop state.

Definition at line 359 of file plan.h.

◆ pl_ti

struct target_ioreq* pl_ti

target_ioreq this plop corresponds to.

Definition at line 363 of file plan.h.

◆ pl_type

enum m0_layout_plop_type pl_type

Plop type.

Definition at line 357 of file plan.h.


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