2009-10-02 11:43:01 +04:00
|
|
|
$NetBSD: storage,v 1.7 2009/10/02 07:43:01 cegger Exp $
|
2008-03-19 23:12:53 +03:00
|
|
|
|
|
|
|
NetBSD Storage Roadmap
|
|
|
|
======================
|
|
|
|
|
|
|
|
This is a small roadmap document, and deals with the storage and file
|
|
|
|
systems side of the operating system.
|
|
|
|
|
2009-01-26 07:55:59 +03:00
|
|
|
The following elements and projects are pencilled in for 6.0, but
|
2008-03-19 23:12:53 +03:00
|
|
|
please do not rely on them being there.
|
|
|
|
|
2009-09-16 01:07:58 +04:00
|
|
|
1. devfs
|
|
|
|
2. logical volume management
|
|
|
|
3. a native port of Sun's ZFS
|
|
|
|
4. ReFUSE-lowlevel
|
|
|
|
5. web-based management tools for storage subsystems
|
|
|
|
6. support for flash devices - NAND and MMC/SD
|
|
|
|
7. rump extensions
|
|
|
|
8. virtualised disks in userland
|
|
|
|
9. in-kernel iSCSI initiator
|
2008-03-19 23:12:53 +03:00
|
|
|
|
2009-09-16 01:07:58 +04:00
|
|
|
We currently expect to branch 6.0 in the March 2010 timeframe, with a view
|
|
|
|
to a 6.0 release later in 2010.
|
2008-03-19 23:12:53 +03:00
|
|
|
|
2009-01-26 08:09:25 +03:00
|
|
|
We'll continue to update this roadmap as features and dates get firmed up.
|
2008-03-19 23:12:53 +03:00
|
|
|
|
|
|
|
Some explanations
|
|
|
|
=================
|
|
|
|
|
2009-09-16 01:07:58 +04:00
|
|
|
1. devfs
|
2008-03-19 23:12:53 +03:00
|
|
|
---------
|
|
|
|
|
|
|
|
Devfs will allow device special files (the files used to access
|
|
|
|
devices) to be created dynamically as and when they are attached to
|
|
|
|
the system. This will greatly reduce the number of files in a /dev
|
|
|
|
directory and removes the need to run the MAKEDEV script when support
|
|
|
|
for new devices is added to the NetBSD kernel. NetBSD's devfs
|
|
|
|
implementation will also allow multiple instances of the file system
|
|
|
|
to be mounted simultaneously, which is very useful for chroot jails.
|
2009-09-16 01:07:58 +04:00
|
|
|
Please contact core@ if you are interested in devfs development.
|
2008-03-19 23:12:53 +03:00
|
|
|
|
|
|
|
Responsible: mjf
|
|
|
|
|
2009-09-16 01:07:58 +04:00
|
|
|
2. Logical Volume Management
|
|
|
|
----------------------------
|
2008-03-19 23:12:53 +03:00
|
|
|
|
|
|
|
Based on the Linux lvm2 and devmapper software, with a new kernel component
|
2009-01-26 07:55:59 +03:00
|
|
|
for NetBSD written. Merged in 5.99.5 sources, will be in 6.0.
|
2008-03-19 23:12:53 +03:00
|
|
|
|
|
|
|
Responsible: haad, martin
|
|
|
|
|
2009-09-16 01:07:58 +04:00
|
|
|
3. Native port of Sun's ZFS
|
|
|
|
---------------------------
|
|
|
|
|
|
|
|
Two Summer of Code projects have been held, concentrating on the
|
|
|
|
provision of ZFS support for NetBSD. Mostly completed by haad, and
|
|
|
|
building on ver's work, this is the port of Sun's ZFS, with
|
|
|
|
modifications to make it compile on NetBSD by ad@, and based on the
|
|
|
|
Sun code for the block layer. Discussions are still taking place to
|
|
|
|
get the design right for support for the openat(2) system call family,
|
|
|
|
and the correct architecture for reclaiming vnodes.
|
2008-03-19 23:12:53 +03:00
|
|
|
|
2009-09-16 01:07:58 +04:00
|
|
|
The ZFS source code has been committed to the repository.
|
2008-03-19 23:12:53 +03:00
|
|
|
|
2009-09-16 01:07:58 +04:00
|
|
|
Responsible: haad, ad, ver
|
2008-03-19 23:12:53 +03:00
|
|
|
|
2009-09-16 01:07:58 +04:00
|
|
|
4. ReFUSE-lowlevel
|
|
|
|
------------------
|
2008-03-19 23:12:53 +03:00
|
|
|
|
|
|
|
FUSE has two interfaces, the normal high-level one, and a lower-level
|
|
|
|
interface which is closer to the way standard file systems operate. This
|
|
|
|
adds the low-level functionality in the same way that ReFUSE adds the
|
|
|
|
high-level functionality
|
|
|
|
|
|
|
|
Responsible: pooka, agc
|
|
|
|
|
2009-09-16 01:07:58 +04:00
|
|
|
5. Web-based Management tools for Storage Subsystems
|
|
|
|
----------------------------------------------------
|
2008-03-19 23:12:53 +03:00
|
|
|
|
|
|
|
Standard tools for managing the storage subsystems that NetBSD provides,
|
|
|
|
using a standard web-server as the basic user interface on the storage
|
|
|
|
device, allowing remote management by a standard web browser.
|
|
|
|
|
|
|
|
Responsible: agc
|
|
|
|
|
2009-09-16 01:07:58 +04:00
|
|
|
6. Support for flash devices - NAND and MMC/SD
|
|
|
|
----------------------------------------------
|
|
|
|
|
|
|
|
The NetBSD Foundation is interested in having a file system which is
|
|
|
|
optimised to work with today's flash devices, including SSDs both with
|
|
|
|
wear-levelling functionality and without, as well as support for NAND,
|
|
|
|
and MMC/SD devices. Please get in touch with core@ if you're interested
|
|
|
|
in helping out with this area of development.
|
|
|
|
|
|
|
|
Responsible: TBD
|
|
|
|
|
|
|
|
7. RUMP Extensions
|
|
|
|
------------------
|
|
|
|
|
|
|
|
Rump support has been in NetBSD for 2 releases now, and continues to be
|
|
|
|
developed actively. Recent additions have included cgd support, and smbfs
|
|
|
|
client support.
|
|
|
|
|
|
|
|
Responsible: pooka
|
|
|
|
|
|
|
|
8. Virtualised disks in Userland
|
|
|
|
--------------------------------
|
|
|
|
|
|
|
|
For better support of virtualization, a library which provides a consistent
|
|
|
|
view of virtualized disk images has been developed by jmcneill.
|
|
|
|
|
|
|
|
Responsible: jmcneill
|
|
|
|
|
|
|
|
9. In-kernel iSCSI Initiator
|
|
|
|
----------------------------
|
|
|
|
|
2009-10-02 11:43:01 +04:00
|
|
|
NetBSD has had a userland implementation of an iSCSI initiator since
|
2009-09-16 01:07:58 +04:00
|
|
|
NetBSD 4.99.35, based on ReFUSE. There is a possibility that an
|
|
|
|
in-kernel initiator may be available - please contact core if you are
|
|
|
|
interested in this functionality.
|
|
|
|
|
|
|
|
Responsible: core
|
|
|
|
|
2008-03-19 23:12:53 +03:00
|
|
|
|
|
|
|
Alistair Crooks
|
2009-09-16 01:07:58 +04:00
|
|
|
Tue 15 Sep 2009 08:44:14 PDT
|