Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/Linux/drivers/block/aoe/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 1 kB image not shown  

Quelle  aoemain.c   Sprache: C

 
/* Copyright (c) 2012 Coraid, Inc.  See COPYING for GPL terms. */
/*
 * aoemain.c
 * Module initialization routines, discover timer
 */


#include <linux/hdreg.h>
#include <linux/blkdev.h>
#include <linux/module.h>
#include <linux/skbuff.h>
#include "aoe.h"

MODULE_LICENSE("GPL");
MODULE_AUTHOR("Sam Hopkins ");
MODULE_DESCRIPTION("AoE block/char driver for 2.6.2 and newer 2.6 kernels");
MODULE_VERSION(VERSION);

static struct timer_list timer;
struct workqueue_struct *aoe_wq;

static void discover_timer(struct timer_list *t)
{
 mod_timer(t, jiffies + HZ * 60); /* one minute */

 aoecmd_cfg(0xffff, 0xff);
}

static void __exit
aoe_exit(void)
{
 timer_delete_sync(&timer);

 aoenet_exit();
 unregister_blkdev(AOE_MAJOR, DEVICE_NAME);
 aoecmd_exit();
 aoechr_exit();
 aoedev_exit();
 aoeblk_exit();  /* free cache after de-allocating bufs */
 destroy_workqueue(aoe_wq);
}

static int __init
aoe_init(void)
{
 int ret;

 aoe_wq = alloc_workqueue("aoe_wq", 0, 0);
 if (!aoe_wq)
  return -ENOMEM;

 ret = aoedev_init();
 if (ret)
  goto dev_fail;
 ret = aoechr_init();
 if (ret)
  goto chr_fail;
 ret = aoeblk_init();
 if (ret)
  goto blk_fail;
 ret = aoenet_init();
 if (ret)
  goto net_fail;
 ret = aoecmd_init();
 if (ret)
  goto cmd_fail;
 ret = register_blkdev(AOE_MAJOR, DEVICE_NAME);
 if (ret < 0) {
  printk(KERN_ERR "aoe: can't register major\n");
  goto blkreg_fail;
 }
 printk(KERN_INFO "aoe: AoE v%s initialised.\n", VERSION);

 timer_setup(&timer, discover_timer, 0);
 discover_timer(&timer);
 return 0;
 blkreg_fail:
 aoecmd_exit();
 cmd_fail:
 aoenet_exit();
 net_fail:
 aoeblk_exit();
 blk_fail:
 aoechr_exit();
 chr_fail:
 aoedev_exit();
 dev_fail:
 destroy_workqueue(aoe_wq);

 printk(KERN_INFO "aoe: initialisation failure.\n");
 return ret;
}

module_init(aoe_init);
module_exit(aoe_exit);


Messung V0.5
C=94 H=95 G=94

¤ Dauer der Verarbeitung: 0.3 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.