Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions
dlmmaster.c File Reference
#include <linux/module.h>
#include <linux/fs.h>
#include <linux/types.h>
#include <linux/slab.h>
#include <linux/highmem.h>
#include <linux/init.h>
#include <linux/sysctl.h>
#include <linux/random.h>
#include <linux/blkdev.h>
#include <linux/socket.h>
#include <linux/inet.h>
#include <linux/spinlock.h>
#include <linux/delay.h>
#include "cluster/heartbeat.h"
#include "cluster/nodemanager.h"
#include "cluster/tcp.h"
#include "dlmapi.h"
#include "dlmcommon.h"
#include "dlmdomain.h"
#include "dlmdebug.h"
#include "cluster/masklog.h"

Go to the source code of this file.

Data Structures

struct  dlm_bitmap_diff_iter
 

Macros

#define MLOG_MASK_PREFIX   (ML_DLM|ML_DLM_MASTER)
 
#define DLM_MASTERY_TIMEOUT_MS   5000
 
#define DLM_MIGRATION_RETRY_MS   100
 

Enumerations

enum  dlm_node_state_change { NODE_DOWN = -1, NODE_NO_CHANGE = 0, NODE_UP }
 

Functions

int dlm_is_host_down (int errno)
 
void __dlm_unlink_mle (struct dlm_ctxt *dlm, struct dlm_master_list_entry *mle)
 
void __dlm_insert_mle (struct dlm_ctxt *dlm, struct dlm_master_list_entry *mle)
 
void dlm_hb_event_notify_attached (struct dlm_ctxt *dlm, int idx, int node_up)
 
int dlm_init_mle_cache (void)
 
void dlm_destroy_mle_cache (void)
 
int dlm_init_master_caches (void)
 
void dlm_destroy_master_caches (void)
 
void dlm_lockres_put (struct dlm_lock_resource *res)
 
struct dlm_lock_resourcedlm_new_lockres (struct dlm_ctxt *dlm, const char *name, unsigned int namelen)
 
void dlm_lockres_set_refmap_bit (struct dlm_ctxt *dlm, struct dlm_lock_resource *res, int bit)
 
void dlm_lockres_clear_refmap_bit (struct dlm_ctxt *dlm, struct dlm_lock_resource *res, int bit)
 
void dlm_lockres_grab_inflight_ref (struct dlm_ctxt *dlm, struct dlm_lock_resource *res)
 
void dlm_lockres_drop_inflight_ref (struct dlm_ctxt *dlm, struct dlm_lock_resource *res)
 
struct dlm_lock_resourcedlm_get_lock_resource (struct dlm_ctxt *dlm, const char *lockid, int namelen, int flags)
 
int dlm_master_request_handler (struct o2net_msg *msg, u32 len, void *data, void **ret_data)
 
int dlm_assert_master_handler (struct o2net_msg *msg, u32 len, void *data, void **ret_data)
 
void dlm_assert_master_post_handler (int status, void *data, void *ret_data)
 
int dlm_dispatch_assert_master (struct dlm_ctxt *dlm, struct dlm_lock_resource *res, int ignore_higher, u8 request_from, u32 flags)
 
int dlm_drop_lockres_ref (struct dlm_ctxt *dlm, struct dlm_lock_resource *res)
 
int dlm_deref_lockres_handler (struct o2net_msg *msg, u32 len, void *data, void **ret_data)
 
int dlm_empty_lockres (struct dlm_ctxt *dlm, struct dlm_lock_resource *res)
 
int dlm_lock_basts_flushed (struct dlm_ctxt *dlm, struct dlm_lock *lock)
 
int dlm_migrate_request_handler (struct o2net_msg *msg, u32 len, void *data, void **ret_data)
 
void dlm_clean_master_list (struct dlm_ctxt *dlm, u8 dead_node)
 
int dlm_finish_migration (struct dlm_ctxt *dlm, struct dlm_lock_resource *res, u8 old_master)
 
void __dlm_lockres_reserve_ast (struct dlm_lock_resource *res)
 
void dlm_lockres_release_ast (struct dlm_ctxt *dlm, struct dlm_lock_resource *res)
 
void dlm_force_free_mles (struct dlm_ctxt *dlm)
 

Macro Definition Documentation

#define DLM_MASTERY_TIMEOUT_MS   5000

Definition at line 978 of file dlmmaster.c.

#define DLM_MIGRATION_RETRY_MS   100

Definition at line 2613 of file dlmmaster.c.

#define MLOG_MASK_PREFIX   (ML_DLM|ML_DLM_MASTER)

Definition at line 52 of file dlmmaster.c.

Enumeration Type Documentation

