linux/fs/dlm/main.c
<<
>>
Prefs
   1/******************************************************************************
   2*******************************************************************************
   3**
   4**  Copyright (C) Sistina Software, Inc.  1997-2003  All rights reserved.
   5**  Copyright (C) 2004-2007 Red Hat, Inc.  All rights reserved.
   6**
   7**  This copyrighted material is made available to anyone wishing to use,
   8**  modify, copy, or redistribute it subject to the terms and conditions
   9**  of the GNU General Public License v.2.
  10**
  11*******************************************************************************
  12******************************************************************************/
  13
  14#include "dlm_internal.h"
  15#include "lockspace.h"
  16#include "lock.h"
  17#include "user.h"
  18#include "memory.h"
  19#include "config.h"
  20
  21static int __init init_dlm(void)
  22{
  23        int error;
  24
  25        error = dlm_memory_init();
  26        if (error)
  27                goto out;
  28
  29        error = dlm_lockspace_init();
  30        if (error)
  31                goto out_mem;
  32
  33        error = dlm_config_init();
  34        if (error)
  35                goto out_lockspace;
  36
  37        error = dlm_register_debugfs();
  38        if (error)
  39                goto out_config;
  40
  41        error = dlm_user_init();
  42        if (error)
  43                goto out_debug;
  44
  45        error = dlm_netlink_init();
  46        if (error)
  47                goto out_user;
  48
  49        error = dlm_plock_init();
  50        if (error)
  51                goto out_netlink;
  52
  53        printk("DLM installed\n");
  54
  55        return 0;
  56
  57 out_netlink:
  58        dlm_netlink_exit();
  59 out_user:
  60        dlm_user_exit();
  61 out_debug:
  62        dlm_unregister_debugfs();
  63 out_config:
  64        dlm_config_exit();
  65 out_lockspace:
  66        dlm_lockspace_exit();
  67 out_mem:
  68        dlm_memory_exit();
  69 out:
  70        return error;
  71}
  72
  73static void __exit exit_dlm(void)
  74{
  75        dlm_plock_exit();
  76        dlm_netlink_exit();
  77        dlm_user_exit();
  78        dlm_config_exit();
  79        dlm_memory_exit();
  80        dlm_lockspace_exit();
  81        dlm_unregister_debugfs();
  82}
  83
  84module_init(init_dlm);
  85module_exit(exit_dlm);
  86
  87MODULE_DESCRIPTION("Distributed Lock Manager");
  88MODULE_AUTHOR("Red Hat, Inc.");
  89MODULE_LICENSE("GPL");
  90
  91EXPORT_SYMBOL_GPL(dlm_new_lockspace);
  92EXPORT_SYMBOL_GPL(dlm_release_lockspace);
  93EXPORT_SYMBOL_GPL(dlm_lock);
  94EXPORT_SYMBOL_GPL(dlm_unlock);
  95
  96
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.