version 1.1, 2011/11/06 19:58:46
|
version 1.2, 2014/02/27 05:10:58
|
Line 1
|
Line 1
|
[[!template id=project |
[[!template id=project |
|
|
title="Implement Ext3 file system support" |
title="Implement ext3 file system support" |
|
|
contact=""" |
contact=""" |
[tech-kern](mailto:tech-kern@NetBSD.org) |
[tech-kern](mailto:tech-kern@NetBSD.org) |
Line 11 difficulty="medium"
|
Line 11 difficulty="medium"
|
duration="1-2 months" |
duration="1-2 months" |
|
|
description=""" |
description=""" |
The Ext2 file system is the de-facto standard, Unix-like file system used on |
The ext2 file system is the lowest common denominator Unix-like file system in the Linux world, as ffs is in the BSD world. NetBSD has had kernel support for ext2 for quite some time. |
Linux installations. Ext2 does not have journaling capabilities, so Ext3 was |
|
built on top of it to add them without breaking compatibility with Ext2. Ext3 |
However, the Linux world has moved on, with ext3 and now to some extent also ext4 superseding ext2 as the baseline. NetBSD has no support for ext3; the goal of this project is to implement that support. |
is now a stable journaled file system used on lots of Linux installations. |
|
|
Since ext3 is a backward-compatible extension that adds journaling to ext2, NetBSD can mount clean ext3 volumes as ext2 volumes. However, NetBSD cannot mount ext3 volumes with journaling and it cannot handle recovery for crashed volumes. |
NetBSD currently fully supports the Ext2 file system at the kernel level. |
As ext2 by itself provides no crash recovery guarantees whatsoever, this journaling support is highly desirable. |
Unfortunately there is no support for the new features included in Ext3, |
|
although Ext3 file systems can be mounted provided that their journal is clean. |
The ext3 support should be implemented by extending the existing ext2 support (which is in src/sys/ufs/ext2fs), not by rewriting the whole thing over from scratch. It is possible that some of the ostensibly filesystem-independent code that was added along with the ffs WAPBL journaling extensions might be also useable as part of an ext3 implementation; but it also might not be. |
It would be very nice if NetBSD had Ext3 file system support because the system |
|
could immediately gain a journaled file system as well as compatibility with |
The full requirements for this project include complete support for ext3 in both the kernel and the userland tools. It is possible that a reduced version of this project with a clearly defined subset of these requirements could still be a viable GSOC project; if this appeals to you please coordinate with a prospective mentor. |
Linux (imagine having both systems installed on a single partition!). |
|
|
|
Therefore, the aim of this project is to add Ext3 support to the NetBSD kernel |
|
accompanied by any userland code required to support it. This shouldn't be too |
|
difficult because, as we already mentioned, Ext2 is implemented in the NetBSD |
|
kernel (see src/sys/ufs/ext2fs/) and Ext3 is an extension of it. Also, WAPBL |
|
recently added journalling to FFS; maybe parts of the code could be reused. |
|
""" |
""" |
]] |
]] |