Home | History | Annotate | Line # | Download | only in roadmaps
storage revision 1.8.6.1
      1 $NetBSD: storage,v 1.8.6.1 2012/04/17 00:02:56 yamt Exp $
      2 
      3 NetBSD Storage Roadmap
      4 ======================
      5 
      6 This is a small roadmap document, and deals with the storage and file
      7 systems side of the operating system.
      8 
      9 The following elements and projects are pencilled in for 6.0, but
     10 please do not rely on them being there.
     11 
     12 Features that will be in 6.0:
     13 2. logical volume management
     14 3. a native port of Sun's ZFS
     15 4. ReFUSE, perfuse and pud
     16 6. Support for flash devices - NAND, and flash file system
     17 7. rump extensions
     18 9. in-kernel iSCSI initiator
     19 10. RAIDframe parity map
     20 11. quota system re-work
     21 
     22 Features that are planned for future releases:
     23 1. devfs/udevfsd
     24 5. web-based management tools for storage subsystems
     25 8. virtualised disks in userland
     26 12. lfs renovation
     27 
     28 We'll continue to update this roadmap as features and dates get firmed up.
     29 
     30 Some explanations
     31 =================
     32 
     33 1. udevfsd
     34 ----------
     35 
     36 There has always been discussion over devfs, and experience with it
     37 seems mixed (to be kind). At the same time, carrying around a whole
     38 populated /dev seems quite possible and effective, but maybe a bit
     39 unwieldy. jmcneill's udevfsd addresses this in a different way, and
     40 is currently in othersrc/external/bsd/udevfsd. Not planned for 6.0
     41 right now.
     42 
     43 Responsible: jmcneill
     44 
     45 2. Logical Volume Management
     46 ----------------------------
     47 
     48 Based on the Linux lvm2 and devmapper software, with a new kernel component
     49 for NetBSD written. Merged in 5.99.5 sources, will be in 6.0.
     50 
     51 Responsible: haad, martin
     52 
     53 3. Native port of Sun's ZFS
     54 ---------------------------
     55 
     56 Two Summer of Code projects have been held, concentrating on the
     57 provision of ZFS support for NetBSD.  Mostly completed by haad, and
     58 building on ver's work, this is the port of Sun's ZFS, with
     59 modifications to make it compile on NetBSD by ad@, and based on the
     60 Sun code for the block layer. Discussions are still taking place to
     61 get the design right for support for the openat(2) system call family,
     62 and the correct architecture for reclaiming vnodes.
     63 
     64 The ZFS source code has been committed to the repository.
     65 
     66 Responsible: haad, ad, ver
     67 
     68 4. ReFUSE, perfuse and pud
     69 --------------------------
     70 
     71 FUSE has two interfaces, the normal high-level one, and a lower-level
     72 interface which is closer to the way standard file systems operate. 
     73 manu's perfuse adds the low-level functionality in the same way that
     74 ReFUSE adds the high-level functionality.  In addition, there is the
     75 "pass to userspace device" framework added by pooka as part of rump. 
     76 All 3 will be in 6.0.
     77 
     78 Responsible: pooka, manu, agc
     79 
     80 5. Web-based Management tools for Storage Subsystems
     81 ----------------------------------------------------
     82 
     83 Standard tools for managing the storage subsystems that NetBSD
     84 provides, using a standard web-server as the basic user interface on
     85 the storage device, allowing remote management by a standard web
     86 browser.  CIM and related functinoality are interesting datapoints in
     87 this space, although credentials and authentication are always
     88 challenges in this space. Will not make it into 6.0
     89 
     90 Responsible: agc
     91 
     92 6. Support for flash devices - NAND, and flash file system
     93 ----------------------------------------------------------
     94 
     95 ahoka has have contributed many things in this area, including
     96 flash(4), flash(9), flashctl(8) and nand(9).  In addition, the
     97 University of Szeged has contributed chfs,
     98 http://en.wikipedia.org/wiki/CHFS, which is described as "the first
     99 open source flash specific file system written for NetBSD".  All of
    100 these will be in 6.0.
    101 
    102 Responsible: ahoka
    103 
    104 7. RUMP Extensions
    105 ------------------
    106 
    107 Rump support has been in NetBSD for 2 releases now, and continues to be
    108 developed actively. Recent additions have included cgd support, and smbfs
    109 client support.
    110 
    111 Responsible: pooka
    112 
    113 
    114 8. Virtualised disks in Userland
    115 --------------------------------
    116 
    117 For better support of virtualization, a library which provides a consistent 
    118 view of virtualized disk images has been developed by jmcneill. This will
    119 not make it into 6.0, although some extra functionality for reading vmdk
    120 images is available in othersrc/external/bsd/vmdk.
    121 
    122 Responsible: jmcneill, agc
    123 
    124 
    125 9. In-kernel iSCSI Initiator
    126 ----------------------------
    127 
    128 NetBSD has had a userland implementation of an iSCSI initiator since
    129 NetBSD 4.99.35, based on ReFUSE.  Wasabi Systems kindly contributed their
    130 kernel-based iSCSI initiator, and it will be in 6.0.
    131 
    132 Responsible: riz, agc
    133 
    134 
    135 10. RAIDframe parity map
    136 ------------------------
    137 
    138 Jed Davis successfully completed a Summer of Code project to implement
    139 parity map zones for RAIDframe.  Parity mapping drastically reduces
    140 the amount of time spent rewriting parity after an unclean shutdown by
    141 keeping better track of which regions might have had outstanding
    142 writes.  Enabled by default; can be disabled on a per-set basis, or
    143 tuned, with the new raidctl(8) commands.
    144 
    145 Merged in 5.99.22 sources, and will be in 6.0.  A separate set of
    146 patches is available for NetBSD-5.
    147 
    148 Responsible: jld
    149 
    150 
    151 11. quota system re-work
    152 ------------------------
    153 
    154 The quota system has been re-worked by bouyer, and is in -current
    155 right now.  dholland is updating and modifying this rework so that it
    156 is a more generalised solution, with better features for security. 
    157 This is expected to be in 6.0, although there is a lot of work to
    158 complete.
    159 
    160 Responsible: bouyer, dholland
    161 
    162 
    163 12. LFS renovation
    164 ------------------
    165 
    166 LFS had been de-emphasised in the time period leading up to the
    167 5.0 release, but is undergoing some rework by perseant, and dholland
    168 has some contributions in this area too.
    169 
    170 Responsible: perseant, dholland
    171 
    172 
    173 Alistair Crooks, David Holland
    174 Sat Jan 14 05:52:37 PST 2012
    175