Access the full text.
Sign up today, get DeepDyve free for 14 days.
Meredith Patterson, Dan Hirsch
[nHammer Parser Generator (March 2014). Retrieved on June 26, 2020 from https://github.com/UpstandingHackers/hammer., 26
Ioan Stefanovici, Eno Thereska, G. O'Shea, Bianca Schroeder, Hitesh Ballani, T. Karagiannis, A. Rowstron, T. Talpey (2015)
Software-defined caching: managing caches in multi-tenant data centersProceedings of the Sixth ACM Symposium on Cloud Computing
Kathleen Fisher, D. Walker (2011)
The PADS project: an overview
Michael Mesnier, Feng Chen, Tian Luo, Jason B. Akers (2011)
Differentiated storage servicesProceedings of the Symposium on Operating Systems Principles (SOSP’11)
Microsoft TechNet
[nHow to Convert FAT Disks to NTFS. Retrieved on June 26, 2020 from https://technet.microsoft.com/en-us/library/bb456984.aspx., 26
Muthian Sivathanu, Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau, Somesh Jha (2005)
A logic of file systemsProceedings of the USENIX Conference on File and Storage Technologies (FAST’05).
G. Necula, Scott McPeak, Westley Weimer (2002)
CCured: type-safe retrofitting of legacy code
Kuei Sun, Matthew Lakier, Angela Demke Brown, Ashvin Goel (2018)
Breaking apart the {VFS} for managing file systemsProceedings of the 10th USENIX Workshop on Hot Topics in Storage and File Systems (HotStorage’18).
Gopalan Sivathanu, Swaminathan Sundararaman, Erez Zadok (2006)
Type-safe disksProceedings of the USENIX Symposium on Operating Systems Design and Implementation (OSDI’06)
Linus Torvalds, Josh Triplett, Christopher Li (2007)
Sparse—A semantic parser for CRetrieved on June 26, 2020 from http://sparse.wiki.kernel.org., 26
Sidney Amani, Leonid Ryzhyk, Toby Murray (2012)
Towards a fully verified file systemEuroSys Doctoral Workshop 2012.
Michael Chow, David Meisner, Jason Flinn, Daniel Peek, Thomas F. Wenisch (2014)
The mystery machine: End-to-end performance analysis of large-scale internet servicesProceedings of the 11th USENIX Symposium on Operating Systems Design and Implementation (OSDI’14). USENIX Association
David Beazley (2013)
PLY (Python Lex-Yacc)Retrieved on June 26, 2020 from http://www.dabeaz.com/ply/., 26
Theodore Ts’o (2017)
E2fsprogs: Ext2/3/4 filesystem utilitiesRetrieved on June 26, 2020 from http://e2fsprogs.sourceforge.net/., 26
Haogang Chen, Daniel Ziegler, Tej Chajed, A. Chlipala, M. Kaashoek, N. Zeldovich (2015)
Using Crash Hoare logic for certifying the FSCQ file systemProceedings of the 25th Symposium on Operating Systems Principles
Ramez Elmasri, Shamkant B. Navathe (2011)
Database Systems
Muthian Sivathanu, Vijayan Prabhakaran, Florentina I. Popovici, Timothy E. Denehy, Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau (2003)
Semantically-smart disk systemsProceedings of the USENIX Conference on File and Storage Technologies (FAST’03)
Michal Zalewski (2016)
American fuzzy lopRetrieved on June 26, 2020 from http://lcamtuf.coredump.cx/afl/., 26
Ian Hickson, David Hyatt (2011)
Html5W3C Working Draft WD-html5-20110525
Lanyue Lu, A. Arpaci-Dusseau, Remzi Arpaci-Dusseau, Shan Lu (2013)
A Study of Linux File System EvolutionACM Transactions on Storage (TOS), 10
O. Rodeh, Josef Bacik, Chris Mason (2013)
BTRFS: The Linux B-Tree FilesystemACM Trans. Storage, 9
Hector Garcia-Molina, Jeffrey D. Ullman, Jennifer Widom (2000)
Database System Implementation
Armin Ronacher (2011)
Jinja2 DocumentationJinja2 Documentation.
Kuei Jack Sun (2013)
Robust Consistency Checking for Modern FilesystemsPh.D. Dissertation. University of Toronto.
Andrew Wilson (2008)
The new and improved FileBenchProceedings of the 6th USENIX Conference on File and Storage Technologies. https://github.com/filebench/filebench/.
Al Danial (2009)
Cloc--count lines of codeOpen Source (2009). Retrieved June 26, 2020 from http://cloc.sourceforge.net/., 26
W. Hesselink, M. Lali (2009)
Formalizing a hierarchical file systemFormal Aspects of Computing, 24
D. Fryer, K. Sun, R. Mahmood, T. Cheng, Shaun Benjamin, Ashvin Goel, Angela Brown (2012)
Recon: Verifying file system consistency at runtimeACM Trans. Storage, 8
Julian Bangert, Nickolai Zeldovich (2014)
Nail: A practical tool for parsing and generating data formats11th USENIX Symposium on Operating Systems Design and Implementation (OSDI’14)
Ao Ma, Chris Dragga, Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau (2013)
ffsck: The fast file system checkerProceedings of the USENIX Conference on File and Storage Technologies (FAST’13).
Erich Gamma (1995)
Design Patterns: Elements of Reusable Object-Oriented SoftwarePearson Education
Brian Buckeye, Kevin Liston (2006)
Recovering Deleted Files in LinuxRetrieved on June 26, 2020 from http://citeseerx.ist.psu.edu/viewdoc/download?., 26
Haryadi S. Gunawi, Abhishek Rajimwale, Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau (2008)
SQCK: A declarative file system checkerProceedings of the USENIX Symposium on Operating Systems Design and Implementation (OSDI).
Tom Warren
[nApple is upgrading millions of iOS devices to a new modern file system today. Retrieved March 27, 2017 from https://www.theverge.com/2017/3/27/15076244/apple-file-system-apfs-ios-10-3-features., 27
Curtis Gedak (2012)
Manage Partitions with GParted How-toPackt Publishing Ltd.
Kenton Varda (2008)
Protocol buffers: Google’s data interchange formatGoogle Open Source Blog
D. Steedman (1993)
Abstract Syntax Notation One (ASN
Philippa Gardner, Gian Ntzik, Adam Wright (2014)
Local Reasoning for the POSIX File System
Changman Lee, Dongho Sim, Jooyoung Hwang, Sangyeun Cho (2015)
F2FS: A new file system for flash storageProceedings of the 13th USENIX Conference on File and Storage Technologies (FAST’15)
Xu Zhao, Kirk Rodrigues, Yu Luo, Ding Yuan, Michael Stumm (2016)
Non-intrusive performance profiling for entire software stacks based on the flow reconstruction principleProceedings of the12th USENIX Symposium on Operating Systems Design and Implementation (OSDI’16). USENIX Association
Kent Overstreet (2016)
Linux BcacheRetrieved on June 26, 2020 from https://bcache.evilpiepirate.org/., 26
Junfeng Yang, Paul Twohey, D. Engler, M. Musuvathi (2004)
Using model checking to find serious file system errors
Haryadi S. Gunawi, Vijayan Prabhakaran, Swetha Krishnan, Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau (2007)
Improving file system reliability with I/O shepherdingProceedings of the Symposium on Operating Systems Principles (SOSP’07)
Leslie Lamport (1994)
LATEX: A Document Preparation System: User’s Guide and Reference ManualAddison-Wesley.
Lakshmi N. Bairavasundaram, Meenali Rungta, Nitin Agrawa, Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau, Michael M. Swift (2008)
Analyzing the effects of disk-pointer corruptionProceedings of the 2008 IEEE International Conference on Dependable Systems and Networks With FTCS and DCC (DSN’08). IEEE, 2008
F. Zhou, J. Condit, Z. Anderson, I. Bagrak, R. Ennals, M. Harren, G. Necula, E. Brewer (2006)
SafeDrive: Safe and recoverable extensions using language-based techniquesProceedings of the 7th Symposium on Operating Systems Design and Implementation. USENIX Association
Many file-system applications such as defragmentation tools, file-system checkers, or data recovery tools, operate at the storage layer. Today, developers of these file-system aware storage applications require detailed knowledge of the file-system format, which requires significant time to learn, often by trial and error, due to insufficient documentation or specification of the format. Furthermore, these applications perform ad-hoc processing of the file-system metadata, leading to bugs and vulnerabilities. We propose Spiffy, an annotation language for specifying the on-disk format of a file system. File-system developers annotate the data structures of a file system, and we use these annotations to generate a library that allows identifying, parsing, and traversing file-system metadata, providing support for both offline and online storage applications. This approach simplifies the development of storage applications that work across different file systems because it reduces the amount of file-system--specific code that needs to be written. We have written annotations for the Linux Ext4, Btrfs, and F2FS file systems, and developed several applications for these file systems, including a type-specific metadata corruptor, a file-system converter, an online storage layer cache that preferentially caches files for certain users, and a runtime file-system checker. Our experiments show that applications built with the Spiffy library for accessing file-system metadata can achieve good performance and are robust against file-system corruption errors.
ACM Transactions on Storage (TOS) – Association for Computing Machinery
Published: Aug 4, 2020
Keywords: Annotation language
Read and print from thousands of top scholarly journals.
Already have an account? Log in
Bookmark this article. You can see your Bookmarks on your DeepDyve Library.
To save an article, log in first, or sign up for a DeepDyve account if you don’t already have one.
Copy and paste the desired citation format or use the link below to download a file formatted for EndNote
Access the full text.
Sign up today, get DeepDyve free for 14 days.
All DeepDyve websites use cookies to improve your online experience. They were placed on your computer when you launched this website. You can change your cookie settings through your browser.