Consolidate modules
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
This commit is contained in:
parent
a03c577f59
commit
13d3decfa9
@ -2508,34 +2508,6 @@ int cas_module_version(char *buff, int size)
|
||||
}
|
||||
}
|
||||
|
||||
int disk_module_version(char *buff, int size)
|
||||
{
|
||||
FILE *fd;
|
||||
int n_read;
|
||||
|
||||
if (size <= 0 || size > MAX_STR_LEN) {
|
||||
return FAILURE;
|
||||
}
|
||||
|
||||
fd = fopen("/sys/module/cas_disk/version", "r");
|
||||
if (!fd) {
|
||||
return FAILURE;
|
||||
}
|
||||
|
||||
n_read = fread(buff, 1, size, fd);
|
||||
if (ferror(fd)) {
|
||||
n_read = 0;
|
||||
}
|
||||
fclose(fd);
|
||||
|
||||
if (n_read > 0) {
|
||||
buff[n_read - 1] = '\0';
|
||||
return SUCCESS;
|
||||
} else {
|
||||
return FAILURE;
|
||||
}
|
||||
}
|
||||
|
||||
float calculate_flush_progress(unsigned dirty, unsigned flushed)
|
||||
{
|
||||
unsigned total_dirty;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright(c) 2012-2021 Intel Corporation
|
||||
* Copyright(c) 2012-2022 Intel Corporation
|
||||
* SPDX-License-Identifier: BSD-3-Clause
|
||||
*/
|
||||
|
||||
@ -279,7 +279,6 @@ int partition_setup(unsigned int cache_id, const char *file);
|
||||
int partition_is_name_valid(const char *name);
|
||||
|
||||
int cas_module_version(char *buff, int size);
|
||||
int disk_module_version(char *buff, int size);
|
||||
int list_caches(unsigned int list_format, bool by_id_path);
|
||||
int cache_status(unsigned int cache_id, unsigned int core_id, int io_class_id,
|
||||
unsigned int stats_filters, unsigned int stats_format, bool by_id_path);
|
||||
|
@ -1849,13 +1849,6 @@ static int handle_version(void)
|
||||
fprintf(intermediate_file[1], "%s\n", buff);
|
||||
}
|
||||
|
||||
fprintf(intermediate_file[1], TAG(TABLE_ROW) OCF_LOGO " Disk Kernel Module,");
|
||||
if (disk_module_version(buff, MAX_STR_LEN)) {
|
||||
fprintf(intermediate_file[1], "Not Loaded\n");
|
||||
} else {
|
||||
fprintf(intermediate_file[1], "%s\n", buff);
|
||||
}
|
||||
|
||||
fprintf(intermediate_file[1], TAG(TABLE_ROW) OCF_LOGO " CLI Utility,");
|
||||
fprintf(intermediate_file[1], "%s\n", CAS_VERSION);
|
||||
|
||||
|
@ -9,7 +9,6 @@ ifneq ($(M),)
|
||||
include $(M)/config.mk
|
||||
|
||||
obj-y += cas_cache/
|
||||
obj-y += cas_disk/
|
||||
|
||||
# Otherwise we were called directly from the command
|
||||
# line; invoke the kernel build system.
|
||||
@ -28,7 +27,6 @@ KERNEL_VERSION ?= "$(shell uname -r)"
|
||||
KERNEL_DIR ?= "/lib/modules/$(KERNEL_VERSION)/build"
|
||||
MODULES_DIR=/lib/modules/$(KERNEL_VERSION)/extra/block/opencas
|
||||
|
||||
DISK_MODULE = cas_disk
|
||||
CACHE_MODULE = cas_cache
|
||||
|
||||
DEPMOD:=$(shell which depmod)
|
||||
@ -58,16 +56,13 @@ install: install_files
|
||||
|
||||
install_files:
|
||||
@echo "Installing Open-CAS modules"
|
||||
@install -m 644 -D cas_disk/$(DISK_MODULE).ko $(DESTDIR)$(MODULES_DIR)/$(DISK_MODULE).ko
|
||||
@install -m 644 -D cas_cache/$(CACHE_MODULE).ko $(DESTDIR)$(MODULES_DIR)/$(CACHE_MODULE).ko
|
||||
|
||||
uninstall:
|
||||
@echo "Uninstalling Open-CAS modules"
|
||||
$(call remove-module,$(CACHE_MODULE))
|
||||
$(call remove-module,$(DISK_MODULE))
|
||||
|
||||
$(call remove-file,$(DESTDIR)$(MODULES_DIR)/$(CACHE_MODULE).ko)
|
||||
$(call remove-file,$(DESTDIR)$(MODULES_DIR)/$(DISK_MODULE).ko)
|
||||
$(call remove-directory,$(DESTDIR)$(MODULES_DIR))
|
||||
|
||||
@$(DEPMOD)
|
||||
|
@ -19,7 +19,7 @@
|
||||
#include "classifier.h"
|
||||
#include "context.h"
|
||||
#include <linux/kallsyms.h>
|
||||
#include "../cas_disk/cas_disk.h"
|
||||
#include "cas_disk.h"
|
||||
|
||||
#define CAS_KERN_EMERG KERN_EMERG OCF_PREFIX_SHORT
|
||||
#define CAS_KERN_ALERT KERN_ALERT OCF_PREFIX_SHORT
|
||||
@ -49,6 +49,20 @@ enum {
|
||||
/** \endcond */
|
||||
};
|
||||
|
||||
struct casdsk_module {
|
||||
struct list_head disk_list;
|
||||
uint32_t next_disk_id;
|
||||
int disk_major;
|
||||
int next_minor;
|
||||
|
||||
struct kmem_cache *disk_cache;
|
||||
struct kmem_cache *exp_obj_cache;
|
||||
|
||||
struct kobject kobj;
|
||||
};
|
||||
|
||||
extern struct casdsk_module *casdsk_module;
|
||||
|
||||
struct cas_classifier;
|
||||
|
||||
struct cache_priv {
|
||||
|
@ -7,11 +7,8 @@
|
||||
|
||||
#include <linux/blkdev.h>
|
||||
#include "linux_kernel_version.h"
|
||||
|
||||
/**
|
||||
* Version of cas_disk interface
|
||||
*/
|
||||
#define CASDSK_IFACE_VERSION 3
|
||||
#include "disk.h"
|
||||
#include "exp_obj.h"
|
||||
|
||||
struct casdsk_disk;
|
||||
|
||||
@ -31,12 +28,6 @@ struct casdsk_exp_obj_ops {
|
||||
struct bio *bio, void *private);
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief Get version of cas_disk interface
|
||||
* @return cas_disk interface version
|
||||
*/
|
||||
uint32_t casdsk_get_version(void);
|
||||
|
||||
/**
|
||||
* @brief Open block device
|
||||
* @param path Path to block device
|
@ -6,10 +6,10 @@
|
||||
#include <linux/slab.h>
|
||||
#include <linux/fs.h>
|
||||
#include <linux/delay.h>
|
||||
#include "cas_disk_defs.h"
|
||||
#include "cas_cache.h"
|
||||
#include "disk.h"
|
||||
#include "exp_obj.h"
|
||||
#include "debug.h"
|
||||
|
||||
#define CASDSK_DISK_OPEN_FMODE (FMODE_READ | FMODE_WRITE)
|
||||
|
||||
@ -107,7 +107,6 @@ struct casdsk_disk *casdsk_disk_open(const char *path, void *private)
|
||||
result = -ENOMEM;
|
||||
goto error_kmem;
|
||||
}
|
||||
mutex_init(&dsk->lock);
|
||||
|
||||
mutex_init(&dsk->openers_lock);
|
||||
|
||||
@ -126,13 +125,9 @@ struct casdsk_disk *casdsk_disk_open(const char *path, void *private)
|
||||
|
||||
dsk->private = private;
|
||||
|
||||
mutex_lock(&casdsk_module->lock);
|
||||
|
||||
dsk->id = casdsk_module->next_disk_id++;
|
||||
list_add(&dsk->list, &casdsk_module->disk_list);
|
||||
|
||||
mutex_unlock(&casdsk_module->lock);
|
||||
|
||||
result = _casdsk_disk_init_kobject(dsk);
|
||||
if (result)
|
||||
goto error_kobject;
|
||||
@ -142,9 +137,7 @@ struct casdsk_disk *casdsk_disk_open(const char *path, void *private)
|
||||
return dsk;
|
||||
|
||||
error_kobject:
|
||||
mutex_lock(&casdsk_module->lock);
|
||||
list_del(&dsk->list);
|
||||
mutex_unlock(&casdsk_module->lock);
|
||||
close_bdev_exclusive(dsk->bd, CASDSK_DISK_OPEN_FMODE);
|
||||
error_open_bdev:
|
||||
kfree(dsk->path);
|
||||
@ -153,7 +146,6 @@ error_kstrdup:
|
||||
error_kmem:
|
||||
return ERR_PTR(result);
|
||||
}
|
||||
EXPORT_SYMBOL(casdsk_disk_open);
|
||||
|
||||
static void _casdsk_disk_claim(struct casdsk_disk *dsk, void *private)
|
||||
{
|
||||
@ -167,19 +159,15 @@ struct casdsk_disk *casdsk_disk_claim(const char *path, void *private)
|
||||
|
||||
BUG_ON(!path);
|
||||
|
||||
mutex_lock(&casdsk_module->lock);
|
||||
list_for_each(item, &casdsk_module->disk_list) {
|
||||
dsk = list_entry(item, struct casdsk_disk, list);
|
||||
if (strncmp(path, dsk->path, PATH_MAX) == 0) {
|
||||
_casdsk_disk_claim(dsk, private);
|
||||
mutex_unlock(&casdsk_module->lock);
|
||||
return dsk;
|
||||
}
|
||||
}
|
||||
mutex_unlock(&casdsk_module->lock);
|
||||
return NULL;
|
||||
}
|
||||
EXPORT_SYMBOL(casdsk_disk_claim);
|
||||
|
||||
static void __casdsk_disk_close(struct casdsk_disk *dsk)
|
||||
{
|
||||
@ -196,22 +184,16 @@ void casdsk_disk_close(struct casdsk_disk *dsk)
|
||||
|
||||
CASDSK_DEBUG_DISK(dsk, "Destroying (%p)", dsk);
|
||||
|
||||
mutex_lock(&casdsk_module->lock);
|
||||
|
||||
list_del(&dsk->list);
|
||||
|
||||
mutex_unlock(&casdsk_module->lock);
|
||||
|
||||
__casdsk_disk_close(dsk);
|
||||
}
|
||||
EXPORT_SYMBOL(casdsk_disk_close);
|
||||
|
||||
struct block_device *casdsk_disk_get_blkdev(struct casdsk_disk *dsk)
|
||||
{
|
||||
BUG_ON(!dsk);
|
||||
return dsk->bd;
|
||||
}
|
||||
EXPORT_SYMBOL(casdsk_disk_get_blkdev);
|
||||
|
||||
struct gendisk *casdsk_disk_get_gendisk(struct casdsk_disk *dsk)
|
||||
{
|
||||
@ -226,18 +208,15 @@ struct request_queue *casdsk_disk_get_queue(struct casdsk_disk *dsk)
|
||||
BUG_ON(!dsk->bd);
|
||||
return cas_bdev_whole(dsk->bd)->bd_disk->queue;
|
||||
}
|
||||
EXPORT_SYMBOL(casdsk_disk_get_queue);
|
||||
|
||||
int casdsk_disk_allocate_minors(int count)
|
||||
{
|
||||
int minor = -1;
|
||||
|
||||
mutex_lock(&casdsk_module->lock);
|
||||
if (casdsk_module->next_minor + count <= (1 << MINORBITS)) {
|
||||
minor = casdsk_module->next_minor;
|
||||
casdsk_module->next_minor += count;
|
||||
}
|
||||
mutex_unlock(&casdsk_module->lock);
|
||||
|
||||
return minor;
|
||||
}
|
@ -2,7 +2,7 @@
|
||||
* Copyright(c) 2012-2022 Intel Corporation
|
||||
* SPDX-License-Identifier: BSD-3-Clause
|
||||
*/
|
||||
#ifndef __
|
||||
#ifndef __CASDISK_DISK_H__
|
||||
#define __CASDISK_DISK_H__
|
||||
|
||||
#include <linux/kobject.h>
|
||||
@ -10,6 +10,7 @@
|
||||
#include <linux/blkdev.h>
|
||||
#include <linux/mutex.h>
|
||||
#include <linux/blk-mq.h>
|
||||
#include "cas_cache.h"
|
||||
|
||||
struct casdsk_exp_obj;
|
||||
|
||||
@ -17,8 +18,6 @@ struct casdsk_disk {
|
||||
uint32_t id;
|
||||
char *path;
|
||||
|
||||
struct mutex lock;
|
||||
|
||||
struct mutex openers_lock;
|
||||
unsigned int openers;
|
||||
bool claimed;
|
@ -10,11 +10,12 @@
|
||||
#include <linux/elevator.h>
|
||||
#include <linux/blk-mq.h>
|
||||
|
||||
#include "cas_disk_defs.h"
|
||||
#include "cas_disk.h"
|
||||
#include "disk.h"
|
||||
#include "exp_obj.h"
|
||||
#include "linux_kernel_version.h"
|
||||
#include "cas_cache.h"
|
||||
#include "debug.h"
|
||||
|
||||
#define CASDSK_DEV_MINORS 16
|
||||
#define KMEM_CACHE_MIN_SIZE sizeof(void *)
|
||||
@ -310,7 +311,6 @@ void casdsk_exp_obj_free(struct casdsk_disk *dsk)
|
||||
kobject_put(&exp_obj->kobj);
|
||||
dsk->exp_obj = NULL;
|
||||
}
|
||||
EXPORT_SYMBOL(casdsk_exp_obj_free);
|
||||
|
||||
static void __casdsk_exp_obj_release(struct casdsk_exp_obj *exp_obj)
|
||||
{
|
||||
@ -504,7 +504,6 @@ error_exp_obj_alloc:
|
||||
return result;
|
||||
|
||||
}
|
||||
EXPORT_SYMBOL(casdsk_exp_obj_create);
|
||||
|
||||
struct request_queue *casdsk_exp_obj_get_queue(struct casdsk_disk *dsk)
|
||||
{
|
||||
@ -512,7 +511,6 @@ struct request_queue *casdsk_exp_obj_get_queue(struct casdsk_disk *dsk)
|
||||
BUG_ON(!dsk->exp_obj);
|
||||
return dsk->exp_obj->queue;
|
||||
}
|
||||
EXPORT_SYMBOL(casdsk_exp_obj_get_queue);
|
||||
|
||||
struct gendisk *casdsk_exp_obj_get_gendisk(struct casdsk_disk *dsk)
|
||||
{
|
||||
@ -520,7 +518,6 @@ struct gendisk *casdsk_exp_obj_get_gendisk(struct casdsk_disk *dsk)
|
||||
BUG_ON(!dsk->exp_obj);
|
||||
return dsk->exp_obj->gd;
|
||||
}
|
||||
EXPORT_SYMBOL(casdsk_exp_obj_get_gendisk);
|
||||
|
||||
static bool _casdsk_exp_obj_exists(const char *path)
|
||||
{
|
||||
@ -588,7 +585,6 @@ error_bd_claim:
|
||||
dsk->exp_obj->activated = false;
|
||||
return result;
|
||||
}
|
||||
EXPORT_SYMBOL(casdsk_exp_obj_activate);
|
||||
|
||||
bool casdsk_exp_obj_activated(struct casdsk_disk *dsk)
|
||||
{
|
||||
@ -618,7 +614,6 @@ int casdsk_exp_obj_lock(struct casdsk_disk *dsk)
|
||||
mutex_unlock(&dsk->openers_lock);
|
||||
return result;
|
||||
}
|
||||
EXPORT_SYMBOL(casdsk_exp_obj_lock);
|
||||
|
||||
int casdsk_exp_obj_unlock(struct casdsk_disk *dsk)
|
||||
{
|
||||
@ -631,7 +626,6 @@ int casdsk_exp_obj_unlock(struct casdsk_disk *dsk)
|
||||
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL(casdsk_exp_obj_unlock);
|
||||
|
||||
int casdsk_exp_obj_destroy(struct casdsk_disk *dsk)
|
||||
{
|
||||
@ -663,4 +657,3 @@ int casdsk_exp_obj_destroy(struct casdsk_disk *dsk)
|
||||
return 0;
|
||||
|
||||
}
|
||||
EXPORT_SYMBOL(casdsk_exp_obj_destroy);
|
@ -40,7 +40,7 @@
|
||||
#include <linux/mm.h>
|
||||
#include <linux/blk-mq.h>
|
||||
#include <linux/ktime.h>
|
||||
#include "../cas_disk/exp_obj.h"
|
||||
#include "exp_obj.h"
|
||||
|
||||
#include "generated_defines.h"
|
||||
|
||||
|
@ -40,17 +40,13 @@ MODULE_PARM_DESC(seq_cut_off_mb,
|
||||
|
||||
/* globals */
|
||||
ocf_ctx_t cas_ctx;
|
||||
struct casdsk_module cas_module;
|
||||
struct casdsk_module *casdsk_module;
|
||||
|
||||
static int __init cas_init_module(void)
|
||||
{
|
||||
int result = 0;
|
||||
|
||||
if (casdsk_get_version() != CASDSK_IFACE_VERSION) {
|
||||
printk(KERN_ERR OCF_PREFIX_SHORT
|
||||
"Incompatible cas_disk module\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (!writeback_queue_unblock_size || !max_writeback_queue_size) {
|
||||
printk(KERN_ERR OCF_PREFIX_SHORT
|
||||
"Invalid module parameter.\n");
|
||||
@ -76,18 +72,28 @@ static int __init cas_init_module(void)
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
casdsk_module = &cas_module;
|
||||
|
||||
result = casdsk_init_exp_objs();
|
||||
if (result)
|
||||
return result;
|
||||
|
||||
result = casdsk_init_disks();
|
||||
if (result)
|
||||
goto error_init_disks;
|
||||
|
||||
result = cas_initialize_context();
|
||||
if (result) {
|
||||
printk(KERN_ERR OCF_PREFIX_SHORT
|
||||
"Cannot initialize cache library\n");
|
||||
return result;
|
||||
goto error_init_context;
|
||||
}
|
||||
|
||||
result = cas_ctrl_device_init();
|
||||
if (result) {
|
||||
printk(KERN_ERR OCF_PREFIX_SHORT
|
||||
"Cannot initialize control device\n");
|
||||
goto error_cas_ctx_init;
|
||||
goto error_init_device;
|
||||
}
|
||||
|
||||
printk(KERN_INFO "%s Version %s (%s)::Module loaded successfully\n",
|
||||
@ -95,8 +101,12 @@ static int __init cas_init_module(void)
|
||||
|
||||
return 0;
|
||||
|
||||
error_cas_ctx_init:
|
||||
error_init_device:
|
||||
cas_cleanup_context();
|
||||
error_init_context:
|
||||
casdsk_deinit_disks();
|
||||
error_init_disks:
|
||||
casdsk_deinit_exp_objs();
|
||||
|
||||
return result;
|
||||
}
|
||||
@ -107,6 +117,8 @@ static void __exit cas_exit_module(void)
|
||||
{
|
||||
cas_ctrl_device_deinit();
|
||||
cas_cleanup_context();
|
||||
casdsk_deinit_disks();
|
||||
casdsk_deinit_exp_objs();
|
||||
}
|
||||
|
||||
module_exit(cas_exit_module);
|
||||
|
@ -1,11 +0,0 @@
|
||||
#
|
||||
# Copyright(c) 2012-2022 Intel Corporation
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
#
|
||||
include $(M)/config.mk
|
||||
|
||||
obj-m := cas_disk.o
|
||||
|
||||
cas_disk-objs = main.o
|
||||
cas_disk-objs += disk.o
|
||||
cas_disk-objs += exp_obj.o
|
@ -1,33 +0,0 @@
|
||||
/*
|
||||
* Copyright(c) 2012-2022 Intel Corporation
|
||||
* SPDX-License-Identifier: BSD-3-Clause
|
||||
*/
|
||||
#ifndef __CASDISK_DEFS_H__
|
||||
#define __CASDISK_DEFS_H__
|
||||
|
||||
#include <linux/version.h>
|
||||
#include <linux/fs.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/kobject.h>
|
||||
#include <linux/blkdev.h>
|
||||
|
||||
struct casdsk_module {
|
||||
struct mutex lock;
|
||||
|
||||
struct list_head disk_list;
|
||||
uint32_t next_disk_id;
|
||||
int disk_major;
|
||||
int next_minor;
|
||||
|
||||
struct kmem_cache *disk_cache;
|
||||
struct kmem_cache *exp_obj_cache;
|
||||
|
||||
struct kobject kobj;
|
||||
};
|
||||
|
||||
extern struct casdsk_module *casdsk_module;
|
||||
|
||||
#include "debug.h"
|
||||
|
||||
#endif
|
@ -1,77 +0,0 @@
|
||||
/*
|
||||
* Copyright(c) 2012-2022 Intel Corporation
|
||||
* SPDX-License-Identifier: BSD-3-Clause
|
||||
*/
|
||||
|
||||
#include <linux/module.h>
|
||||
#include <linux/fs.h>
|
||||
#include <linux/vmalloc.h>
|
||||
#include "cas_disk_defs.h"
|
||||
#include "cas_disk.h"
|
||||
#include "disk.h"
|
||||
#include "exp_obj.h"
|
||||
|
||||
#define CASDSK_LOGO "CAS Disk"
|
||||
|
||||
/* Layer information. */
|
||||
MODULE_AUTHOR("Intel(R) Corporation");
|
||||
MODULE_LICENSE("Dual BSD/GPL");
|
||||
MODULE_VERSION(CAS_VERSION);
|
||||
|
||||
static int iface_version = CASDSK_IFACE_VERSION;
|
||||
module_param(iface_version, int, (S_IRUSR | S_IRGRP));
|
||||
|
||||
struct casdsk_module *casdsk_module;
|
||||
|
||||
uint32_t casdsk_get_version(void)
|
||||
{
|
||||
return CASDSK_IFACE_VERSION;
|
||||
}
|
||||
EXPORT_SYMBOL(casdsk_get_version);
|
||||
|
||||
static int __init casdsk_init_module(void)
|
||||
{
|
||||
int result = 0;
|
||||
|
||||
casdsk_module = kzalloc(sizeof(*casdsk_module), GFP_KERNEL);
|
||||
if (!casdsk_module) {
|
||||
result = -ENOMEM;
|
||||
goto error_kmalloc;
|
||||
}
|
||||
|
||||
mutex_init(&casdsk_module->lock);
|
||||
|
||||
mutex_lock(&casdsk_module->lock);
|
||||
|
||||
result = casdsk_init_exp_objs();
|
||||
if (result)
|
||||
goto error_init_exp_objs;
|
||||
|
||||
result = casdsk_init_disks();
|
||||
if (result)
|
||||
goto error_init_disks;
|
||||
|
||||
mutex_unlock(&casdsk_module->lock);
|
||||
|
||||
printk(KERN_INFO "%s Version %s (%s)::Module loaded successfully\n",
|
||||
CASDSK_LOGO, CAS_VERSION, CAS_KERNEL);
|
||||
|
||||
return result;
|
||||
|
||||
error_init_disks:
|
||||
casdsk_deinit_exp_objs();
|
||||
error_init_exp_objs:
|
||||
mutex_unlock(&casdsk_module->lock);
|
||||
kfree(casdsk_module);
|
||||
error_kmalloc:
|
||||
return result;
|
||||
}
|
||||
module_init(casdsk_init_module);
|
||||
|
||||
static void __exit casdsk_exit_module(void)
|
||||
{
|
||||
casdsk_deinit_disks();
|
||||
casdsk_deinit_exp_objs();
|
||||
kfree(casdsk_module);
|
||||
}
|
||||
module_exit(casdsk_exit_module);
|
@ -1,11 +1,8 @@
|
||||
PACKAGE_NAME="<CAS_NAME>-modules"
|
||||
PACKAGE_VERSION="#MODULE_VERSION#"
|
||||
BUILT_MODULE_NAME[0]="cas_disk"
|
||||
BUILT_MODULE_NAME[1]="cas_cache"
|
||||
BUILT_MODULE_LOCATION[0]="modules/cas_disk/"
|
||||
BUILT_MODULE_LOCATION[1]="modules/cas_cache/"
|
||||
BUILT_MODULE_NAME[0]="cas_cache"
|
||||
BUILT_MODULE_LOCATION[0]="modules/cas_cache/"
|
||||
DEST_MODULE_LOCATION[0]="/<CAS_MODULES_DIR>"
|
||||
DEST_MODULE_LOCATION[1]="/<CAS_MODULES_DIR>"
|
||||
PRE_BUILD="./configure"
|
||||
MAKE[0]="make -j -C modules/ KERNEL_VERSION=$kernelver"
|
||||
AUTOINSTALL=yes
|
||||
|
@ -1 +1 @@
|
||||
omit_drivers+=" cas_disk cas_cache"
|
||||
omit_drivers+=" cas_cache"
|
||||
|
Loading…
Reference in New Issue
Block a user