storage revision 1.5 1 1.5 agc $NetBSD: storage,v 1.5 2009/09/15 21:07:58 agc Exp $
2 1.1 agc
3 1.1 agc NetBSD Storage Roadmap
4 1.1 agc ======================
5 1.1 agc
6 1.1 agc This is a small roadmap document, and deals with the storage and file
7 1.1 agc systems side of the operating system.
8 1.1 agc
9 1.3 agc The following elements and projects are pencilled in for 6.0, but
10 1.1 agc please do not rely on them being there.
11 1.1 agc
12 1.5 agc 1. devfs
13 1.5 agc 2. logical volume management
14 1.5 agc 3. a native port of Sun's ZFS
15 1.5 agc 4. ReFUSE-lowlevel
16 1.5 agc 5. web-based management tools for storage subsystems
17 1.5 agc 6. support for flash devices - NAND and MMC/SD
18 1.5 agc 7. rump extensions
19 1.5 agc 8. virtualised disks in userland
20 1.5 agc 9. in-kernel iSCSI initiator
21 1.5 agc
22 1.5 agc We currently expect to branch 6.0 in the March 2010 timeframe, with a view
23 1.5 agc to a 6.0 release later in 2010.
24 1.1 agc
25 1.4 agc We'll continue to update this roadmap as features and dates get firmed up.
26 1.1 agc
27 1.1 agc Some explanations
28 1.1 agc =================
29 1.1 agc
30 1.5 agc 1. devfs
31 1.1 agc ---------
32 1.1 agc
33 1.1 agc Devfs will allow device special files (the files used to access
34 1.1 agc devices) to be created dynamically as and when they are attached to
35 1.1 agc the system. This will greatly reduce the number of files in a /dev
36 1.1 agc directory and removes the need to run the MAKEDEV script when support
37 1.1 agc for new devices is added to the NetBSD kernel. NetBSD's devfs
38 1.1 agc implementation will also allow multiple instances of the file system
39 1.1 agc to be mounted simultaneously, which is very useful for chroot jails.
40 1.5 agc Please contact core@ if you are interested in devfs development.
41 1.1 agc
42 1.1 agc Responsible: mjf
43 1.1 agc
44 1.5 agc 2. Logical Volume Management
45 1.5 agc ----------------------------
46 1.1 agc
47 1.1 agc Based on the Linux lvm2 and devmapper software, with a new kernel component
48 1.3 agc for NetBSD written. Merged in 5.99.5 sources, will be in 6.0.
49 1.1 agc
50 1.1 agc Responsible: haad, martin
51 1.1 agc
52 1.5 agc 3. Native port of Sun's ZFS
53 1.5 agc ---------------------------
54 1.5 agc
55 1.5 agc Two Summer of Code projects have been held, concentrating on the
56 1.5 agc provision of ZFS support for NetBSD. Mostly completed by haad, and
57 1.5 agc building on ver's work, this is the port of Sun's ZFS, with
58 1.5 agc modifications to make it compile on NetBSD by ad@, and based on the
59 1.5 agc Sun code for the block layer. Discussions are still taking place to
60 1.5 agc get the design right for support for the openat(2) system call family,
61 1.5 agc and the correct architecture for reclaiming vnodes.
62 1.1 agc
63 1.5 agc The ZFS source code has been committed to the repository.
64 1.1 agc
65 1.5 agc Responsible: haad, ad, ver
66 1.1 agc
67 1.5 agc 4. ReFUSE-lowlevel
68 1.5 agc ------------------
69 1.1 agc
70 1.1 agc FUSE has two interfaces, the normal high-level one, and a lower-level
71 1.1 agc interface which is closer to the way standard file systems operate. This
72 1.1 agc adds the low-level functionality in the same way that ReFUSE adds the
73 1.1 agc high-level functionality
74 1.1 agc
75 1.1 agc Responsible: pooka, agc
76 1.1 agc
77 1.5 agc 5. Web-based Management tools for Storage Subsystems
78 1.5 agc ----------------------------------------------------
79 1.1 agc
80 1.1 agc Standard tools for managing the storage subsystems that NetBSD provides,
81 1.1 agc using a standard web-server as the basic user interface on the storage
82 1.1 agc device, allowing remote management by a standard web browser.
83 1.1 agc
84 1.1 agc Responsible: agc
85 1.1 agc
86 1.5 agc 6. Support for flash devices - NAND and MMC/SD
87 1.5 agc ----------------------------------------------
88 1.5 agc
89 1.5 agc The NetBSD Foundation is interested in having a file system which is
90 1.5 agc optimised to work with today's flash devices, including SSDs both with
91 1.5 agc wear-levelling functionality and without, as well as support for NAND,
92 1.5 agc and MMC/SD devices. Please get in touch with core@ if you're interested
93 1.5 agc in helping out with this area of development.
94 1.5 agc
95 1.5 agc Responsible: TBD
96 1.5 agc
97 1.5 agc 7. RUMP Extensions
98 1.5 agc ------------------
99 1.5 agc
100 1.5 agc Rump support has been in NetBSD for 2 releases now, and continues to be
101 1.5 agc developed actively. Recent additions have included cgd support, and smbfs
102 1.5 agc client support.
103 1.5 agc
104 1.5 agc Responsible: pooka
105 1.5 agc
106 1.5 agc 8. Virtualised disks in Userland
107 1.5 agc --------------------------------
108 1.5 agc
109 1.5 agc For better support of virtualization, a library which provides a consistent
110 1.5 agc view of virtualized disk images has been developed by jmcneill.
111 1.5 agc
112 1.5 agc Responsible: jmcneill
113 1.5 agc
114 1.5 agc 9. In-kernel iSCSI Initiator
115 1.5 agc ----------------------------
116 1.5 agc
117 1.5 agc NetBSD has had a userland implementation of an iSCSI initiator since
118 1.5 agc NetBSD 4.99.35, based on ReFUSE. There is a possibility that an
119 1.5 agc in-kernel initiator may be available - please contact core if you are
120 1.5 agc interested in this functionality.
121 1.5 agc
122 1.5 agc Responsible: core
123 1.5 agc
124 1.1 agc
125 1.1 agc Alistair Crooks
126 1.5 agc Tue 15 Sep 2009 08:44:14 PDT
127