-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[SCSI] libosd: OSDv1 preliminary implementation
Implementation of the most basic OSD functionality and infrastructure. Mainly Format, Create/Remove Partition, Create/Remove Object, and read/write. - Add Makefile and Kbuild to compile libosd.ko - osd_initiator.c Implementation file for osd_initiator.h and osd_sec.h APIs - osd_debug.h - Some kprintf macro definitions Signed-off-by: Boaz Harrosh <bharrosh@panasas.com> Reviewed-by: Benny Halevy <bhalevy@panasas.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
- Loading branch information
Boaz Harrosh
authored and
James Bottomley
committed
Mar 12, 2009
1 parent
de258bf
commit 02941a5
Showing
4 changed files
with
547 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
# | ||
# Kbuild for the OSD modules | ||
# | ||
# Copyright (C) 2008 Panasas Inc. All rights reserved. | ||
# | ||
# Authors: | ||
# Boaz Harrosh <bharrosh@panasas.com> | ||
# Benny Halevy <bhalevy@panasas.com> | ||
# | ||
# This program is free software; you can redistribute it and/or modify | ||
# it under the terms of the GNU General Public License version 2 | ||
# | ||
|
||
ifneq ($(OSD_INC),) | ||
# we are built out-of-tree Kconfigure everything as on | ||
|
||
CONFIG_SCSI_OSD_INITIATOR=m | ||
ccflags-y += -DCONFIG_SCSI_OSD_INITIATOR -DCONFIG_SCSI_OSD_INITIATOR_MODULE | ||
|
||
# Uncomment to turn debug on | ||
# ccflags-y += -DCONFIG_SCSI_OSD_DEBUG | ||
|
||
# if we are built out-of-tree and the hosting kernel has OSD headers | ||
# then "ccflags-y +=" will not pick the out-off-tree headers. Only by doing | ||
# this it will work. This might break in future kernels | ||
LINUXINCLUDE := -I$(OSD_INC) $(LINUXINCLUDE) | ||
|
||
endif | ||
|
||
# libosd.ko - osd-initiator library | ||
libosd-y := osd_initiator.o | ||
obj-$(CONFIG_SCSI_OSD_INITIATOR) += libosd.o |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
# | ||
# Makefile for the OSD modules (out of tree) | ||
# | ||
# Copyright (C) 2008 Panasas Inc. All rights reserved. | ||
# | ||
# Authors: | ||
# Boaz Harrosh <bharrosh@panasas.com> | ||
# Benny Halevy <bhalevy@panasas.com> | ||
# | ||
# This program is free software; you can redistribute it and/or modify | ||
# it under the terms of the GNU General Public License version 2 | ||
# | ||
# This Makefile is used to call the kernel Makefile in case of an out-of-tree | ||
# build. | ||
# $KSRC should point to a Kernel source tree otherwise host's default is | ||
# used. (eg. /lib/modules/`uname -r`/build) | ||
|
||
# include path for out-of-tree Headers | ||
OSD_INC ?= `pwd`/../../../include | ||
|
||
# allow users to override these | ||
# e.g. to compile for a kernel that you aren't currently running | ||
KSRC ?= /lib/modules/$(shell uname -r)/build | ||
KBUILD_OUTPUT ?= | ||
ARCH ?= | ||
V ?= 0 | ||
|
||
# this is the basic Kbuild out-of-tree invocation, with the M= option | ||
KBUILD_BASE = +$(MAKE) -C $(KSRC) M=`pwd` KBUILD_OUTPUT=$(KBUILD_OUTPUT) ARCH=$(ARCH) V=$(V) | ||
|
||
all: libosd | ||
|
||
libosd: ; | ||
$(KBUILD_BASE) OSD_INC=$(OSD_INC) modules | ||
|
||
clean: | ||
$(KBUILD_BASE) clean |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
/* | ||
* osd_debug.h - Some kprintf macros | ||
* | ||
* Copyright (C) 2008 Panasas Inc. All rights reserved. | ||
* | ||
* Authors: | ||
* Boaz Harrosh <bharrosh@panasas.com> | ||
* Benny Halevy <bhalevy@panasas.com> | ||
* | ||
* This program is free software; you can redistribute it and/or modify | ||
* it under the terms of the GNU General Public License version 2 | ||
* | ||
*/ | ||
#ifndef __OSD_DEBUG_H__ | ||
#define __OSD_DEBUG_H__ | ||
|
||
#define OSD_ERR(fmt, a...) printk(KERN_ERR "osd: " fmt, ##a) | ||
#define OSD_INFO(fmt, a...) printk(KERN_NOTICE "osd: " fmt, ##a) | ||
|
||
#ifdef CONFIG_SCSI_OSD_DEBUG | ||
#define OSD_DEBUG(fmt, a...) \ | ||
printk(KERN_NOTICE "osd @%s:%d: " fmt, __func__, __LINE__, ##a) | ||
#else | ||
#define OSD_DEBUG(fmt, a...) do {} while (0) | ||
#endif | ||
|
||
/* u64 has problems with printk this will cast it to unsigned long long */ | ||
#define _LLU(x) (unsigned long long)(x) | ||
|
||
#endif /* ndef __OSD_DEBUG_H__ */ |
Oops, something went wrong.