Diff for /wikisrc/projects/project/ext3fs.mdwn between versions 1.1 and 1.2

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.  
 """  """
 ]]  ]]

Removed from v.1.1  
changed lines
  Added in v.1.2

CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb