Opening Source for Network Direct Attached Storage

linux at iocellnetworks linux at iocellnetworks.com
Fri Nov 18 01:08:32 UTC 2011


Hello from IOCELL Networks,

This summer we purchased the NDAS storage technology rights and patents 
from Ximeta. We are now looking to open development of the NDAS driver 
in Linux.

So I found this group and now look for your help and advice. I thought 
to go  the "project admin / company" route, but Greg KH let me know the 
development list is better.

Here are some announcements of our acquisition: 
http://www.iocellnetworks.com/neo/index.php/press.

According to the questions on the foswiki company project page, here is 
a brief summary of where NDAS is for Linux.

* What type of device you wish to have supported.
     We need the driver that will work with the latest kernel on our 
single and 2 bay NDAS devices. The current driver supports connecting 
SATA and IDE, or ATAPI drives to the LAN by Ethernet. It has a read 
only, exclusive write, and shared-write mode. Shared write must be used 
with a multi-user filesystem. Professional development stopped in summer 
2008. The last official release works with Kernel 2.6.24. Some NDAS 
Device owners submitted patches to the driver that kept it running up 
until Kernel 2.6.34 or so.


* Summary of technical specs that you have for your device.
     We have the original source code. The documentation is very minimal.
     The drive has been exported and compiled on x86, x64, mips, and arm 
processors.
     This is basically the same idea as Linux's Network Block Device, 
and Coraid's AOE. There are kernel modules that load when the driver is 
activated, and there is a user level tool that allows interaction, 
enabling and disabling the device. Once enabled, the user mounts the 
drive like any other internal disk. The NDAS system uses Ximeta's own 
LAN protocol, LPX, which is also available, but seems not to be part of 
any bug at this time.
     Many parts of the source code are GPL.
     Ximeta released a binary part though, so I don't know if that 
should be maintained or not. Some users who patched it in the past 
requested that Ximeta at least allow them access to the binary sections, 
but were never accomodated. We are making all the source code available 
to any development. We will need your advice about this part.



* If your company requires an NDA to be signed to get access to the 
specifications for this device.
     The windows and mac drivers are slated to remain proprietary. So I 
think an NDA would be needed if developmers require access to those 
sources in order to keep the Linux driver communicating with the other OS.
     Communication basically amounts to notification whether the NDAS 
device can be mounted read / write or not, and gives the admin a chance 
to request write access from other computers.


* Anything else you think that the project managers will find helpful in 
trying to determine the amount of effort that will be needed to support 
this device.

Bugs?
     The major bug that we have now is that multiple devices do not load 
the disks correctly. If I mount two NDAS Devices to the computer, the 
disks have the same block id. The problem seems that the request queue 
does not increment correctly.
     The lesser bug is simply updating the block methods to match the 
current kernel. The big kernel lock must be take out of our driver.

Future?
     The kernel modules must keep up with the Linux Kernel, and we would 
like to allow routers and plug computer users and other low power type 
devices to gain better access to the NDAS devices, especially media 
players and such.

Links?
     http://linux.iocellnetworks.com - the last released code, the 
patches submitted by users, and the posting about opening development.
     http://ndas4linux.iocellnetworks.com/ - the code.ximeta.com trac 
page which has the discussions and bugs that were patched by the users.


Thanks for any help.  We will answer any questions about the driver or 
any other NDAS questions as soon as possible.





More information about the devel mailing list