linuxfs / EasyFsProjects
  • If you are citizen of an European Union member nation, you may not use this service unless you are at least 16 years old.

  • Browse and search Google Drive and Gmail attachments (plus Dropbox and Slack files) with a unified tool for working with your cloud files. Try Dokkio (from the makers of PBworks) for free. Now available on the web, Mac, Windows, and as a Chrome extension!



Page history last edited by PBworks 13 years, 2 months ago

Looking for a simple file systems project to work on? Try one of the following. The contact is the IRC nick of someone on #linuxfs you can talk to to find out more about the project. If you can also be a contact for a project, please add yourself as one.


  • Stat with flags - Implement flags to the stat() system call that allow you to say which fields of the stat structure you care about, and which the system can ignore. This can speed up stat() in many common cases. This was proposed to be a feature of the fstatat() system call, passing flags AT_GET_{SIZE,INO,UID,GID,...} to request only the specified fields, and ignoring others if any of those flags are given. Contact: valh, zab

    Update This project has been worked on by multiple people. This is being driven by the POSIX High End Computing Extensions Working Group for distributed filesystems.


  • SEEK_HOLE, SEEK_DATA - New parameters to seek() asking for the next part of the file with data in it. As it currently stands, even if a file is sparse on disk, the file system still has to shovel zeroes out through the read() system call. Some applications, such as archivers or backup programs, can make good use of an interface that says, e.g., the next 8MB of the file are all zeroes, instead of having to read 8MB of zeroes. See the following:

    Contact: cw, valh

    Update Eric Lorimer has written an initial implementation for ext3.

    The FIEMAP ioctl ( is a related project being implemented for several of the main Linux filesystems. This will allow an application to retrieve a full map of the allocation structure of a file, including information about unallocated or unwritten extents, holes, etc. This provides much more information than SEEK_HOLE and SEEK_DATA, though those could be implemented on top of FIEMAP.


  • A generically useful library for finding and managing contiguous areas of disk space. Getting the interface right is non-trivial, but there are a lot of concepts which are independent of on-disk file system layout which could be reused. Good starting points are the ext3 reservation code and/or the XFS extent allocation code (the ext2 preallocation code is NOT a good place to start). Short of that, finish and test the port of the ext3 reservation code to ext2, started here:

    Contact: valh


  • Some kind of hook into the disk EIO reporting which allows file systems to register a handler which does things like set the "fsck me now" bit. Contact: valh


  • Lazy atime - Keep atime in memory, only update it on-disk when the inode will be written out for some other reason (basically, don't dirty the inode on an atime update). This is as opposed to plain old noatime - see touch_atime() in fs/inode.c. Contact: valh

    Update I wrote both a lazy atime and a relative atime, see:



Comments (0)

You don't have permission to comment on this page.