Motr  M0
m0_sns_cm_file_ctx Struct Reference

#include <file.h>

Collaboration diagram for m0_sns_cm_file_ctx:
Collaboration graph

Data Fields

uint64_t sf_magic
 
struct m0_file sf_file
 
struct m0_fid sf_fid
 
struct m0_cob_attr sf_attr
 
uint64_t sf_max_group
 
struct m0_poolmachsf_pm
 
struct m0_pooldevsf_pd
 
struct m0_layoutsf_layout
 
struct m0_pdclust_instancesf_pi
 
struct m0_mutex sf_lock
 
struct m0_hlink sf_sc_link
 
struct m0_rm_owner sf_owner
 
struct m0_rm_remote sf_creditor
 
struct m0_rm_incoming sf_rin
 
struct m0_sns_cmsf_scm
 
uint64_t sf_ag_nr
 
struct m0_ref sf_ref
 
struct m0_sm sf_sm
 
struct m0_sm_groupsf_group
 
struct m0_sm_ast sf_attr_ast
 
struct m0_sm_ast sf_fini_ast
 
struct m0_clink sf_fini_clink
 
uint64_t sf_nr_ios_visited
 
int sf_rc
 

Detailed Description

Holds the rm file lock context of a file that is being repaired/rebalanced.

Todo:
Use the same object to hold layout context.

Definition at line 51 of file file.h.

Field Documentation

◆ sf_ag_nr

uint64_t sf_ag_nr

Count of aggregation groups that would be processed for this fid. When all the aggregagtion groups have been processed, the file lock can be released.

Definition at line 101 of file file.h.

◆ sf_attr

struct m0_cob_attr sf_attr

Definition at line 65 of file file.h.

◆ sf_attr_ast

struct m0_sm_ast sf_attr_ast

Definition at line 116 of file file.h.

◆ sf_creditor

struct m0_rm_remote sf_creditor

Remote portal for requesting resource from creditor.

Definition at line 88 of file file.h.

◆ sf_fid

struct m0_fid sf_fid

The global file identifier for this file. This would be used as a "key" to the m0_sns_cm::sc_file_ctx and hence cannot be a pointer.

Definition at line 63 of file file.h.

◆ sf_file

struct m0_file sf_file

Resource manager file lock for this file.

Definition at line 56 of file file.h.

◆ sf_fini_ast

struct m0_sm_ast sf_fini_ast

Definition at line 118 of file file.h.

◆ sf_fini_clink

struct m0_clink sf_fini_clink

Definition at line 120 of file file.h.

◆ sf_group

struct m0_sm_group* sf_group

Definition at line 114 of file file.h.

◆ sf_layout

struct m0_layout* sf_layout

Definition at line 74 of file file.h.

◆ sf_lock

struct m0_mutex sf_lock

Definition at line 79 of file file.h.

◆ sf_magic

uint64_t sf_magic

Holds M0_SNS_CM_FILE_CTX_MAGIC.

Definition at line 53 of file file.h.

◆ sf_max_group

uint64_t sf_max_group

Definition at line 67 of file file.h.

◆ sf_nr_ios_visited

uint64_t sf_nr_ios_visited

Index of the ioservice last visited to get file attributes.

Definition at line 123 of file file.h.

◆ sf_owner

struct m0_rm_owner sf_owner

An owner for maintaining this file's lock.

Definition at line 85 of file file.h.

◆ sf_pd

struct m0_pooldev* sf_pd

Definition at line 72 of file file.h.

◆ sf_pi

struct m0_pdclust_instance* sf_pi

pdclust instance for a particular GOB.

Definition at line 77 of file file.h.

◆ sf_pm

struct m0_poolmach* sf_pm

Poolmach for this file.

Definition at line 70 of file file.h.

◆ sf_rc

int sf_rc

Definition at line 124 of file file.h.

◆ sf_ref

struct m0_ref sf_ref

Holds the reference count for this object. The reference is incremented explicitly every time the file lock is acquired. The reference is decremented by calling m0_sns_cm_file_unlock(). The m0_sns_cm_file_ctx object is freed (and file is unlocked) whenever the reference count equals zero.

Definition at line 110 of file file.h.

◆ sf_rin

struct m0_rm_incoming sf_rin

Request to borrow resource (file lock) from creditor.

Definition at line 91 of file file.h.

◆ sf_sc_link

struct m0_hlink sf_sc_link

Linkage into m0_sns_cm::sc_file_ctx.

Definition at line 82 of file file.h.

◆ sf_scm

struct m0_sns_cm* sf_scm

Back pointer to the sns copy machine.

Definition at line 94 of file file.h.

◆ sf_sm

struct m0_sm sf_sm

Definition at line 112 of file file.h.


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