storage revision 1.5
11.5Sagc$NetBSD: storage,v 1.5 2009/09/15 21:07:58 agc Exp $
21.1Sagc
31.1SagcNetBSD Storage Roadmap
41.1Sagc======================
51.1Sagc
61.1SagcThis is a small roadmap document, and deals with the storage and file
71.1Sagcsystems side of the operating system.
81.1Sagc
91.3SagcThe following elements and projects are pencilled in for 6.0, but
101.1Sagcplease do not rely on them being there.
111.1Sagc
121.5Sagc1. devfs
131.5Sagc2. logical volume management
141.5Sagc3. a native port of Sun's ZFS
151.5Sagc4. ReFUSE-lowlevel
161.5Sagc5. web-based management tools for storage subsystems
171.5Sagc6. support for flash devices - NAND and MMC/SD
181.5Sagc7. rump extensions
191.5Sagc8. virtualised disks in userland
201.5Sagc9. in-kernel iSCSI initiator
211.5Sagc
221.5SagcWe currently expect to branch 6.0 in the March 2010 timeframe, with a view
231.5Sagcto a 6.0 release later in 2010.
241.1Sagc
251.4SagcWe'll continue to update this roadmap as features and dates get firmed up.
261.1Sagc
271.1SagcSome explanations
281.1Sagc=================
291.1Sagc
301.5Sagc1. devfs
311.1Sagc---------
321.1Sagc
331.1SagcDevfs will allow device special files (the files used to access
341.1Sagcdevices) to be created dynamically as and when they are attached to
351.1Sagcthe system.  This will greatly reduce the number of files in a /dev
361.1Sagcdirectory and removes the need to run the MAKEDEV script when support
371.1Sagcfor new devices is added to the NetBSD kernel.  NetBSD's devfs
381.1Sagcimplementation will also allow multiple instances of the file system
391.1Sagcto be mounted simultaneously, which is very useful for chroot jails.
401.5SagcPlease contact core@ if you are interested in devfs development.
411.1Sagc
421.1SagcResponsible: mjf
431.1Sagc
441.5Sagc2. Logical Volume Management
451.5Sagc----------------------------
461.1Sagc
471.1SagcBased on the Linux lvm2 and devmapper software, with a new kernel component
481.3Sagcfor NetBSD written. Merged in 5.99.5 sources, will be in 6.0.
491.1Sagc
501.1SagcResponsible: haad, martin
511.1Sagc
521.5Sagc3. Native port of Sun's ZFS
531.5Sagc---------------------------
541.5Sagc
551.5SagcTwo Summer of Code projects have been held, concentrating on the
561.5Sagcprovision of ZFS support for NetBSD.  Mostly completed by haad, and
571.5Sagcbuilding on ver's work, this is the port of Sun's ZFS, with
581.5Sagcmodifications to make it compile on NetBSD by ad@, and based on the
591.5SagcSun code for the block layer. Discussions are still taking place to
601.5Sagcget the design right for support for the openat(2) system call family,
611.5Sagcand the correct architecture for reclaiming vnodes.
621.1Sagc
631.5SagcThe ZFS source code has been committed to the repository.
641.1Sagc
651.5SagcResponsible: haad, ad, ver
661.1Sagc
671.5Sagc4. ReFUSE-lowlevel
681.5Sagc------------------
691.1Sagc
701.1SagcFUSE has two interfaces, the normal high-level one, and a lower-level
711.1Sagcinterface which is closer to the way standard file systems operate. This
721.1Sagcadds the low-level functionality in the same way that ReFUSE adds the
731.1Sagchigh-level functionality
741.1Sagc
751.1SagcResponsible: pooka, agc
761.1Sagc
771.5Sagc5. Web-based Management tools for Storage Subsystems
781.5Sagc----------------------------------------------------
791.1Sagc
801.1SagcStandard tools for managing the storage subsystems that NetBSD provides,
811.1Sagcusing a standard web-server as the basic user interface on the storage
821.1Sagcdevice, allowing remote management by a standard web browser.
831.1Sagc
841.1SagcResponsible: agc
851.1Sagc
861.5Sagc6. Support for flash devices - NAND and MMC/SD
871.5Sagc----------------------------------------------
881.5Sagc
891.5SagcThe NetBSD Foundation is interested in having a file system which is
901.5Sagcoptimised to work with today's flash devices, including SSDs both with
911.5Sagcwear-levelling functionality and without, as well as support for NAND,
921.5Sagcand MMC/SD devices. Please get in touch with core@ if you're interested
931.5Sagcin helping out with this area of development.
941.5Sagc
951.5SagcResponsible: TBD
961.5Sagc
971.5Sagc7. RUMP Extensions
981.5Sagc------------------
991.5Sagc
1001.5SagcRump support has been in NetBSD for 2 releases now, and continues to be
1011.5Sagcdeveloped actively. Recent additions have included cgd support, and smbfs
1021.5Sagcclient support.
1031.5Sagc
1041.5SagcResponsible: pooka
1051.5Sagc
1061.5Sagc8. Virtualised disks in Userland
1071.5Sagc--------------------------------
1081.5Sagc
1091.5SagcFor better support of virtualization, a library which provides a consistent 
1101.5Sagcview of virtualized disk images has been developed by jmcneill.
1111.5Sagc
1121.5SagcResponsible: jmcneill
1131.5Sagc
1141.5Sagc9. In-kernel iSCSI Initiator
1151.5Sagc----------------------------
1161.5Sagc
1171.5SagcNetBSD has had a userland implementation of an iSCSI initiator since
1181.5SagcNetBSD 4.99.35, based on ReFUSE.  There is a possibility that an
1191.5Sagcin-kernel initiator may be available - please contact core if you are
1201.5Sagcinterested in this functionality.
1211.5Sagc
1221.5SagcResponsible: core
1231.5Sagc
1241.1Sagc
1251.1SagcAlistair Crooks
1261.5SagcTue 15 Sep 2009 08:44:14 PDT
127