Motr  M0
super.c File Reference
#include "lib/trace.h"
#include <linux/kernel.h>
#include <linux/mount.h>
#include <linux/parser.h>
#include <linux/slab.h>
#include <linux/statfs.h>
#include "m0t1fs/linux_kernel/m0t1fs.h"
#include "m0t1fs/linux_kernel/fsync.h"
#include "motr/magic.h"
#include "lib/finject.h"
#include "lib/misc.h"
#include "lib/memory.h"
#include "conf/confc.h"
#include "conf/helpers.h"
#include "conf/cache.h"
#include "rpc/rpclib.h"
#include "lib/uuid.h"
#include "net/lnet/lnet.h"
#include "rpc/rpc_internal.h"
#include "net/lnet/lnet_core_types.h"
#include "rm/rm_service.h"
#include "reqh/reqh_service.h"
#include "reqh/reqh.h"
#include "addb2/global.h"
#include "addb2/sys.h"
#include "module/instance.h"
#include "balloc/balloc.h"
#include "motr/ha.h"
#include "conf/ha.h"
Include dependency graph for super.c:

Go to the source code of this file.

Data Structures

struct  mount_opts
 

Macros

#define M0_TRACE_SUBSYSTEM   M0_TRACE_SUBSYS_M0T1FS
 
#define M0T1FS_NAME_LEN   256
 

Enumerations

enum  m0t1fs_mntopts {
  M0T1FS_MNTOPT_CONFD, M0T1FS_MNTOPT_PROFILE, M0T1FS_MNTOPT_PROCESS_FID, M0T1FS_MNTOPT_FID_START,
  M0T1FS_MNTOPT_EP, M0T1FS_MNTOPT_OOSTORE, M0T1FS_MNTOPT_VERIFY, M0T1FS_MNTOPT_ERR
}
 

