storage revision 1.1.8.2 1 1.1.8.2 mjf $NetBSD: storage,v 1.1.8.2 2008/10/05 20:11:18 mjf Exp $
2 1.1.8.2 mjf
3 1.1.8.2 mjf NetBSD Storage Roadmap
4 1.1.8.2 mjf ======================
5 1.1.8.2 mjf
6 1.1.8.2 mjf This is a small roadmap document, and deals with the storage and file
7 1.1.8.2 mjf systems side of the operating system.
8 1.1.8.2 mjf
9 1.1.8.2 mjf NetBSD 5.0 will ship with the following storage elements in place:
10 1.1.8.2 mjf
11 1.1.8.2 mjf 1. puffs/putter
12 1.1.8.2 mjf 2. ReFUSE
13 1.1.8.2 mjf 3. rump
14 1.1.8.2 mjf 4. RAIDframe
15 1.1.8.2 mjf 5. iSCSI target
16 1.1.8.2 mjf 6. iSCSI initiator
17 1.1.8.2 mjf 7. cgd
18 1.1.8.2 mjf 8. fss
19 1.1.8.2 mjf
20 1.1.8.2 mjf The following elements and projects are pencilled in for 5.0, but
21 1.1.8.2 mjf please do not rely on them being there.
22 1.1.8.2 mjf
23 1.1.8.2 mjf 9. pud
24 1.1.8.2 mjf 10. devfs
25 1.1.8.2 mjf 11. journalling functionality for ffs
26 1.1.8.2 mjf 12. logical volume management
27 1.1.8.2 mjf 13. a native port of Sun's ZFS
28 1.1.8.2 mjf 14. ReFUSE-lowlevel
29 1.1.8.2 mjf 15. web-based management tools for storage subsystems
30 1.1.8.2 mjf 16. support for flash devices - NAND and MMC/SD
31 1.1.8.2 mjf 17. read/write support for UDF file systems
32 1.1.8.2 mjf
33 1.1.8.2 mjf We are working on the following elements, and expect them to be in 6.0:
34 1.1.8.2 mjf
35 1.1.8.2 mjf 18. OSD (object storage device)
36 1.1.8.2 mjf 19. basic FCIP support
37 1.1.8.2 mjf
38 1.1.8.2 mjf We expect to branch for the 5.0 release in April or May 2008, which would
39 1.1.8.2 mjf put a NetBSD 5.0 Release date in Q4 2008. An annual release cycle would
40 1.1.8.2 mjf thus mean that 6.0 would be branched in April or May 2009.
41 1.1.8.2 mjf
42 1.1.8.2 mjf Pictorially, this looks like:
43 1.1.8.2 mjf
44 1.1.8.2 mjf 2008 2009
45 1.1.8.2 mjf Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Jan Feb Mar Apr May Jun Jul Aug
46 1.1.8.2 mjf |===|===|===|===|===|===|===|===|===|===|===|===|===|===|===|===|===|===|===|
47 1.1.8.2 mjf
48 1.1.8.2 mjf | ------- 5.0 --------- | | ------- 6.0
49 1.1.8.2 mjf branch release branch
50 1.1.8.2 mjf
51 1.1.8.2 mjf 1-8 11,16 9,10,12,13,14,17 15 18 19
52 1.1.8.2 mjf
53 1.1.8.2 mjf We'll continue to update this roadmap as features and dates get firmed up.
54 1.1.8.2 mjf
55 1.1.8.2 mjf
56 1.1.8.2 mjf Some explanations
57 1.1.8.2 mjf =================
58 1.1.8.2 mjf
59 1.1.8.2 mjf 10. devfs
60 1.1.8.2 mjf ---------
61 1.1.8.2 mjf
62 1.1.8.2 mjf Devfs will allow device special files (the files used to access
63 1.1.8.2 mjf devices) to be created dynamically as and when they are attached to
64 1.1.8.2 mjf the system. This will greatly reduce the number of files in a /dev
65 1.1.8.2 mjf directory and removes the need to run the MAKEDEV script when support
66 1.1.8.2 mjf for new devices is added to the NetBSD kernel. NetBSD's devfs
67 1.1.8.2 mjf implementation will also allow multiple instances of the file system
68 1.1.8.2 mjf to be mounted simultaneously, which is very useful for chroot jails.
69 1.1.8.2 mjf
70 1.1.8.2 mjf Responsible: mjf
71 1.1.8.2 mjf
72 1.1.8.2 mjf 11. Journalling Functionality for FFS
73 1.1.8.2 mjf -------------------------------------
74 1.1.8.2 mjf
75 1.1.8.2 mjf Contributed by Wasabi Systems, Inc, technical review on tech-kern
76 1.1.8.2 mjf in March 2008, merged to HEAD in July 2008, will be in NetBSD 5.0.
77 1.1.8.2 mjf
78 1.1.8.2 mjf 12. Logical Volume Management
79 1.1.8.2 mjf -----------------------------
80 1.1.8.2 mjf
81 1.1.8.2 mjf Based on the Linux lvm2 and devmapper software, with a new kernel component
82 1.1.8.2 mjf for NetBSD written.
83 1.1.8.2 mjf
84 1.1.8.2 mjf Responsible: haad, martin
85 1.1.8.2 mjf
86 1.1.8.2 mjf 13. Native port of Sun's ZFS
87 1.1.8.2 mjf ----------------------------
88 1.1.8.2 mjf
89 1.1.8.2 mjf Mostly completed by ad@, this is the FreeBSD port of Sun's ZFS, with
90 1.1.8.2 mjf modifications to make it compile on NetBSD 5.0 by ad@, and based on
91 1.1.8.2 mjf the original Sun code for the block layer, rather than the GEOM-based
92 1.1.8.2 mjf layer.
93 1.1.8.2 mjf
94 1.1.8.2 mjf Responsible: oster, agc
95 1.1.8.2 mjf
96 1.1.8.2 mjf 14. ReFUSE-lowlevel
97 1.1.8.2 mjf -------------------
98 1.1.8.2 mjf
99 1.1.8.2 mjf FUSE has two interfaces, the normal high-level one, and a lower-level
100 1.1.8.2 mjf interface which is closer to the way standard file systems operate. This
101 1.1.8.2 mjf adds the low-level functionality in the same way that ReFUSE adds the
102 1.1.8.2 mjf high-level functionality
103 1.1.8.2 mjf
104 1.1.8.2 mjf Responsible: pooka, agc
105 1.1.8.2 mjf
106 1.1.8.2 mjf 15. Web-based Management tools for Storage Subsystems
107 1.1.8.2 mjf -----------------------------------------------------
108 1.1.8.2 mjf
109 1.1.8.2 mjf Standard tools for managing the storage subsystems that NetBSD provides,
110 1.1.8.2 mjf using a standard web-server as the basic user interface on the storage
111 1.1.8.2 mjf device, allowing remote management by a standard web browser.
112 1.1.8.2 mjf
113 1.1.8.2 mjf Responsible: agc
114 1.1.8.2 mjf
115 1.1.8.2 mjf 16. OSD
116 1.1.8.2 mjf -------
117 1.1.8.2 mjf
118 1.1.8.2 mjf Based on the T10 specification, and the Intel reference code. An Object
119 1.1.8.2 mjf Storage Device, where some of the functionality of a file system is placed
120 1.1.8.2 mjf in the storage device.
121 1.1.8.2 mjf
122 1.1.8.2 mjf Responsible: agc
123 1.1.8.2 mjf
124 1.1.8.2 mjf
125 1.1.8.2 mjf Alistair Crooks
126 1.1.8.2 mjf Sun Mar 2 23:31:03 GMT 2008
127