blubbedev.net/icefs
IceFileSystem (2007-2011)
Design goals and priorities
64bit disk filesystem supporting a high number of useful features, by a design prioritised like following:
1-Reliability2-Scalability3-Efficiency4-Speed
Features
  • 64bit file/partition/extent sizes (actually very close to 2^63 bytes). No self imposed fragmentation of large files unless there is not enough contigious space available.
  • All metadata on disk is checksummed. This means any errors on disk will be detected a lot quicker.
  • Meta level jornalling. Journalling makes operations to disk atomic.
  • Hardlinks (directory and file), softlinks, notification, examine all, record locking, file comments. Fully supported.
  • Supports sector sizes from 2^9 to 2^31, atleast in theory. Filesystem layout on disk is not dependant on a specific underlying sector size. Filesystem may however place data on disk so that it is optimal for the sector size used.
  • Supports blocksizes from 512 bytes to 32 KiB. Still works very well with small blocksizes though.
  • Filesystem does not get slower for larger partitions (scales very well), or when heavily fragmented.
  • No limit in # of files/dirs in partition/dirs.
  • Handles removable media.
  • Supports optional recycle dir.
  • Supports automatically truncated log files and file change log.
  • Wastes only 128k (and preallocates another 128k for meta space) for filesystem administration data, regardless of partition size.
  • Dynamic handling of cache memory. Memory is given back (progressivly) to system when not used.
Technical
  • Extent based space and file data layout.
  • Main space allocator is based on the TLSF algorithm, adapted for on-disk storage.
  • All metadata except extent headers are located in special extents called pools and use a local bitmap to keep track of free meta space. Metadata is very compact.
  • Implementation uses two level caching (sector + metadata).
  • Implementation supports preallocation to minimize fragmentation (and increase speed) when several files are concurrently written to.
Platforms supported
  • MorphOS (2.x for best performance)
    IceFileSystem and all its support tools can be downloaded right here, latest version is 2.8. (released 2011.11.18)

  • AmigaOS 3.x
    Coming 2011..maybe :)
Tools included
  • FSFormat - Generic formatting application (MUI)
  • IceConfig - IceFS configuration application (MUI)
  • IceInfo - Displays locks and notifys on IceFS volumes (MUI)
  • IceCheck - Check integrity of on-disk layout (CLI)
  • LogFileCtrl - Create and change size of logfiles (CLI)
  • IceSalv - Simple file salvage tool (CLI)
  • ShowLinks - Lists hard and soft links (CLI)
Links
IceDoctor
Mailing-list
Ice2Layout.PDF (WIP)
Contact and (c)
dev blubbedev net