Home | History | Annotate | Line # | Download | only in roadmaps
storage revision 1.8
      1  1.8     agc $NetBSD: storage,v 1.8 2009/11/17 21:09:54 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.8     agc 7. rump extensions
     16  1.8     agc 10. RAIDframe parity map
     17  1.8     agc 
     18  1.8     agc Features that are planned for 6.0:
     19  1.8     agc 1. devfs
     20  1.5     agc 4. ReFUSE-lowlevel
     21  1.5     agc 5. web-based management tools for storage subsystems
     22  1.5     agc 6. support for flash devices - NAND and MMC/SD
     23  1.5     agc 8. virtualised disks in userland
     24  1.5     agc 9. in-kernel iSCSI initiator
     25  1.5     agc 
     26  1.5     agc We currently expect to branch 6.0 in the March 2010 timeframe, with a view
     27  1.5     agc to a 6.0 release later in 2010.
     28  1.1     agc 
     29  1.4     agc We'll continue to update this roadmap as features and dates get firmed up.
     30  1.1     agc 
     31  1.1     agc Some explanations
     32  1.1     agc =================
     33  1.1     agc 
     34  1.5     agc 1. devfs
     35  1.1     agc ---------
     36  1.1     agc 
     37  1.1     agc Devfs will allow device special files (the files used to access
     38  1.1     agc devices) to be created dynamically as and when they are attached to
     39  1.1     agc the system.  This will greatly reduce the number of files in a /dev
     40  1.1     agc directory and removes the need to run the MAKEDEV script when support
     41  1.1     agc for new devices is added to the NetBSD kernel.  NetBSD's devfs
     42  1.1     agc implementation will also allow multiple instances of the file system
     43  1.1     agc to be mounted simultaneously, which is very useful for chroot jails.
     44  1.5     agc Please contact core@ if you are interested in devfs development.
     45  1.1     agc 
     46  1.1     agc Responsible: mjf
     47  1.1     agc 
     48  1.5     agc 2. Logical Volume Management
     49  1.5     agc ----------------------------
     50  1.1     agc 
     51  1.1     agc Based on the Linux lvm2 and devmapper software, with a new kernel component
     52  1.3     agc for NetBSD written. Merged in 5.99.5 sources, will be in 6.0.
     53  1.1     agc 
     54  1.1     agc Responsible: haad, martin
     55  1.1     agc 
     56  1.5     agc 3. Native port of Sun's ZFS
     57  1.5     agc ---------------------------
     58  1.5     agc 
     59  1.5     agc Two Summer of Code projects have been held, concentrating on the
     60  1.5     agc provision of ZFS support for NetBSD.  Mostly completed by haad, and
     61  1.5     agc building on ver's work, this is the port of Sun's ZFS, with
     62  1.5     agc modifications to make it compile on NetBSD by ad@, and based on the
     63  1.5     agc Sun code for the block layer. Discussions are still taking place to
     64  1.5     agc get the design right for support for the openat(2) system call family,
     65  1.5     agc and the correct architecture for reclaiming vnodes.
     66  1.1     agc 
     67  1.5     agc The ZFS source code has been committed to the repository.
     68  1.1     agc 
     69  1.5     agc Responsible: haad, ad, ver
     70  1.1     agc 
     71  1.5     agc 4. ReFUSE-lowlevel
     72  1.5     agc ------------------
     73  1.1     agc 
     74  1.1     agc FUSE has two interfaces, the normal high-level one, and a lower-level
     75  1.1     agc interface which is closer to the way standard file systems operate. This
     76  1.1     agc adds the low-level functionality in the same way that ReFUSE adds the
     77  1.1     agc high-level functionality
     78  1.1     agc 
     79  1.1     agc Responsible: pooka, agc
     80  1.1     agc 
     81  1.5     agc 5. Web-based Management tools for Storage Subsystems
     82  1.5     agc ----------------------------------------------------
     83  1.1     agc 
     84  1.1     agc Standard tools for managing the storage subsystems that NetBSD provides,
     85  1.1     agc using a standard web-server as the basic user interface on the storage
     86  1.1     agc device, allowing remote management by a standard web browser.
     87  1.1     agc 
     88  1.1     agc Responsible: agc
     89  1.1     agc 
     90  1.5     agc 6. Support for flash devices - NAND and MMC/SD
     91  1.5     agc ----------------------------------------------
     92  1.5     agc 
     93  1.5     agc The NetBSD Foundation is interested in having a file system which is
     94  1.5     agc optimised to work with today's flash devices, including SSDs both with
     95  1.5     agc wear-levelling functionality and without, as well as support for NAND,
     96  1.5     agc and MMC/SD devices. Please get in touch with core@ if you're interested
     97  1.5     agc in helping out with this area of development.
     98  1.5     agc 
     99  1.5     agc Responsible: TBD
    100  1.5     agc 
    101  1.5     agc 7. RUMP Extensions
    102  1.5     agc ------------------
    103  1.5     agc 
    104  1.5     agc Rump support has been in NetBSD for 2 releases now, and continues to be
    105  1.5     agc developed actively. Recent additions have included cgd support, and smbfs
    106  1.5     agc client support.
    107  1.5     agc 
    108  1.5     agc Responsible: pooka
    109  1.5     agc 
    110  1.8     agc 
    111  1.5     agc 8. Virtualised disks in Userland
    112  1.5     agc --------------------------------
    113  1.5     agc 
    114  1.5     agc For better support of virtualization, a library which provides a consistent 
    115  1.5     agc view of virtualized disk images has been developed by jmcneill.
    116  1.5     agc 
    117  1.5     agc Responsible: jmcneill
    118  1.5     agc 
    119  1.8     agc 
    120  1.5     agc 9. In-kernel iSCSI Initiator
    121  1.5     agc ----------------------------
    122  1.5     agc 
    123  1.7  cegger NetBSD has had a userland implementation of an iSCSI initiator since
    124  1.5     agc NetBSD 4.99.35, based on ReFUSE.  There is a possibility that an
    125  1.5     agc in-kernel initiator may be available - please contact core if you are
    126  1.5     agc interested in this functionality.
    127  1.5     agc 
    128  1.5     agc Responsible: core
    129  1.5     agc 
    130  1.1     agc 
    131  1.8     agc 10. RAIDframe parity map
    132  1.8     agc ------------------------
    133  1.8     agc 
    134  1.8     agc Jed Davis successfully completed a Summer of Code project to implement
    135  1.8     agc parity map zones for RAIDframe.  Parity mapping drastically reduces
    136  1.8     agc the amount of time spent rewriting parity after an unclean shutdown by
    137  1.8     agc keeping better track of which regions might have had outstanding
    138  1.8     agc writes.  Enabled by default; can be disabled on a per-set basis, or
    139  1.8     agc tuned, with the new raidctl(8) commands.
    140  1.8     agc 
    141  1.8     agc Merged in 5.99.22 sources, and will be in 6.0.  A separate set of
    142  1.8     agc patches is available for NetBSD-5.
    143  1.8     agc 
    144  1.8     agc Responsible: jld
    145  1.8     agc 
    146  1.1     agc Alistair Crooks
    147  1.8     agc Tue Nov 17 07:17:20 PST 2009
    148