Abstract
Administrators often prefer to keep related sets of files in different locations or media, as it is easier to maintain them separately. Users, however, prefer to see all files in one location for convenience. One solution that accommodates both needs is virtual namespace unification---providing a merged view of several directories without physically merging them. For example, namespace unification can merge the contents of several CD-ROM images without unpacking them, merge binary directories from different packages, merge views from several file servers, and more. Namespace unification can also enable snapshotting by marking some data sources read-only and then utilizing copy-on-write for the read-only sources. For example, an OS image may be contained on a read-only CD-ROM image---and the user's configuration, data, and programs could be stored in a separate read-write directory. With copy-on-write unification, the user need not be concerned about the two disparate file systems.It is difficult to maintain Unix semantics while offering a versatile namespace unification system. Past efforts to provide such unification often compromised on the set of features provided or Unix compatibility---resulting in an incomplete solution that users could not use.We designed and implemented a versatile namespace unification system called Unionfs. Unionfs maintains Unix semantics while offering advanced namespace unification features: dynamic insertion and removal of namespaces at any point in the merged view, mixing read-only and read-write components, efficient in-kernel duplicate elimination, NFS interoperability, and more. Since releasing our Linux implementation, it has been used by thousands of users and over a dozen Linux distributions, which helped us discover and solve many practical problems.
- AT&T Bell Laboratories. 1995. Plan 9---Programmer's Manual. AT&T Bell Laboratories.]]Google Scholar
- Ellard, D. and Seltzer, M. 2003. NFS tricks and benchmarking traps. In Proceedings of the Annual USENIX Technical Conference, FREENIX Track (San Antonio, Tex.), 101--114.]] Google Scholar
- Flouris, M. D. and Bilas, A. 2004. Clotho: Transparent data versioning at the block I/O level. In Proceedings of the 12th NASA Goddard, 21st IEEE Conference on Mass Storage Systems and Technologies (MSST 2004). College Park, Md. 315--328.]]Google Scholar
- Fraser, T., Badger, L., and Feldman, M. 1999. Hardening COTS software with generic software wrappers. In Proceedings of the 1999 IEEE Symposium on Security and Privacy, 2--16.]]Google Scholar
- Guy, R. G., Heidemann, J. S., Mak, W., Page Jr., T. W., Popek, G. J., and Rothmeier, D. 1990. Implementation of the Ficus replicated file system. In Proceedings of the Summer USENIX Technical Conference, 63--71.]]Google Scholar
- Heidemann, J. S. and Popek, G. J. 1994. File system development with stackable layers. ACM Trans. Comput. Syst. 12, 1 (Feb.), 58--89.]] Google Scholar
- Hendricks, D. 1990. A filesystem for software development. In Proceedings of the USENIX Summer Conference (Anaheim, Calif.), 333--340.]]Google Scholar
- Hitz, D., Lau, J., and Malcolm, M. 1994. File system design for an NFS file server appliance. In Proceedings of the USENIX Winter Technical Conference (San Francisco, Calif.), 235--245.]] Google Scholar
- Joukov, N., Wright, C. P., and Zadok, E. 2004. FSprof: An in-kernel file system operations profiler. Tech. Rep. FSL-04-06, Computer Science Department, Stony Brook University. www.fsl.cs.sunysb.edu/docs/aggregate_stats-tr/aggregate_stats.pdf.]]Google Scholar
- Kamp, P. H. and Watson, R. N. M. 2000. Jails: Confining the omnipotent root. In Proceedings of the 2nd International System Administration and Networking Conference (SANE2000). Maastricht, The Netherlands.]]Google Scholar
- Katcher, J. 1997. PostMark: A new filesystem benchmark. Tech. Rep. TR3022, Network Appliance. www.netapp.com/tech_library/3022.html.]]Google Scholar
- Korn, D. G. and Krell, E. 1990. A new dimension for the Unix file system. Softw. Prac. Expe., 19--34.]] Google Scholar
- McKusick, M. K. and Ganger, G. R. 1999. Soft updates: A technique for eliminating most synchronous writes in the fast filesystem. In Proceedings of the Annual USENIX Technical Conference, FREENIX Track (Monterey, Calif.), 1--18.]] Google Scholar
- OpenBSD. 2005. OpenSSH. www.openssh.org.]]Google Scholar
- Pendry, J. S. and McKusick, M. K. 1995. Union mounts in 4.4BSD-Lite. In Proceedings of the USENIX Technical Conference on UNIX and Advanced Computing Systems, 25--33.]] Google Scholar
- Pendry, J. S., Williams, N., and Zadok, E. 2003. Am-utils User Manual, 6.1b3 ed. www.am-utils.org.]]Google Scholar
- Peterson, Z. and Burns, R. 2005. Ext3cow: A time-shifting file system for regulatory compliance. Trans. Storage 1, 2, 190--212.]] Google Scholar
- Roselli, D., Lorch, J. R., and Anderson, T. E. 2000. A comparison of file system workloads. In Proceedings of the Annual USENIX Technical Conference (San Diego, Calif.), 41--54.]] Google Scholar
- Rosenthal, D. S. H. 1990. Evolving the Vnode interface. In Proceedings of the Summer USENIX Technical Conference, 107--18.]]Google Scholar
- Spadavecchia, J. and Zadok, E. 2002. Enhancing NFS cross-administrative domain access. In Proceedings of the Annual USENIX Technical Conference, FREENIX Track (Monterey, Calif.), 181--194.]] Google Scholar
- Wright, C. P., Martino, M., and Zadok, E. 2003. NCryptfs: A secure and convenient cryptographic file system. In Proceedings of the Annual USENIX Technical Conference (San Antonio, Tex.), 197--210.]]Google Scholar
- Zadok, E. and Nieh, J. 2000. FiST: A language for stackable file systems. In Proceedings of the Annual USENIX Technical Conference (San Diego, Calif.), 55--70.]] Google Scholar
Index Terms
Versatility and Unix semantics in namespace unification
Recommendations
On incremental file system development
Developing file systems from scratch is difficult and error prone. Using layered, or stackable, file systems is a powerful technique to incrementally extend the functionality of existing file systems on commodity OSes at runtime. In this article, we ...
Design of data backup on distributed memory system based on key-value store using hot/cold data management
RACS '14: Proceedings of the 2014 Conference on Research in Adaptive and Convergent SystemsRecently, it has been observed that distributed memory systems are being preferred over traditional RDBMS system in several fields that require extensive data processing. However, it is difficult to store data permanently in a distributed memory system. ...
Undecidability of the unification and admissibility problems for modal and description logics
We show that the unification problem “is there a substitution instance of a given formula that is provable in a given logic?” is undecidable for basic modal logics K and K4 extended with the universal modality. It follows that the admissibility problem ...
Comments