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