Skip to content

open-osd: OSD Initiator library for Linux

Boaz Harrosh linux-next linux-scsi lkml 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest18 patches 0 repliesNew

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/18major.h: char-major number for OSD device driverDocumentation/devices.txt include/linux/major.h+7 -00 replies
2/18scsi: OSD_TYPEdrivers/scsi/scsi_scan.c include/scsi/scsi.h+2 -00 replies
3/18libosd: OSDv1 Headersinclude/scsi/osd_initiator.h include/scsi/osd_protocol.h include/scsi/osd_sec.h +1 more+914 -00 replies
4/18libosd: OSDv1 preliminary implementationdrivers/scsi/osd/Kbuild drivers/scsi/osd/Makefile drivers/scsi/osd/osd_debug.h +1 more+547 -00 replies
5/18osd_uld: OSD scsi ULDdrivers/scsi/osd/Kbuild drivers/scsi/osd/osd_ktests.h drivers/scsi/osd/osd_uld.c+422 -00 replies
6/18osd_uld: API for retrieving osd devices from Kerneldrivers/scsi/osd/osd_uld.c include/scsi/osd_initiator.h+69 -00 replies
7/18osd_ktests: Add basic OSD testsdrivers/scsi/osd/Kbuild drivers/scsi/osd/osd_ktests.c drivers/scsi/osd/osd_ktests.h +1 more+337 -20 replies
8/18libosd: attributes Supportdrivers/scsi/osd/osd_initiator.c include/scsi/osd_attributes.h+901 -00 replies
9/18osd_ktests: Test Attribute listsdrivers/scsi/osd/osd_ktests.c+110 -00 replies
10/18libosd: OSD Security processing stubsdrivers/scsi/osd/osd_initiator.c+85 -00 replies
11/18libosd: Add Flush and List-objects supportdrivers/scsi/osd/osd_initiator.c+124 -00 replies
12/18libosd: Not implemented commandsdrivers/scsi/osd/osd_initiator.c+35 -00 replies
13/18libosd: OSD version 2 Supportdrivers/scsi/osd/osd_initiator.c include/scsi/osd_initiator.h include/scsi/osd_protocol.h+205 -180 replies
14/18libosd: OSDv2 auto detectiondrivers/scsi/osd/osd_initiator.c drivers/scsi/osd/osd_uld.c include/scsi/osd_initiator.h+133 -00 replies
15/18libosd: SCSI/OSD Sense decoding supportdrivers/scsi/osd/Kbuild drivers/scsi/osd/osd_initiator.c include/scsi/osd_initiator.h +1 more+503 -00 replies
16/18osd: Documentation for OSD libraryDocumentation/scsi/osd.txt+198 -00 replies
17/18osd: Kconfig file for in-tree buildsdrivers/scsi/osd/Kconfig+53 -00 replies
18/18scsi: Add osd library to build systemMAINTAINERS drivers/scsi/Kconfig drivers/scsi/Makefile+14 -00 replies

Reviews trailers per patch

14 of 18 patches have a Reviewed-by or Acked-by.

PatchBenny Halevy
1/18
2/18
3/18R-b
4/18R-b
5/18R-b
6/18
7/18R-b
8/18R-b
9/18R-b
10/18R-b
11/18R-b
12/18R-b
13/18R-b
14/18R-b
15/18
16/18R-b
17/18R-b
18/18R-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCHSET 00/18] open-osd: OSD Initiator library for Linux

OSD (Object-Based Storage Device) is a T10 SCSI command set that is designed to provide efficient operation of input/output logical units that manage the allocation, placement, and accessing of variable-size data-storage containers, called objects. Objects are intended to contain operating system and application constructs. Each object has associated attributes attached to it, which are integral part of the object and provide metadata about the object. The standard defines some common obligatory attributes, but user attributes can be added as needed.

Whats new from last time:
- sitting in linux-next exposed some warnings in some ARCHs, (you guessed right printf of u64 types)
- Removed the user-mode osd_test application, this can be fetched from the out-of-tree git.
- Added implementation of, scsi-descriptor based, OSD sense buffer decoding. (See [PATCH 15/18])

The patches are cut over scsi-misc but apply cleanly over linus-2.6.28-rc9 and are intended for the 2.6.29 merge window.

To try out and run the library please visit
http://open-osd.org and follow the instructions there.

The submitted patchset is also available via git at:
git://git.open-osd.org/linux-open-osd.git osd
http://git.open-osd.org/gitweb.cgi?p=linux-open-osd.git;a=shortlog;h=osd

Or a compact out-of-tree repository that includes these patches plus some extras:
git://git.open-osd.org/open-osd.git master
http://git.open-osd.org/gitweb.cgi?p=open-osd.git;a=summary

here is the list of patches:

[PATCH 01/18] major.h: char-major number for OSD device driver
Request for a new char-device major number

[PATCH 02/18] scsi: OSD_TYPE
The OSD scsi type constant definition.

[PATCH 03/18] libosd: OSDv1 Headers
[PATCH 04/18] libosd: OSDv1 preliminary implementation
Most basic, but usable library module (libosd.ko) including Kbuild file.

[PATCH 05/18] osd_uld: OSD scsi ULD
[PATCH 06/18] osd_uld: API for retrieving osd devices from Kernel [PATCH 07/18] osd_ktests: Add basic OSD tests
These patches add a scsi ULD for OSD type devices. Please see commit logs for details.

[PATCH 08/18] libosd: attributes Support
[PATCH 09/18] osd_ktests: Test Attribute lists
[PATCH 10/18] libosd: OSD Security processing stubs
[PATCH 12/18] libosd: Add Flush and List-objects support [PATCH 12/18] libosd: Not implemented commands
[PATCH 13/18] libosd: OSD version 2 Support
[PATCH 14/18] libosd: OSDv2 auto detection
[PATCH 15/18] libosd: SCSI/OSD Sense decoding support
Up to here this is a fairly complete body of work, to support both OSD1 and OSD2 targets. Main pieces that are still missing from the library at this point are: The OSD2 capabilities structure, do to lack of an OSD target that supports it, so it was never tested. And the absence of any OSD-security methods other then NO_SECURITY. These will come in future versions.

[PATCH 16/18] osd: Documentation for OSD library
Some reading about OSD in general and further usability instructions. Please comment on anything missing from this document.

[PATCH 17/18] osd: Kconfig file for in-tree builds
[PATCH 18/18] scsi: Add osd library to build system
The in-tree compilation is only enabled at the end of the patchset. Run your favorite configure-tool to enable the library and osd_uld compilation. Default is off.
The patchset is however fully bisectable, and compilable from the beginning, (by applying these 2 patches first).

Boaz Harrosh