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.

  • Introducing Dokkio, a new service from the creators of PBworks. Find and manage the files you've stored in Dropbox, Google Drive, Gmail, Slack, and more. Try it for free today.

View
 

EasyFsProjects

Page history last edited by PBworks 11 years, 8 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 http://www.opengroup.org/platform/hecewg/ 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:

    http://blogs.sun.com/roller/page/bonwick?entry=seek_hole_and_seek_data

    http://www.google.com/search?hl=en&lr=&q=+site:lkml.org+seek_hole+seek_data

    Contact: cw, valh

    Update Eric Lorimer has written an initial implementation for ext3.

    The FIEMAP ioctl (http://oss.sgi.com/archives/xfs/2007-04/msg00082.html) 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:

    http://infohost.nmt.edu/~val/patches/resv_only_patch

    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: http://infohost.nmt.edu/~val/patches.html#relatime

 

 

Comments (0)

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