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