Skip to main content
Back to USENIX
  • Conferences
  • Students
Sign in

USENIX Conference Policies

  • Event Code of Conduct
  • Conference Network Policy
  • Statement on Environmental Responsibility Policy

User-Level Extensibility in the Mona File System

An extensible file system raises the level of file abstraction which provides benefits to both the end-user and programmer. The Modify-on-Access file system provides safe and simple user-defined extensibility through transformations, which are modular operations on input and output streams. A user inserts transformations into input and output streams, which modify the data accessed. Untrusted transformations execute in user space for safety. Performance of user-level transformations, although much slower than that of in-kernel transformations, is comparable to other user-level approaches, such as pipes.

This paper presents several interesting user-level transformations. For example, the command transformation executes a shell script whose input and output are routed from/to the file system. A file guarded by the ftp transformation is a ``mount'' point to an FTP server. The php transformation creates dynamic documents from PHP source when read. A file written to a sound device that is guarded by the mp3 transformation is decoded on the fly, in the file system, before reaching the sound device.

Mona is a novel approach to file system extensibility that provides heretofore unseen flexibility. Mona is fine-grained: a user defines actions on a per-file basis. It is modular: transformations can be stacked upon one another. Mona supports two classes of transformations: kernel-resident and user-level.

Paul W. Schermerhorn, University of Notre Dame

Robert J. Minerick, University of Notre Dame

Peter Rijks, University of Notre Dame

Vincent W. Freeh, University of Notre Dame

BibTeX
@inproceedings {270960,
author = {Paul W. Schermerhorn and Robert J. Minerick and Peter Rijks and Vincent W. Freeh},
title = {{User-Level} Extensibility in the Mona File System},
booktitle = {2001 USENIX Annual Technical Conference (USENIX ATC 01)},
year = {2001},
address = {Boston, MA},
url = {https://www.usenix.org/conference/2001-usenix-annual-technical-conference/user-level-extensibility-mona-file-system},
publisher = {USENIX Association},
month = jun
}
Download

Links

Paper: 
http://usenix.org/publications/library/proceedings/usenix01/freenix01/full_papers/schermerhorn/schermerhorn.pdf
Paper (HTML): 
http://usenix.org/publications/library/proceedings/usenix01/freenix01/full_papers/schermerhorn/schermerhorn_html/index.html
  • Log in or register to post comments

© USENIX
EIN 13-3055038

  • Privacy Policy
  • Contact Us