A Versatile and User-Oriented Versioning File System

  • Authors:
  • Kiran-Kumar Muniswamy-Reddy;Charles P. Wright;Andrew Himmer;Erez Zadok

  • Affiliations:
  • Stony Brook University;Stony Brook University;Stony Brook University;Stony Brook University

  • Venue:
  • FAST '04 Proceedings of the 3rd USENIX Conference on File and Storage Technologies
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

File versioning is a useful technique for recording a history of changes. Applications of versioning include backups and disaster recovery, as well as monitoring intruders' activities. Alas, modern systems do not include an automatic and easy-to-use file versioning system. Existing backup solutions are slow and inflexible for users. Even worse, they often lack backups for the most recent day's activities. Online disk snapshotting systems offer more fine-grained versioning, but still do not record the most recent changes to files. Moreover, existing systems also do not give individual users the flexibility to control versioning policies.We designed a lightweight user-oriented versioning file system called Versionfs. Versionfs works with any file system and provides a host of user-configurable policies: versioning by users, groups, processes, or file names and extensions; version retention policies and version storage policies. Versionfs creates file versions automatically, transparently, and in a file-system portable manner-while maintaining Unix semantics. A set of user-level utilities allow administrators to configure and enforce default policies: users can set policies within configured boundaries, as well as view, control, and recover files and their versions. We have implemented the system on Linux. Our performance evaluation demonstrates overheads that are not noticeable by users under normal workloads.