xref: /netbsd/doc/roadmaps/storage (revision 6550d01e)
1$NetBSD: storage,v 1.8 2009/11/17 21:09:54 agc Exp $
2
3NetBSD Storage Roadmap
4======================
5
6This is a small roadmap document, and deals with the storage and file
7systems side of the operating system.
8
9The following elements and projects are pencilled in for 6.0, but
10please do not rely on them being there.
11
12Features that will be in 6.0:
132. logical volume management
143. a native port of Sun's ZFS
157. rump extensions
1610. RAIDframe parity map
17
18Features that are planned for 6.0:
191. devfs
204. ReFUSE-lowlevel
215. web-based management tools for storage subsystems
226. support for flash devices - NAND and MMC/SD
238. virtualised disks in userland
249. in-kernel iSCSI initiator
25
26We currently expect to branch 6.0 in the March 2010 timeframe, with a view
27to a 6.0 release later in 2010.
28
29We'll continue to update this roadmap as features and dates get firmed up.
30
31Some explanations
32=================
33
341. devfs
35---------
36
37Devfs will allow device special files (the files used to access
38devices) to be created dynamically as and when they are attached to
39the system.  This will greatly reduce the number of files in a /dev
40directory and removes the need to run the MAKEDEV script when support
41for new devices is added to the NetBSD kernel.  NetBSD's devfs
42implementation will also allow multiple instances of the file system
43to be mounted simultaneously, which is very useful for chroot jails.
44Please contact core@ if you are interested in devfs development.
45
46Responsible: mjf
47
482. Logical Volume Management
49----------------------------
50
51Based on the Linux lvm2 and devmapper software, with a new kernel component
52for NetBSD written. Merged in 5.99.5 sources, will be in 6.0.
53
54Responsible: haad, martin
55
563. Native port of Sun's ZFS
57---------------------------
58
59Two Summer of Code projects have been held, concentrating on the
60provision of ZFS support for NetBSD.  Mostly completed by haad, and
61building on ver's work, this is the port of Sun's ZFS, with
62modifications to make it compile on NetBSD by ad@, and based on the
63Sun code for the block layer. Discussions are still taking place to
64get the design right for support for the openat(2) system call family,
65and the correct architecture for reclaiming vnodes.
66
67The ZFS source code has been committed to the repository.
68
69Responsible: haad, ad, ver
70
714. ReFUSE-lowlevel
72------------------
73
74FUSE has two interfaces, the normal high-level one, and a lower-level
75interface which is closer to the way standard file systems operate. This
76adds the low-level functionality in the same way that ReFUSE adds the
77high-level functionality
78
79Responsible: pooka, agc
80
815. Web-based Management tools for Storage Subsystems
82----------------------------------------------------
83
84Standard tools for managing the storage subsystems that NetBSD provides,
85using a standard web-server as the basic user interface on the storage
86device, allowing remote management by a standard web browser.
87
88Responsible: agc
89
906. Support for flash devices - NAND and MMC/SD
91----------------------------------------------
92
93The NetBSD Foundation is interested in having a file system which is
94optimised to work with today's flash devices, including SSDs both with
95wear-levelling functionality and without, as well as support for NAND,
96and MMC/SD devices. Please get in touch with core@ if you're interested
97in helping out with this area of development.
98
99Responsible: TBD
100
1017. RUMP Extensions
102------------------
103
104Rump support has been in NetBSD for 2 releases now, and continues to be
105developed actively. Recent additions have included cgd support, and smbfs
106client support.
107
108Responsible: pooka
109
110
1118. Virtualised disks in Userland
112--------------------------------
113
114For better support of virtualization, a library which provides a consistent
115view of virtualized disk images has been developed by jmcneill.
116
117Responsible: jmcneill
118
119
1209. In-kernel iSCSI Initiator
121----------------------------
122
123NetBSD has had a userland implementation of an iSCSI initiator since
124NetBSD 4.99.35, based on ReFUSE.  There is a possibility that an
125in-kernel initiator may be available - please contact core if you are
126interested in this functionality.
127
128Responsible: core
129
130
13110. RAIDframe parity map
132------------------------
133
134Jed Davis successfully completed a Summer of Code project to implement
135parity map zones for RAIDframe.  Parity mapping drastically reduces
136the amount of time spent rewriting parity after an unclean shutdown by
137keeping better track of which regions might have had outstanding
138writes.  Enabled by default; can be disabled on a per-set basis, or
139tuned, with the new raidctl(8) commands.
140
141Merged in 5.99.22 sources, and will be in 6.0.  A separate set of
142patches is available for NetBSD-5.
143
144Responsible: jld
145
146Alistair Crooks
147Tue Nov 17 07:17:20 PST 2009
148