Functions

 module_param (local_addr, charp, S_IRUGO)
 
 MODULE_PARM_DESC (local_addr, "End-point address of m0t1fs " "e.g. 172.18.50.40@o2ib1:12345:34:\ "the tmid will be generated and filled by every mount")
 
 module_param (tm_recv_queue_min_len, int, S_IRUGO)
 
 MODULE_PARM_DESC (tm_recv_queue_min_len, "TM receive queue minimum length")
 
 module_param (max_rpc_msg_size, int, S_IRUGO)
 
 MODULE_PARM_DESC (max_rpc_msg_size, "Maximum RPC message size")
 
 module_param (addb2_net_disable, int, S_IRUGO)
 
 MODULE_PARM_DESC (addb2_net_disable, "Disable addb2 records network submit")
 
M0_INTERNAL void io_bob_tlists_init (void)
 
static int m0t1fs_statfs (struct dentry *dentry, struct kstatfs *buf)
 
static void inodes_layout_ref_drop (struct m0t1fs_sb *csb)
 
static bool m0t1fs_conf_ready_async_cb (struct m0_clink *clink)
 
static void conf_ready_async_cb_locked (struct m0t1fs_sb *csb)
 
 M0_TL_DESCR_DEFINE (csb_inodes, "m0t1fs_inode anchored in m0t1fs_sb", M0_INTERNAL, struct m0t1fs_inode, ci_sb_linkage, ci_magic, M0_T1FS_INODE_MAGIC, M0_T1FS_INODE_HEAD_MAGIC)
 
 M0_TL_DEFINE (csb_inodes, M0_INTERNAL, struct m0t1fs_inode)
 
M0_INTERNAL void m0t1fs_fs_lock (struct m0t1fs_sb *csb)
 
M0_INTERNAL void m0t1fs_fs_unlock (struct m0t1fs_sb *csb)
 
M0_INTERNAL bool m0t1fs_fs_is_locked (const struct m0t1fs_sb *csb)
 
M0_INTERNAL struct m0_rpc_sessionm0t1fs_filename_to_mds_session (const struct m0t1fs_sb *csb, const unsigned char *filename, unsigned int nlen, bool use_hint, uint32_t hash_hint)
 
M0_INTERNAL struct m0_rpc_sessionm0t1fs_container_id_to_session (const struct m0_pool_version *pver, uint64_t container_id)
 
static int _fs_stats_fetch (struct m0t1fs_sb *csb, struct m0_fs_stats *stats)
 
static void mount_opts_fini (struct mount_opts *mops)
 
static int str_parse (char **dest, const substring_t *src)
 
static int num_parse (uint32_t *dest, const substring_t *src)
 
static bool is_empty (const char *s)
 
static int mount_opts_validate (const struct mount_opts *mops)
 
static int mount_opts_parse (struct m0t1fs_sb *csb, char *options, struct mount_opts *dest)
 
static void ast_thread (struct m0t1fs_sb *csb)
 
static void ast_thread_stop (struct m0t1fs_sb *csb)
 
static void m0t1fs_obf_dealloc (struct m0t1fs_sb *csb)
 
M0_INTERNAL void m0t1fs_sb_init (struct m0t1fs_sb *csb)
 
M0_INTERNAL void m0t1fs_sb_fini (struct m0t1fs_sb *csb)
 
static void m0t1fs_ha_process_event (struct m0t1fs_sb *csb, enum m0_conf_ha_process_event event)
 
int m0t1fs_ha_init (struct m0t1fs_sb *csb, const char *ha_addr)
 
void m0t1fs_ha_fini (struct m0t1fs_sb *csb)
 
static int m0t1fs_sb_mdpool_layouts_init (struct m0t1fs_sb *csb)
 
static void m0t1fs_sb_layouts_fini (struct m0t1fs_sb *csb)
 
void m0t1fs_rm_service_quit (struct m0t1fs_sb *csb)
 
int m0t1fs_rm_service_start (struct m0t1fs_sb *csb)
 
int m0t1fs_net_init (struct m0t1fs_sb *csb, const char *ep)
 
void m0t1fs_net_fini (struct m0t1fs_sb *csb)
 
int m0t1fs_rpc_init (struct m0t1fs_sb *csb, const char *ep)
 
struct m0t1fs_sb * reqh2sb (struct m0_reqh *reqh)
 
static struct m0t1fs_sb * rconfc2csb (struct m0_rconfc *rconfc)
 
M0_INTERNAL struct m0_rconfcm0_csb2rconfc (struct m0t1fs_sb *csb)
 
M0_INTERNAL struct m0_confcm0_csb2confc (struct m0t1fs_sb *csb)
 
void m0t1fs_rpc_fini (struct m0t1fs_sb *csb)
 
M0_INTERNAL int m0t1fs_ref_get_lock (struct m0t1fs_sb *csb)
 
M0_INTERNAL void m0t1fs_ref_put_lock (struct m0t1fs_sb *csb)
 
static bool m0t1fs_conf_expired_cb (struct m0_clink *clink)
 
static bool m0t1fs_conf_ready_cb (struct m0_clink *clink)
 
static void m0t1fs_rconfc_fatal_cb (struct m0_rconfc *rconfc)
 
static int m0t1fs_fid_sscanf (const char *s, struct m0_fid *fid, const char *descr)
 
int m0t1fs_setup (struct m0t1fs_sb *csb, const struct mount_opts *mops)
 
static void m0t1fs_teardown (struct m0t1fs_sb *csb)
 
static void m0t1fs_dput (struct dentry *dentry)
 
M0_INTERNAL int m0t1fs_fill_cob_attr (struct m0_fop_cob *body)
 
static int m0t1fs_obf_alloc (struct super_block *sb)
 
static void service_connect_wait (struct m0t1fs_sb *csb)
 
static int m0t1fs_root_alloc (struct super_block *sb)
 
static int m0t1fs_fill_super (struct super_block *sb, void *data, int silent __attribute__((unused)))
 
M0_INTERNAL struct dentrym0t1fs_mount (struct file_system_type *fstype, int flags, const char *devname, void *data)
 
M0_INTERNAL void m0t1fs_kill_sb (struct super_block *sb)
 

Variables

struct io_mem_stats iommstats
 
struct m0_bitmap m0t1fs_client_ep_tmid
 
struct m0_mutex m0t1fs_mutex
 
static char * local_addr = "0@lo:12345:45:"
 
M0_INTERNAL const struct m0_fid M0_ROOT_FID
 
static uint32_t tm_recv_queue_min_len = M0_NET_TM_RECV_QUEUE_DEF_LEN
 
static uint32_t max_rpc_msg_size = M0_RPC_DEF_MAX_RPC_MSG_SIZE
 
static int addb2_net_disable = 0
 
static const struct super_operations m0t1fs_super_operations
 
static const match_table_t m0t1fs_mntopt_tokens
 

Macro Definition Documentation

◆ M0_TRACE_SUBSYSTEM

#define M0_TRACE_SUBSYSTEM   M0_TRACE_SUBSYS_M0T1FS

Definition at line 22 of file super.c.

◆ M0T1FS_NAME_LEN

#define M0T1FS_NAME_LEN   256

Definition at line 65 of file super.c.

Enumeration Type Documentation

◆ m0t1fs_mntopts

Enumerator
M0T1FS_MNTOPT_CONFD 
M0T1FS_MNTOPT_PROFILE 
M0T1FS_MNTOPT_PROCESS_FID 
M0T1FS_MNTOPT_FID_START 
M0T1FS_MNTOPT_EP 
M0T1FS_MNTOPT_OOSTORE 
M0T1FS_MNTOPT_VERIFY 
M0T1FS_MNTOPT_ERR 

Definition at line 249 of file super.c.

Function Documentation

◆ _fs_stats_fetch()

static int _fs_stats_fetch ( struct m0t1fs_sb *  csb,
struct m0_fs_stats stats 
)
static

Definition at line 185 of file super.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ast_thread()

static void ast_thread ( struct m0t1fs_sb *  csb)
static

Definition at line 1453 of file super.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ast_thread_stop()

static void ast_thread_stop ( struct m0t1fs_sb *  csb)
static

Definition at line 1468 of file super.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ conf_ready_async_cb_locked()

static void conf_ready_async_cb_locked ( struct m0t1fs_sb *  csb)
static

Definition at line 833 of file super.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ inodes_layout_ref_drop()

static void inodes_layout_ref_drop ( struct m0t1fs_sb *  csb)
static

Definition at line 796 of file super.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ io_bob_tlists_init()

M0_INTERNAL void io_bob_tlists_init ( void  )

Definition at line 790 of file file.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ is_empty()

static bool is_empty ( const char *  s)
static

Definition at line 315 of file super.c.

Here is the caller graph for this function:

◆ m0_csb2confc()

M0_INTERNAL struct m0_confc* m0_csb2confc ( struct m0t1fs_sb *  csb)

Definition at line 698 of file super.c.

Here is the call graph for this function:

◆ m0_csb2rconfc()

M0_INTERNAL struct m0_rconfc* m0_csb2rconfc ( struct m0t1fs_sb *  csb)

Definition at line 693 of file super.c.

Here is the caller graph for this function:

◆ M0_TL_DEFINE()

M0_TL_DEFINE ( csb_inodes  ,
M0_INTERNAL  ,
struct m0t1fs_inode   
)

◆ M0_TL_DESCR_DEFINE()

M0_TL_DESCR_DEFINE ( csb_inodes  ,
"m0t1fs_inode anchored in m0t1fs_sb"  ,
M0_INTERNAL  ,
struct m0t1fs_inode  ,
ci_sb_linkage  ,
ci_magic  ,
M0_T1FS_INODE_MAGIC  ,
M0_T1FS_INODE_HEAD_MAGIC   
)

◆ m0t1fs_conf_expired_cb()

static bool m0t1fs_conf_expired_cb ( struct m0_clink clink)
static

Definition at line 759 of file super.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ m0t1fs_conf_ready_async_cb()

static bool m0t1fs_conf_ready_async_cb ( struct m0_clink clink)
static

Definition at line 817 of file super.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ m0t1fs_conf_ready_cb()

static bool m0t1fs_conf_ready_cb ( struct m0_clink clink)
static

When configuration is revoked, m0t1fs_sb::csb_confc_state changes to M0_CC_REVOKED. Subsequent io requests do not update m0t1fs_sb::csb_reqs_nr, and instead wait on m0t1fs_sb::csb_conf_ready_chan, till m0t1fs_sb returns to M0_CC_READY. Any io request that is not waiting and has registered its presence by incrementing m0t1fs_sb::csb_reqs_nr is called as an active request. An active request continues with its usual flow of operations even when state of m0t1fs_sb changes to M0_CC_REVOKED.

When new configuration becomes available, in-memory representations of stale pool versions need to be removed. In order to do this it is necessary to ensure that there are no active requests, since they are the potential users of these pool versions.

On availability of the new configuration the callback works in two phases. Callback that's triggered on m0_reqh::rh_conf_cache_ready channel changes the state of m0t1fs_sb to M0_CC_GETTING_READY. When a callback on m0_reqh::rh_conf_cache_ready_async is triggered, it checks if any active requests are present and cleans the stale pool versions in case there are no active requests. When an active request is present this callback returns without removing stale pool versions. In this case the last active request clears the stale pool versions before leaving.

The process of clearing stale pool versions also involves removal of layouts associated with them from the layout domain, and updating the state of m0t1fs_sb to M0_CC_READY, before signalling the requests waiting on m0t1fs_sb::csb_conf_ready_chan.

Definition at line 880 of file super.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ m0t1fs_container_id_to_session()

M0_INTERNAL struct m0_rpc_session* m0t1fs_container_id_to_session ( const struct m0_pool_version pver,
uint64_t  container_id 
)

Mapping from container_id to ios session. container_id 0 is not valid.

Definition at line 166 of file super.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ m0t1fs_dput()

static void m0t1fs_dput ( struct dentry dentry)
static

Definition at line 1092 of file super.c.

Here is the caller graph for this function:

◆ m0t1fs_fid_sscanf()

static int m0t1fs_fid_sscanf ( const char *  s,
struct m0_fid fid,
const char *  descr 
)
static

Definition at line 901 of file super.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ m0t1fs_filename_to_mds_session()

M0_INTERNAL struct m0_rpc_session* m0t1fs_filename_to_mds_session ( const struct m0t1fs_sb *  csb,
const unsigned char *  filename,
unsigned int  nlen,
bool  use_hint,
uint32_t  hash_hint 
)

If use_hint is true, use hash_hint as final hash. This is used to get specified mdservice. For example, readdir() wants to get session for specified mds index.

Definition at line 130 of file super.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ m0t1fs_fill_cob_attr()

M0_INTERNAL int m0t1fs_fill_cob_attr ( struct m0_fop_cob body)

Definition at line 1120 of file super.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ m0t1fs_fill_super()

static int m0t1fs_fill_super ( struct super_block sb,
void *  data,
int silent   __attribute__(unused) 
)
static

Definition at line 1271 of file super.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ m0t1fs_fs_is_locked()

M0_INTERNAL bool m0t1fs_fs_is_locked ( const struct m0t1fs_sb *  csb)

Definition at line 119 of file super.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ m0t1fs_fs_lock()

M0_INTERNAL void m0t1fs_fs_lock ( struct m0t1fs_sb *  csb)

Definition at line 105 of file super.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ m0t1fs_fs_unlock()

M0_INTERNAL void m0t1fs_fs_unlock ( struct m0t1fs_sb *  csb)

Definition at line 112 of file super.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ m0t1fs_ha_fini()

void m0t1fs_ha_fini ( struct m0t1fs_sb *  csb)

Clears global HA session info and terminates rpc session to HA service.

Definition at line 507 of file super.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ m0t1fs_ha_init()

int m0t1fs_ha_init ( struct m0t1fs_sb *  csb,
const char *  ha_addr 
)

Establishes rpc session to HA service. The session is set up to be used globally.

Definition at line 478 of file super.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ m0t1fs_ha_process_event()

static void m0t1fs_ha_process_event ( struct m0t1fs_sb *  csb,
enum m0_conf_ha_process_event  event 
)
static

Definition at line 465 of file super.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ m0t1fs_kill_sb()

M0_INTERNAL void m0t1fs_kill_sb ( struct super_block sb)

Implementation of file_system_type::kill_sb() interface.

Definition at line 1392 of file super.c.

Here is the call graph for this function:

◆ m0t1fs_mount()

M0_INTERNAL struct dentry* m0t1fs_mount ( struct file_system_type *  fstype,
int  flags,
const char *  devname,
void *  data 
)

Implementation of file_system_type::get_sb() interface.

Definition at line 1372 of file super.c.

Here is the call graph for this function:

◆ m0t1fs_net_fini()

void m0t1fs_net_fini ( struct m0t1fs_sb *  csb)

Definition at line 618 of file super.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ m0t1fs_net_init()

int m0t1fs_net_init ( struct m0t1fs_sb *  csb,
const char *  ep 
)

Definition at line 573 of file super.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ m0t1fs_obf_alloc()

static int m0t1fs_obf_alloc ( struct super_block sb)
static

Definition at line 1144 of file super.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ m0t1fs_obf_dealloc()

static void m0t1fs_obf_dealloc ( struct m0t1fs_sb *  csb)
static

Definition at line 1103 of file super.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ m0t1fs_rconfc_fatal_cb()

static void m0t1fs_rconfc_fatal_cb ( struct m0_rconfc rconfc)
static

Definition at line 889 of file super.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ m0t1fs_ref_get_lock()

M0_INTERNAL int m0t1fs_ref_get_lock ( struct m0t1fs_sb *  csb)

Definition at line 722 of file super.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ m0t1fs_ref_put_lock()

M0_INTERNAL void m0t1fs_ref_put_lock ( struct m0t1fs_sb *  csb)

Definition at line 749 of file super.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ m0t1fs_rm_service_quit()

void m0t1fs_rm_service_quit ( struct m0t1fs_sb *  csb)

Definition at line 537 of file super.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ m0t1fs_rm_service_start()

int m0t1fs_rm_service_start ( struct m0t1fs_sb *  csb)

Definition at line 542 of file super.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ m0t1fs_root_alloc()

static int m0t1fs_root_alloc ( struct super_block sb)
static

Definition at line 1222 of file super.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ m0t1fs_rpc_fini()

void m0t1fs_rpc_fini ( struct m0t1fs_sb *  csb)

Definition at line 703 of file super.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ m0t1fs_rpc_init()

int m0t1fs_rpc_init ( struct m0t1fs_sb *  csb,
const char *  ep 
)

Definition at line 631 of file super.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ m0t1fs_sb_fini()

M0_INTERNAL void m0t1fs_sb_fini ( struct m0t1fs_sb *  csb)

Definition at line 445 of file super.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ m0t1fs_sb_init()

M0_INTERNAL void m0t1fs_sb_init ( struct m0t1fs_sb *  csb)

Definition at line 423 of file super.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ m0t1fs_sb_layouts_fini()

static void m0t1fs_sb_layouts_fini ( struct m0t1fs_sb *  csb)
static

Definition at line 530 of file super.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ m0t1fs_sb_mdpool_layouts_init()

static int m0t1fs_sb_mdpool_layouts_init ( struct m0t1fs_sb *  csb)
static

Definition at line 524 of file super.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ m0t1fs_setup()

int m0t1fs_setup ( struct m0t1fs_sb *  csb,
const struct mount_opts mops 
)

Definition at line 912 of file super.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ m0t1fs_statfs()

static int m0t1fs_statfs ( struct dentry dentry,
struct kstatfs *  buf 
)
static
Todo:
According to stob_ad_domain_cfg_create_parse(), current block size forcibly defaulted by BALLOC_DEF_BLOCK_SHIFT value. Need to understand if it's ever going to be any different in future, and if so, whether it's worth to be exposed to fs client. Besides, what if the balloc setup is going to vary among segments/pools/etc.?

Definition at line 198 of file super.c.

Here is the call graph for this function:

◆ m0t1fs_teardown()

static void m0t1fs_teardown ( struct m0t1fs_sb *  csb)
static

Definition at line 1063 of file super.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ module_param() [1/4]

module_param ( local_addr  ,
charp  ,
S_IRUGO   
)

◆ module_param() [2/4]

module_param ( tm_recv_queue_min_len  ,
int  ,
S_IRUGO   
)

◆ module_param() [3/4]

module_param ( max_rpc_msg_size  ,
int  ,
S_IRUGO   
)

◆ module_param() [4/4]

module_param ( addb2_net_disable  ,
int  ,
S_IRUGO   
)

◆ MODULE_PARM_DESC() [1/4]

MODULE_PARM_DESC ( local_addr  ,
"End-point address of m0t1fs " "e.g. 172.18.50.40@o2ib1:12345:34:\the tmid will be generated and filled by every mount"   
)

◆ MODULE_PARM_DESC() [2/4]

MODULE_PARM_DESC ( tm_recv_queue_min_len  ,
"TM receive queue minimum length"   
)

◆ MODULE_PARM_DESC() [3/4]

MODULE_PARM_DESC ( max_rpc_msg_size  ,
"Maximum RPC message size  
)

◆ MODULE_PARM_DESC() [4/4]

MODULE_PARM_DESC ( addb2_net_disable  ,
"Disable addb2 records network submit  
)

◆ mount_opts_fini()

static void mount_opts_fini ( struct mount_opts mops)
static

Definition at line 272 of file super.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mount_opts_parse()

static int mount_opts_parse ( struct m0t1fs_sb *  csb,
char *  options,
struct mount_opts dest 
)
static

Definition at line 339 of file super.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mount_opts_validate()

static int mount_opts_validate ( const struct mount_opts mops)
static

Definition at line 320 of file super.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ num_parse()

static int num_parse ( uint32_t *  dest,
const substring_t *  src 
)
static

Definition at line 293 of file super.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rconfc2csb()

static struct m0t1fs_sb* rconfc2csb ( struct m0_rconfc rconfc)
static

Definition at line 688 of file super.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ reqh2sb()

struct m0t1fs_sb* reqh2sb ( struct m0_reqh reqh)

Definition at line 683 of file super.c.

Here is the caller graph for this function:

◆ service_connect_wait()

static void service_connect_wait ( struct m0t1fs_sb *  csb)
static

Definition at line 1206 of file super.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ str_parse()

static int str_parse ( char **  dest,
const substring_t *  src 
)
static

Definition at line 287 of file super.c.

Here is the caller graph for this function:

Variable Documentation

◆ addb2_net_disable

int addb2_net_disable = 0
static

Definition at line 80 of file super.c.

◆ iommstats

struct io_mem_stats iommstats

Definition at line 322 of file file.c.

◆ local_addr

char* local_addr = "0@lo:12345:45:"
static

Definition at line 59 of file super.c.

◆ M0_ROOT_FID

M0_INTERNAL const struct m0_fid M0_ROOT_FID
Initial value:
= {
.f_container = 1ULL,
.f_key = 1ULL
}

Definition at line 60 of file super.c.

◆ m0t1fs_client_ep_tmid

struct m0_bitmap m0t1fs_client_ep_tmid

Definition at line 42 of file m0t1fs.c.

◆ m0t1fs_mntopt_tokens

const match_table_t m0t1fs_mntopt_tokens
static
Initial value:

Definition at line 260 of file super.c.

◆ m0t1fs_mutex

struct m0_mutex m0t1fs_mutex

Definition at line 43 of file m0t1fs.c.

◆ m0t1fs_super_operations

const struct super_operations m0t1fs_super_operations
static
Initial value:
= {
.statfs = m0t1fs_statfs,
.alloc_inode = m0t1fs_alloc_inode,
.destroy_inode = m0t1fs_destroy_inode,
.drop_inode = generic_delete_inode,
.sync_fs = m0t1fs_sync_fs
}
M0_INTERNAL void m0t1fs_destroy_inode(struct inode *inode)
Definition: inode.c:256
int m0t1fs_sync_fs(struct super_block *sb, int wait)
Definition: fsync.c:462
M0_INTERNAL struct inode * m0t1fs_alloc_inode(struct super_block *sb)
Definition: inode.c:236
static int m0t1fs_statfs(struct dentry *dentry, struct kstatfs *buf)
Definition: super.c:198

Definition at line 90 of file super.c.

◆ max_rpc_msg_size

uint32_t max_rpc_msg_size = M0_RPC_DEF_MAX_RPC_MSG_SIZE
static

Definition at line 76 of file super.c.

◆ tm_recv_queue_min_len

uint32_t tm_recv_queue_min_len = M0_NET_TM_RECV_QUEUE_DEF_LEN
static

Definition at line 72 of file super.c.