storage revision 1.1
11.1Sagc$NetBSD: storage,v 1.1 2008/03/19 20:12:53 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.1SagcNetBSD 5.0 will ship with the following storage elements in place:
101.1Sagc
111.1Sagc1. puffs/putter
121.1Sagc2. ReFUSE
131.1Sagc3. rump
141.1Sagc4. RAIDframe
151.1Sagc5. iSCSI target
161.1Sagc6. iSCSI initiator
171.1Sagc7. cgd
181.1Sagc8. fss
191.1Sagc
201.1SagcThe following elements and projects are pencilled in for 5.0, but
211.1Sagcplease do not rely on them being there.
221.1Sagc
231.1Sagc9. pud
241.1Sagc10. devfs
251.1Sagc11. journalling functionality for ffs
261.1Sagc12. logical volume management
271.1Sagc13. a native port of Sun's ZFS
281.1Sagc14. ReFUSE-lowlevel
291.1Sagc15. web-based management tools for storage subsystems
301.1Sagc16. support for flash devices - NAND and MMC/SD
311.1Sagc17. read/write support for UDF file systems
321.1Sagc
331.1SagcWe are working on the following elements, and expect them to be in 6.0:
341.1Sagc
351.1Sagc18. OSD (object storage device)
361.1Sagc19. basic FCIP support
371.1Sagc
381.1SagcWe expect to branch for the 5.0 release in April or May 2008, which would
391.1Sagcput a NetBSD 5.0 Release date in Q4 2008. An annual release cycle would
401.1Sagcthus mean that 6.0 would be branched in April or May 2009.
411.1Sagc
421.1SagcPictorially, this looks like:
431.1Sagc
441.1Sagc 2008                                        2009
451.1Sagc Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Jan Feb Mar Apr May Jun Jul Aug
461.1Sagc|===|===|===|===|===|===|===|===|===|===|===|===|===|===|===|===|===|===|===|
471.1Sagc
481.1Sagc                | ------- 5.0 --------- |                       | ------- 6.0
491.1Sagc              branch                  release                 branch
501.1Sagc
511.1Sagc 1-8  11,16  9,10,12,13,14,17  15            18      19
521.1Sagc
531.1SagcWe'll continue to update this roadmap as features and dates get firmed up.
541.1Sagc
551.1Sagc
561.1SagcSome explanations
571.1Sagc=================
581.1Sagc
591.1Sagc10. devfs
601.1Sagc---------
611.1Sagc
621.1SagcDevfs will allow device special files (the files used to access
631.1Sagcdevices) to be created dynamically as and when they are attached to
641.1Sagcthe system.  This will greatly reduce the number of files in a /dev
651.1Sagcdirectory and removes the need to run the MAKEDEV script when support
661.1Sagcfor new devices is added to the NetBSD kernel.  NetBSD's devfs
671.1Sagcimplementation will also allow multiple instances of the file system
681.1Sagcto be mounted simultaneously, which is very useful for chroot jails.
691.1Sagc
701.1SagcResponsible: mjf
711.1Sagc
721.1Sagc11. Journalling Functionality for FFS
731.1Sagc-------------------------------------
741.1Sagc
751.1SagcContributed by Wasabi Systems, Inc, technical review on tech-kern
761.1Sagcin March 2008.
771.1Sagc
781.1Sagc12. Logical Volume Management
791.1Sagc-----------------------------
801.1Sagc
811.1SagcBased on the Linux lvm2 and devmapper software, with a new kernel component
821.1Sagcfor NetBSD written.
831.1Sagc
841.1SagcResponsible: haad, martin
851.1Sagc
861.1Sagc13. Native port of Sun's ZFS
871.1Sagc----------------------------
881.1Sagc
891.1SagcMostly completed by ad@, this is the FreeBSD port of Sun's ZFS, with
901.1Sagcmodifications to make it compile on NetBSD 5.0 by ad@, and based on
911.1Sagcthe original Sun code for the block layer, rather than the GEOM-based
921.1Sagclayer.
931.1Sagc
941.1SagcResponsible: oster, agc
951.1Sagc
961.1Sagc14. ReFUSE-lowlevel
971.1Sagc-------------------
981.1Sagc
991.1SagcFUSE has two interfaces, the normal high-level one, and a lower-level
1001.1Sagcinterface which is closer to the way standard file systems operate. This
1011.1Sagcadds the low-level functionality in the same way that ReFUSE adds the
1021.1Sagchigh-level functionality
1031.1Sagc
1041.1SagcResponsible: pooka, agc
1051.1Sagc
1061.1Sagc15. Web-based Management tools for Storage Subsystems
1071.1Sagc-----------------------------------------------------
1081.1Sagc
1091.1SagcStandard tools for managing the storage subsystems that NetBSD provides,
1101.1Sagcusing a standard web-server as the basic user interface on the storage
1111.1Sagcdevice, allowing remote management by a standard web browser.
1121.1Sagc
1131.1SagcResponsible: agc
1141.1Sagc
1151.1Sagc16. OSD
1161.1Sagc-------
1171.1Sagc
1181.1SagcBased on the T10 specification, and the Intel reference code. An Object
1191.1SagcStorage Device, where some of the functionality of a file system is placed
1201.1Sagcin the storage device.
1211.1Sagc
1221.1SagcResponsible: agc
1231.1Sagc
1241.1Sagc
1251.1SagcAlistair Crooks
1261.1SagcSun Mar  2 23:31:03 GMT 2008
127