SCSI Userspace Target: scsi tgt core functions
Subsystems (2)
RFC PATCH 2/3 SCSI Userspace Target: scsi tgt core functions
SCSI Userspace Target code.
Signed-off-by Mike Christie <[email protected]>
Signed-off-by FUJITA Tomonori <[email protected]>
drivers/scsi/Kconfig +7 -0
@@ -27,6 +27,13 @@ config SCSI However, do not compile this as a module if your root file system (the one containing the directory /) is located on a SCSI device. +config SCSI_TGT + tristate "SCSI target support" + depends on SCSI && EXPERIMENTAL + ---help--- + If you want to use SCSI target mode drivers enable this option. + If you choose M, the module will be called scsi_tgt. + config SCSI_PROC_FS bool "legacy /proc/scsi/ support" depends on SCSI && PROC_FS
drivers/scsi/Makefile +3 -0
@@ -21,6 +21,7 @@ CFLAGS_seagate.o = -DARBITRATE -DPARIT subdir-$(CONFIG_PCMCIA) += pcmcia obj-$(CONFIG_SCSI) += scsi_mod.o +obj-$(CONFIG_SCSI_TGT) += scsi_tgt.o obj-$(CONFIG_RAID_ATTRS) += raid_class.o
@@ -155,6 +156,8 @@ scsi_mod-y += scsi.o hosts.o scsi_ioct scsi_mod-$(CONFIG_SYSCTL) += scsi_sysctl.o scsi_mod-$(CONFIG_SCSI_PROC_FS) += scsi_proc.o +scsi_tgt-y += scsi_tgt_lib.o scsi_tgt_nl.o + sd_mod-objs := sd.o sr_mod-objs := sr.o sr_ioctl.o sr_vendor.o ncr53c8xx-flags-$(CONFIG_SCSI_ZALON) \
drivers/scsi/scsi_tgt_lib.c new file +396 -0
396 lines not on this page · raw message
drivers/scsi/scsi_tgt_nl.c new file +188 -0
188 lines not on this page · raw message
drivers/scsi/scsi_tgt_priv.h new file +22 -0
@@ -0,0 +1,22 @@ +struct scsi_cmnd ; +struct task_struct ; + +/* tmp - will replace with SCSI logging stuff */ +#define dprintk(fmt, args...) \ +do { \ + printk("%s(%d) " fmt, __FUNCTION__, __LINE__, ##args); \ +} while (0) + +#define eprintk dprintk + + +extern struct task_struct *tgtd_tsk; + +extern void scsi_tgt_nl_exit (void ); +extern int scsi_tgt_nl_init (void ); + +extern int scsi_tgt_uspace_send (struct scsi_cmnd *cmd,u64 lun,gfp_t gfp_mask); +extern int scsi_tgt_uspace_send_status (struct scsi_cmnd *cmd,gfp_t flags); +extern int scsi_tgt_kspace_exec (int host_no,u32 cid,int result,u32 len, +u64 offset,unsigned long uaddr,u8 rw, +u8 try_map);
include/linux/netlink.h +1 -0
@@ -21,6 +21,7 @@#define NETLINK_DNRTMSG 14/* DECnet routing messages */ #define NETLINK_KOBJECT_UEVENT 15/* Kernel messages to userspace */ #define NETLINK_GENERIC 16 +#define NETLINK_TGT 17/* SCSI target */ #define MAX_LINKS 32
include/scsi/scsi_tgt.h new file +10 -0
@@ -0,0 +1,10 @@ +/* +* SCSI target definitions +*/ + +struct Scsi_Host ; +struct scsi_cmnd ; +struct scsi_lun ; + +extern int scsi_tgt_alloc_queue (struct Scsi_Host *); +extern void scsi_tgt_queue_command (struct scsi_cmnd *,struct scsi_lun *,int );
include/scsi/scsi_tgt_if.h new file +70 -0
70 lines not on this page · raw message