Enumerator:
NODE_DOWN 
NODE_NO_CHANGE 
NODE_UP 

Definition at line 1141 of file dlmmaster.c.

Function Documentation

void __dlm_insert_mle ( struct dlm_ctxt dlm,
struct dlm_master_list_entry mle 
)

Definition at line 328 of file dlmmaster.c.

void __dlm_lockres_reserve_ast ( struct dlm_lock_resource res)

Definition at line 3333 of file dlmmaster.c.

void __dlm_unlink_mle ( struct dlm_ctxt dlm,
struct dlm_master_list_entry mle 
)

Definition at line 319 of file dlmmaster.c.

int dlm_assert_master_handler ( struct o2net_msg msg,
u32  len,
void data,
void **  ret_data 
)

Definition at line 1734 of file dlmmaster.c.

void dlm_assert_master_post_handler ( int  status,
void data,
void ret_data 
)

Definition at line 2004 of file dlmmaster.c.

void dlm_clean_master_list ( struct dlm_ctxt dlm,
u8  dead_node 
)

Definition at line 3181 of file dlmmaster.c.

int dlm_deref_lockres_handler ( struct o2net_msg msg,
u32  len,
void data,
void **  ret_data 
)

Definition at line 2214 of file dlmmaster.c.

void dlm_destroy_master_caches ( void  )

Definition at line 476 of file dlmmaster.c.

void dlm_destroy_mle_cache ( void  )

Definition at line 418 of file dlmmaster.c.

int dlm_dispatch_assert_master ( struct dlm_ctxt dlm,
struct dlm_lock_resource res,
int  ignore_higher,
u8  request_from,
u32  flags 
)

Definition at line 2018 of file dlmmaster.c.

int dlm_drop_lockres_ref ( struct dlm_ctxt dlm,
struct dlm_lock_resource res 
)

Definition at line 2183 of file dlmmaster.c.

int dlm_empty_lockres ( struct dlm_ctxt dlm,
struct dlm_lock_resource res 
)

Definition at line 2625 of file dlmmaster.c.

int dlm_finish_migration ( struct dlm_ctxt dlm,
struct dlm_lock_resource res,
u8  old_master 
)

Definition at line 3259 of file dlmmaster.c.

void dlm_force_free_mles ( struct dlm_ctxt dlm)

Definition at line 3376 of file dlmmaster.c.

struct dlm_lock_resource* dlm_get_lock_resource ( struct dlm_ctxt dlm,
const char lockid,
int  namelen,
int  flags 
)
read

Definition at line 701 of file dlmmaster.c.

void dlm_hb_event_notify_attached ( struct dlm_ctxt dlm,
int  idx,
int  node_up 
)

Definition at line 364 of file dlmmaster.c.

int dlm_init_master_caches ( void  )

Definition at line 456 of file dlmmaster.c.

int dlm_init_mle_cache ( void  )

Definition at line 407 of file dlmmaster.c.

int dlm_is_host_down ( int  errno)

Definition at line 132 of file dlmmaster.c.

int dlm_lock_basts_flushed ( struct dlm_ctxt dlm,
struct dlm_lock lock 
)

Definition at line 2654 of file dlmmaster.c.

void dlm_lockres_clear_refmap_bit ( struct dlm_ctxt dlm,
struct dlm_lock_resource res,
int  bit 
)

Definition at line 645 of file dlmmaster.c.

void dlm_lockres_drop_inflight_ref ( struct dlm_ctxt dlm,
struct dlm_lock_resource res 
)

Definition at line 669 of file dlmmaster.c.

void dlm_lockres_grab_inflight_ref ( struct dlm_ctxt dlm,
struct dlm_lock_resource res 
)

Definition at line 657 of file dlmmaster.c.

void dlm_lockres_put ( struct dlm_lock_resource res)

Definition at line 549 of file dlmmaster.c.

void dlm_lockres_release_ast ( struct dlm_ctxt dlm,
struct dlm_lock_resource res 
)

Definition at line 3357 of file dlmmaster.c.

void dlm_lockres_set_refmap_bit ( struct dlm_ctxt dlm,
struct dlm_lock_resource res,
int  bit 
)

Definition at line 634 of file dlmmaster.c.

int dlm_master_request_handler ( struct o2net_msg msg,
u32  len,
void data,
void **  ret_data 
)

Definition at line 1386 of file dlmmaster.c.

int dlm_migrate_request_handler ( struct o2net_msg msg,
u32  len,
void data,
void **  ret_data 
)

Definition at line 2961 of file dlmmaster.c.

struct dlm_lock_resource* dlm_new_lockres ( struct dlm_ctxt dlm,
const char name,
unsigned int  namelen 
)
read

Definition at line 608 of file dlmmaster.c.