A Study of Linux File System Evolution
|
|
- Cornelius French
- 6 years ago
- Views:
Transcription
1 A Study of Linux File System Evolution Lanyue Lu Andrea C. Arpaci-Dusseau Remzi H. Arpaci-Dusseau Shan Lu University of Wisconsin - Madison
2 Local File Systems Are Important
3 Local File Systems Are Important Windows Mac Linux
4 Local File Systems Are Important Windows Mac Linux
5 Local File Systems Are Important Hadoop DFS Google GFS Windows Mac Linux
6 Local File Systems Are Important Hadoop DFS Google GFS Windows Mac Linux
7 Local File Systems Are Important Hadoop DFS Android iphone Google GFS Windows Mac Linux
8 Local File Systems Are Important Hadoop DFS Android iphone Google GFS Windows Mac Linux
9 Why Study Is Useful?
10 Why Study Is Useful? Study drives system designs previous work focuses on measurements little emphasis on system evolution
11 Why Study Is Useful? Study drives system designs previous work focuses on measurements little emphasis on system evolution Answer important questions complexity of file systems dominant bug types performance optimizations reliability enhancements similarities across file systems
12 Who Is This Study Useful To?
13 Who Is This Study Useful To? File system developers avoid same mistakes improve existing design and implementation
14 Who Is This Study Useful To? File system developers avoid same mistakes improve existing design and implementation System researchers identify problems that plague existing systems match research to reality
15 Who Is This Study Useful To? File system developers avoid same mistakes improve existing design and implementation System researchers identify problems that plague existing systems match research to reality Tool builders large-scale statistical bug patterns effective bug-finding tools realistic fault injection
16 How We Studied?
17 How We Studied? File systems are evolving code base is not static new features, bug-fixings performance and reliability improvement
18 How We Studied? File systems are evolving code base is not static new features, bug-fixings performance and reliability improvement Patches describe evolution how one version transforms to the next every patch is available system archeology
19 How We Studied? File systems are evolving code base is not static new features, bug-fixings performance and reliability improvement Patches describe evolution how one version transforms to the next every patch is available system archeology Study with other rich information source code, design documents forum, mailing lists
20 What We Did?
21 What We Did? Manual patch inspection XFS, Ext4, Btrfs, Ext3, Reiserfs, JFS Linux 2.6 series 5079 patches, multiple passes
22 What We Did? Manual patch inspection XFS, Ext4, Btrfs, Ext3, Reiserfs, JFS Linux 2.6 series 5079 patches, multiple passes Quantitatively analyze in various aspects patch types, bug patterns and consequence performance and reliability techniques
23 What We Did? Manual patch inspection XFS, Ext4, Btrfs, Ext3, Reiserfs, JFS Linux 2.6 series 5079 patches, multiple passes Quantitatively analyze in various aspects patch types, bug patterns and consequence performance and reliability techniques Provide an annotated dataset rich data for further analysis
24 Major Results Preview
25 Major Results Preview Bugs are prevalent
26 Major Results Preview Bugs are prevalent Semantic bugs dominate
27 Major Results Preview Bugs are prevalent Semantic bugs dominate Bugs are constant
28 Major Results Preview Bugs are prevalent Semantic bugs dominate Bugs are constant Corruption and crash are most common
29 Major Results Preview Bugs are prevalent Semantic bugs dominate Bugs are constant Corruption and crash are most common Metadata management has high bug density
30 Major Results Preview Bugs are prevalent Semantic bugs dominate Bugs are constant Corruption and crash are most common Metadata management has high bug density Failure paths are error-prone
31 Major Results Preview Bugs are prevalent Semantic bugs dominate Bugs are constant Corruption and crash are most common Metadata management has high bug density Failure paths are error-prone Various performance techniques are used
32 Outline Introduction Methodology Study Results
33 Methodology
34 Methodology Diverse: XFS Ext4 Btrfs Ext3 Reiser JFS
35 Methodology Diverse: XFS Ext4 Btrfs Ext3 Reiser JFS Complete: Linux to Dec Patches May. 2011
36 Methodology Diverse: XFS Ext4 Btrfs Ext3 Reiser JFS Complete: Linux to Dec Patches May Header Comprehensive: Patch Description Code
37 1 Patch Header [PATCH] fix possible NULL pointer in ext3/super.c.
38 2 Patch Description In fs/ext3/super.c::ext3_get_journal() at line 1675, `journal' can be NULL, but it is not handled right (detect by Coverity's checker).
39 3 Related Code --- /fs/ext3/super.c +++ /fs/ext3/super.c -1675, ,7 journal_t *ext3_get_journal() 1 if (!journal) { 2 printk(kern_err "EXT3: Could not load"); 3 iput(journal_inode); 4 } 5 journal->j_private = sb;
40 3 Related Code --- /fs/ext3/super.c +++ /fs/ext3/super.c -1675, ,7 journal_t *ext3_get_journal() 1 if (!journal) { 2 printk(kern_err "EXT3: Could not load"); 3 iput(journal_inode); 4 } 5 journal->j_private = sb;
41 3 Related Code --- /fs/ext3/super.c +++ /fs/ext3/super.c -1675, ,7 journal_t *ext3_get_journal() 1 if (!journal) { 2 printk(kern_err "EXT3: Could not load"); 3 iput(journal_inode); return NULL; 4 } 5 journal->j_private = sb;
42 Classifications
43 Classifications Patch overview type: bug size: 1
44 Classifications Patch overview type: bug size: 1 Bug analysis pattern: memory (nullptr) consequence: crash data structure: super tool: Coverity
45 Classifications Patch overview type: bug size: 1 Bug analysis pattern: memory (nullptr) consequence: crash data structure: super tool: Coverity Performance and reliability pattern location
46 Limitations
47 Limitations Only six popular file systems many other file systems
48 Limitations Only six popular file systems many other file systems Only Linux 2.6 major versions omit earlier versions
49 Limitations Only six popular file systems many other file systems Only Linux 2.6 major versions omit earlier versions Only reported bugs existing, but unknown bugs
50 Outline Introduction Methodology Study Results
51 Questions to Answer What do patches do? What do bugs look like? Do bugs diminish over time? What consequences do bugs have? Where does complexity of file systems lie? Do bugs occur on normal paths? What performance techniques are used?
52 Q1: What do patches do?
53 Patch Overview
54 Patch Overview Type Description Bug Fix existing bugs Performance Propose efficient design or implementation Reliability Improve robustness Feature Add new functionality Maintenance Maintain the code and documentation
55 Patch Overview 100% % 60% 40% 20% 0% XFS Ext4 Btrfs Ext3 Reiser JFS All
56 Patch Overview 100% % 60% 40% 20% 0% XFS Ext4 Btrfs Ext3 Reiser JFS All
57 Patch Overview 100% % 60% 40% 20% 0% XFS Ext4 Btrfs Ext3 Reiser JFS All
58 Patch Overview 100% % 60% 40% 20% 0% XFS Ext4 Btrfs Ext3 Reiser JFS All
59 Patch Overview 100% % 60% 40% 20% 0% XFS Ext4 Btrfs Ext3 Reiser JFS All
60 Patch Overview 100% % 60% 40% 20% Bug 0% XFS Ext4 Btrfs Ext3 Reiser JFS All
61 Patch Overview 100% % 60% 40% 20% Performance Bug 0% XFS Ext4 Btrfs Ext3 Reiser JFS All
62 Patch Overview 100% % 60% 40% 20% Reliability Performance Bug 0% XFS Ext4 Btrfs Ext3 Reiser JFS All
63 Patch Overview 100% % 60% 40% 20% Feature Reliability Performance Bug 0% XFS Ext4 Btrfs Ext3 Reiser JFS All
64 Patch Overview 100% % 60% 40% 20% Maintenance Feature Reliability Performance Bug 0% XFS Ext4 Btrfs Ext3 Reiser JFS All
65
66 45% of patches are for maintenance
67 45% of patches are for maintenance 35% of patches are bug fixing
68 45% of patches are for maintenance 35% of patches are bug fixing
69 Q2: What do bugs look like?
70 Bug Pattern
71 Bug Pattern Type Description Semantic Concurrency Memory Error Code Incorrect design or implementation (e.g. incorrect state update, wrong design) Incorrect concurrent behavior (e.g. miss unlock, deadlock) Incorrect handling of memory objects (e.g. resource leak, null dereference) Missing or wrong error code handling (e.g. return wrong error code)
72 Semantic Bug Example ext3/ialloc.c, find_group_other(...){ group = parent_group + 1; for (i = 2; i < ngroups; i++) { } }......
73 Semantic Bug Example ext3/ialloc.c, find_group_other(...){ group = parent_group; for (i = 0; i < ngroups; i++) { } }......
74 Bug Pattern 100% % 60% 40% 20% Semantic 0% XFS Ext4 Btrfs Ext3 Reiser JFS All
75 Bug Pattern 100% % 60% 40% 20% Semantic 0% XFS Ext4 Btrfs Ext3 Reiser JFS All
76 Bug Pattern 100% % 60% 40% 20% Semantic 0% XFS Ext4 Btrfs Ext3 Reiser JFS All
77 Concurrency Bug Example ext4/extents.c, ext4_ext_put_in_cache(...){ cex = &EXT4_I(inode)->i_cached_extent; 2 cex->ec_foo = FOO; }
78 Concurrency Bug Example ext4/extents.c, ext4_ext_put_in_cache(...){ spin_lock(i_br_lock); 1 cex = &EXT4_I(inode)->i_cached_extent; 2 cex->ec_foo = FOO; } spin_unlock(i_br_lock);
79 Bug Pattern 100% % 60% 40% 20% Concurrency Semantic 0% XFS Ext4 Btrfs Ext3 Reiser JFS All
80 Memory Bug Example btrfs/inode, btrfs_new_inode(...){ 1 inode = new_inode(...); 2 ret = btrfs_set_inode_index(...); 3 if (ret){ 4 return ERR_PTY(ret); } }
81 Memory Bug Example btrfs/inode, btrfs_new_inode(...){ 1 inode = new_inode(...); 2 ret = btrfs_set_inode_index(...); 3 if (ret){ 4 return ERR_PTY(ret); } }
82 Memory Bug Example btrfs/inode, btrfs_new_inode(...){ 1 inode = new_inode(...); 2 ret = btrfs_set_inode_index(...); 3 if (ret){ 4 return ERR_PTY(ret); } }
83 Memory Bug Example btrfs/inode, btrfs_new_inode(...){ 1 inode = new_inode(...); 2 ret = btrfs_set_inode_index(...); 3 if (ret){ iput(inode); 4 return ERR_PTY(ret); } }
84 Bug Pattern 100% % 60% Memory 40% 20% Concurrency Semantic 0% XFS Ext4 Btrfs Ext3 Reiser JFS All
85 Error Code Example reiserfs/xattr_acl.c, reiserfs_get_acl(...) { acl = posix_acl_from_disk(...); 2 *p_acl = posix_acl_dup(acl); }
86 Error Code Example reiserfs/xattr_acl.c, reiserfs_get_acl(...) { acl = posix_acl_from_disk(...); if (!IS_ERR(acl)) 2 *p_acl *p_acl = posix_acl_dup(acl); = posix_acl_dup(acl); }
87 Bug Pattern 100% % 60% Error Code Memory 40% 20% Concurrency Semantic 0% XFS Ext4 Btrfs Ext3 Reiser JFS All
88 55% of file-system bugs are semantic bugs
89 Q3: Do bugs diminish over time?
90 Ext3 Bug Trend 15 Number of Bugs Linux Versions
91 Ext3 Bug Trend : block reservation : xttra in inode Number of Bugs Linux Versions
92 Ext3 Bug Trend : multiple block allocation Number of Bugs Linux Versions
93 Ext3 Bug Trend : miss error handling Number of Bugs Linux Versions
94 Bug Trend 40 XFS Ext4 80 Btrfs Number of Bugs Ext ReiserFS JFS Linux Version
95 Bug Trend 40 XFS Ext4 80 Btrfs Number of Bugs Ext ReiserFS JFS Linux Version
96 Bug Trend 40 XFS Ext4 80 Btrfs Number of Bugs Ext ReiserFS JFS Linux Version
97 Bug Trend 40 XFS Ext4 80 Btrfs Number of Bugs Ext ReiserFS JFS Linux Version
98 Semantic Concurrency Memory Error Code 40 XFS Ext4 80 Btrfs Number of Bugs Ext ReiserFS JFS Linux Version
99 Semantic Concurrency Memory Error Code Number of Bugs 40 XFS Ext Ext Btrfs : remove BKL 40 ReiserFS JFS Linux Version
100 Bug-fixing is a Constant in a file system s lifetime
101 Q4: What consequences do file-system bugs have?
102 Bug Consequence
103 Bug Consequence Type Description Corruption On-disk or in-memory data is corrupted Crash File system becomes unusable Error Unexpected operation failure or error code Deadlock Wait for resources in circular chain Hang File system makes no progress Leak Resources are not freed properly Wrong Diverts from expectation (exclude above)
104 Bug Consequence 100% % 60% 40% 20% 0% XFS Ext4 Btrfs Ext3 Reiser JFS All Corruption
105 Bug Consequence 100% % 60% 40% 20% 0% XFS Ext4 Btrfs Ext3 Reiser JFS All Crash Corruption
106 Bug Consequence 100% % 60% 40% 20% 0% XFS Ext4 Btrfs Ext3 Reiser JFS All Error Crash Corruption
107 Bug Consequence 100% % 60% 40% 20% 0% XFS Ext4 Btrfs Ext3 Reiser JFS All Deadlock Error Crash Corruption
108 Bug Consequence 100% % 60% 40% 20% 0% XFS Ext4 Btrfs Ext3 Reiser JFS All Hang Deadlock Error Crash Corruption
109 Bug Consequence 100% % 60% 40% 20% 0% XFS Ext4 Btrfs Ext3 Reiser JFS All Leak Hang Deadlock Error Crash Corruption
110 Bug Consequence 100% % 60% 40% 20% 0% XFS Ext4 Btrfs Ext3 Reiser JFS All Wrong Leak Hang Deadlock Error Crash Corruption
111 Corruption and Crash are most common
112 Q5: Does each logical component have an equal degree of complexity?
113 Components
114 Components Type Description balloc Data block allocation and deallocation dir Directory management extent Contiguous physical blocks mapping file File read and write operations inode Inode-related metadata management transaction Journaling or other transactional support super Superblock-related metadata management tree Generic tree structure procedures other Other supporting components (e.g., xattr)
115 Correlation 0.4 XFS 0.4 Ext4 0.4 Btrfs Percentage of Bugs Ext ReiserFS JFS Percentage of Code
116 Correlation file inode super 0.4 XFS 0.4 Ext4 0.4 Btrfs Percentage of Bugs Ext ReiserFS JFS Percentage of Code
117 Correlation file inode super trans 0.4 XFS 0.4 Ext4 0.4 Btrfs Percentage of Bugs Ext ReiserFS JFS Percentage of Code
118 Correlation file inode super trans tree 0.4 XFS 0.4 Ext4 0.4 Btrfs Percentage of Bugs Ext ReiserFS JFS Percentage of Code
119 Correlation file balloc inode dir super extent trans other tree 0.4 XFS 0.4 Ext4 0.4 Btrfs Percentage of Bugs Ext ReiserFS JFS Percentage of Code
120
121 Metadata management has high bug density
122 Metadata management has high bug density Tree related code is not particularly error-prone
123 Q6: Do bugs occur at normal paths or failure paths?
124 Failure Path
125 Failure Path A wide range of failures resource allocation failure I/O operation failure silent data corruption incorrect system states
126 Failure Path A wide range of failures resource allocation failure I/O operation failure silent data corruption incorrect system states Unique code style goto statement error code propagation
127 A Semantic Bug on Failure Path ext4/resize.c, ext4_group_extend( ) { if (count!= ext4_blocks_count(es)){ 2 ext4_warning("multiple resizers run on filesystem!"); 3 err = -EBUSY; 4 goto exit_put; } }
128 A Semantic Bug on Failure Path ext4/resize.c, ext4_group_extend( ) { if (count!= ext4_blocks_count(es)){ 2 ext4_warning("multiple resizers run on filesystem!"); 3 err = -EBUSY; 4 goto exit_put; } }
129 A Semantic Bug on Failure Path ext4/resize.c, ext4_group_extend( ) { if (count!= ext4_blocks_count(es)){ 2 ext4_warning("multiple resizers run on filesystem!"); 3 err = -EBUSY; 4 goto exit_put; } } ext4_journal_stop(handle);
130 A Memory Bug on Failure Path ext4/inode.c, ext4_read_inode(struct inode * inode) { if (inode_is_bad) { 2 goto bad_inode; } }
131 A Memory Bug on Failure Path ext4/inode.c, ext4_read_inode(struct inode * inode) { if (inode_is_bad) { 2 goto bad_inode; } }
132 A Memory Bug on Failure Path ext4/inode.c, ext4_read_inode(struct inode * inode) { if (inode_is_bad) { brelse(bh); 2 goto bad_inode; } }
133 Bugs on Failure Paths Percentage of total bugs 100% 80% 60% 40% 20% % XFS Ext4 Btrfs Ext3 Reiser JFS All
134 38% of bugs are on failure paths
135 Q7: What performance techniques are used by file systems?
136 Performance
137 Performance Type Description Synchronization Improve synchronization efficiency Access Optimization Apply smarter access strategies Scheduling Improve I/O operations scheduling Scalability Scale on-disk and in-memory structures Locality Overcome sub-optimal block allocation Other Other performance improvement (e.g., reducing function stack usage)
138 Synchronization Example ext4/extents.c, ext4_fiemap(...){ 1 down_write(&ext4_i(inode)->sem); 2 error = ext4_ext_walk_space(...); 3 up_write(&ext4_i(inode)->sem); }
139 Synchronization Example ext4/extents.c, ext4_fiemap(...){ 1 down_write(&ext4_i(inode)->sem); 2 error = ext4_ext_walk_space(...); 3 up_write(&ext4_i(inode)->sem); }
140 Synchronization Example ext4/extents.c, ext4_fiemap(...){ 1 down_write(&ext4_i(inode)->sem); down_read(&ext4_i(inode)->sem); 2 error = ext4_ext_walk_space(...); 3 up_write(&ext4_i(inode)->sem); up_read(&ext4_i(inode)->sem); }
141 Performance 100% % 60% 40% 20% 0% XFS Ext4 Btrfs Ext3 Reiser JFS All Sync
142 Access Optimization Example btrfs/free-space-cache.c, btrfs_find_space_cluster( ) /* start to search for blocks */
143 Access Optimization Example btrfs/free-space-cache.c, btrfs_find_space_cluster( ) if (free_space < min_bytes) { spin_unlock(&tree_lock); return -ENOSPC; } /* start to search for blocks */
144 Performance 100% % 60% 40% 20% 0% XFS Ext4 Btrfs Ext3 Reiser JFS All Access Opt Sync
145 Performance 100% % 60% 40% 20% 0% XFS Ext4 Btrfs Ext3 Reiser JFS All Scheduling Access Opt Sync
146 Performance 100% % 60% Scalability 40% 20% 0% XFS Ext4 Btrfs Ext3 Reiser JFS All Scheduling Access Opt Sync
147 Performance 100% % Locality 60% Scalability 40% 20% 0% XFS Ext4 Btrfs Ext3 Reiser JFS All Scheduling Access Opt Sync
148 Performance 100% 80% Other Locality 60% Scalability 40% 20% 0% XFS Ext4 Btrfs Ext3 Reiser JFS All Scheduling Access Opt Sync
149 A wide variety of same performance techniques exist in all file systems
150 Results Summary
151 Results Summary Bugs are prevalent Semantic bugs dominate Bugs are constant Corruption and crash are common Metadata management is complex Failure paths are error-prone Diverse performance techniques
152 Lessons Learned
153 Lessons Learned A large-scale study is feasible and valuable time consuming, but still manageable similar study for other OS components new research opportunities
154 Lessons Learned A large-scale study is feasible and valuable time consuming, but still manageable similar study for other OS components new research opportunities Research should match reality new tools for semantic bugs more attention for failure paths
155 Lessons Learned A large-scale study is feasible and valuable time consuming, but still manageable similar study for other OS components new research opportunities Research should match reality new tools for semantic bugs more attention for failure paths History repeats itself similar mistakes similar performance and reliability techniques learn from history for a better future
156 Resources
157 Resources More information in paper detailed bug patterns reliability patches common patches across file systems
158 Resources More information in paper detailed bug patterns reliability patches common patches across file systems Even more information in dataset fix-on-fix detailed bug consequences tools used
159 Resources More information in paper detailed bug patterns reliability patches common patches across file systems Even more information in dataset fix-on-fix detailed bug consequences tools used Our dataset is released
We conducted a comprehensive study of Linux file system evolution
LANYUE LU, ANDREA C. ARPACI-DUSSEAU, REMZI H. ARPACI-DUSSEAU, AND SHAN LU Lanyue Lu is a PhD student in Computer Sciences at the University of Wisconsin Madison. His research interests include file systems,
More informationPhysical Disentanglement in a Container-Based File System
Physical Disentanglement in a Container-Based File System Lanyue Lu, Yupu Zhang, Thanh Do, Samer AI-Kiswany Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau University of Wisconsin Madison Motivation
More information*-Box (star-box) Towards Reliability and Consistency in Dropbox-like File Synchronization Services
*-Box (star-box) Towards Reliability and Consistency in -like File Synchronization Services Yupu Zhang, Chris Dragga, Andrea Arpaci-Dusseau, Remzi Arpaci-Dusseau University of Wisconsin - Madison 6/27/2013
More informationEIO: Error-handling is Occasionally Correct
EIO: Error-handling is Occasionally Correct Haryadi S. Gunawi, Cindy Rubio-González, Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau, Ben Liblit University of Wisconsin Madison FAST 08 February 28, 2008
More informationTowards Efficient, Portable Application-Level Consistency
Towards Efficient, Portable Application-Level Consistency Thanumalayan Sankaranarayana Pillai, Vijay Chidambaram, Joo-Young Hwang, Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau 1 File System Crash
More informationCrash Consistency: FSCK and Journaling. Dongkun Shin, SKKU
Crash Consistency: FSCK and Journaling 1 Crash-consistency problem File system data structures must persist stored on HDD/SSD despite power loss or system crash Crash-consistency problem The system may
More informationAnnouncements. Persistence: Crash Consistency
Announcements P4 graded: In Learn@UW by end of day P5: Available - File systems Can work on both parts with project partner Fill out form BEFORE tomorrow (WED) morning for match Watch videos; discussion
More informationFile System Internals. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University
File System Internals Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today s Topics File system implementation File descriptor table, File table
More informationFS Consistency & Journaling
FS Consistency & Journaling Nima Honarmand (Based on slides by Prof. Andrea Arpaci-Dusseau) Why Is Consistency Challenging? File system may perform several disk writes to serve a single request Caching
More informationFile System Consistency. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University
File System Consistency Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Crash Consistency File system may perform several disk writes to complete
More informationAnnouncements. Persistence: Log-Structured FS (LFS)
Announcements P4 graded: In Learn@UW; email 537-help@cs if problems P5: Available - File systems Can work on both parts with project partner Watch videos; discussion section Part a : file system checker
More informationFile System Consistency
File System Consistency Jinkyu Jeong (jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu EEE3052: Introduction to Operating Systems, Fall 2017, Jinkyu Jeong (jinkyu@skku.edu)
More informationComputer Systems Laboratory Sungkyunkwan University
File System Internals Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today s Topics File system implementation File descriptor table, File table
More informationPERSISTENCE: FSCK, JOURNALING. Shivaram Venkataraman CS 537, Spring 2019
PERSISTENCE: FSCK, JOURNALING Shivaram Venkataraman CS 537, Spring 2019 ADMINISTRIVIA Project 4b: Due today! Project 5: Out by tomorrow Discussion this week: Project 5 AGENDA / LEARNING OUTCOMES How does
More information<Insert Picture Here> Btrfs Filesystem
Btrfs Filesystem Chris Mason Btrfs Goals General purpose filesystem that scales to very large storage Feature focused, providing features other Linux filesystems cannot Administration
More informationTolera'ng File System Mistakes with EnvyFS
Tolera'ng File System Mistakes with EnvyFS Lakshmi N. Bairavasundaram NetApp, Inc. Swaminathan Sundararaman Andrea C. Arpaci Dusseau Remzi H. Arpaci Dusseau University of Wisconsin Madison File Systems
More information[537] Journaling. Tyler Harter
[537] Journaling Tyler Harter FFS Review Problem 1 What structs must be updated in addition to the data block itself? [worksheet] Problem 1 What structs must be updated in addition to the data block itself?
More informationFile System Internals. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University
File System Internals Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today s Topics File system implementation File descriptor table, File table
More informationViewBox. Integrating Local File Systems with Cloud Storage Services. Yupu Zhang +, Chris Dragga + *, Andrea Arpaci-Dusseau +, Remzi Arpaci-Dusseau +
ViewBox Integrating Local File Systems with Cloud Storage Services Yupu Zhang +, Chris Dragga + *, Andrea Arpaci-Dusseau +, Remzi Arpaci-Dusseau + + University of Wisconsin Madison *NetApp, Inc. 5/16/2014
More informationFile Systems: Recovery
File Systems: Recovery Learning Objectives Identify ways that a file system can be corrupt after a crash. Articulate approaches a file system can take to limit the kinds of failures that can occur. Describe
More informationFile System Case Studies. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University
File System Case Studies Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today s Topics The Original UNIX File System FFS Ext2 FAT 2 UNIX FS (1)
More informationYiying Zhang, Leo Prasath Arulraj, Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau. University of Wisconsin - Madison
Yiying Zhang, Leo Prasath Arulraj, Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau University of Wisconsin - Madison 1 Indirection Reference an object with a different name Flexible, simple, and
More informationFile System Implementation. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University
File System Implementation Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Implementing a File System On-disk structures How does file system represent
More informationMembrane: Operating System support for Restartable File Systems
Membrane: Operating System support for Restartable File Systems Membrane Swaminathan Sundararaman, Sriram Subramanian, Abhishek Rajimwale, Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau, Michael M.
More informationTolerating File-System Mistakes with EnvyFS
Tolerating File-System Mistakes with EnvyFS Lakshmi N. Bairavasundaram, Swaminathan Sundararaman, Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau Computer Sciences Department, University of Wisconsin-Madison
More informationSpiffy: Enabling File-System Aware Storage Applications
Spiffy: Enabling File-System Aware Storage Applications Kuei (Jack) Sun, Daniel Fryer, Joseph Chu, Matthew Lakier, Angela Demke Brown, and Ashvin Goel University of Toronto Introduction File-system aware
More informationFile system internals Tanenbaum, Chapter 4. COMP3231 Operating Systems
File system internals Tanenbaum, Chapter 4 COMP3231 Operating Systems Architecture of the OS storage stack Application File system: Hides physical location of data on the disk Exposes: directory hierarchy,
More informationCS 4284 Systems Capstone
CS 4284 Systems Capstone Disks & File Systems Godmar Back Filesystems Files vs Disks File Abstraction Byte oriented Names Access protection Consistency guarantees Disk Abstraction Block oriented Block
More informationCaching and reliability
Caching and reliability Block cache Vs. Latency ~10 ns 1~ ms Access unit Byte (word) Sector Capacity Gigabytes Terabytes Price Expensive Cheap Caching disk contents in RAM Hit ratio h : probability of
More informationCase study: ext2 FS 1
Case study: ext2 FS 1 The ext2 file system Second Extended Filesystem The main Linux FS before ext3 Evolved from Minix filesystem (via Extended Filesystem ) Features Block size (1024, 2048, and 4096) configured
More informationTesting Error Handling Code in Device Drivers Using Characteristic Fault Injection
1 Testing Error Handling Code in Device Drivers Using Characteristic Fault Injection Jia-Ju Bai, Yu-Ping Wang, Jie Yin, Shi-Min Hu Department of Computer Science and Technology Tsinghua University Beijing,
More informationFile System Implementation
File System Implementation Jinkyu Jeong (jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu SSE3044: Operating Systems, Fall 2016, Jinkyu Jeong (jinkyu@skku.edu) Implementing
More informationFilesystems in Linux. A brief overview and comparison of today's competing FSes. Please save the yelling of obscenities for Q&A.
Filesystems in Linux A brief overview and comparison of today's competing FSes. Please save the yelling of obscenities for Q&A. ;-) Files and Directories Files and directories allow data to be Grouped
More informationAdvanced File Systems. CS 140 Feb. 25, 2015 Ali Jose Mashtizadeh
Advanced File Systems CS 140 Feb. 25, 2015 Ali Jose Mashtizadeh Outline FFS Review and Details Crash Recoverability Soft Updates Journaling LFS/WAFL Review: Improvements to UNIX FS Problems with original
More informationCSE506: Operating Systems CSE 506: Operating Systems
CSE 506: Operating Systems File Systems Traditional File Systems FS, UFS/FFS, Ext2, Several simple on disk structures Superblock magic value to identify filesystem type Places to find metadata on disk
More informationFault Isolation and Quick Recovery in Isolation File Systems
Fault Isolation and Quick Recovery in Isolation File Systems Lanyue Lu, Andrea C. Arpaci-Dusseau and Remzi H. Arpaci-Dusseau Computer Sciences Department, University of Wisconsin, Madison Abstract File
More informationmode uid gid atime ctime mtime size block count reference count direct blocks (12) single indirect double indirect triple indirect mode uid gid atime
Recap: i-nodes Case study: ext FS The ext file system Second Extended Filesystem The main Linux FS before ext Evolved from Minix filesystem (via Extended Filesystem ) Features (4, 48, and 49) configured
More informationComputer System Management - File Systems
Computer System Management - File Systems Amarjeet Singh August 27, 2012 Partly adopted from Computer System Management Slides by Navpreet Singh Logistics Lab Session Please read through the handout and
More informationUniversity of Wisconsin-Madison
Evolving RPC for Active Storage Muthian Sivathanu Andrea C. Arpaci-Dusseau Remzi H. Arpaci-Dusseau University of Wisconsin-Madison Architecture of the future Everything is active Cheaper, faster processing
More informationHARDFS: Hardening HDFS with Selective and Lightweight Versioning
HARDFS: Hardening HDFS with Selective and Lightweight Versioning Thanh Do, Tyler Harter, Yingchao Liu, Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau Haryadi S. Gunawi 1 Cloud Reliability q Cloud
More informationAnalysis and Evolution of Journaling File Systems
Analysis and Evolution of Journaling File Systems Vijayan Prabhakaran, Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau University of Wisconsin, Madison Abstract We develop and apply two new methods
More informationFile System Case Studies. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University
File System Case Studies Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today s Topics The Original UNIX File System FFS Ext2 FAT 2 UNIX FS (1)
More informationEmulating Goliath Storage Systems with David
Emulating Goliath Storage Systems with David Nitin Agrawal, NEC Labs Leo Arulraj, Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau ADSL Lab, UW Madison 1 The Storage Researchers Dilemma Innovate Create
More informationAdvanced file systems: LFS and Soft Updates. Ken Birman (based on slides by Ben Atkin)
: LFS and Soft Updates Ken Birman (based on slides by Ben Atkin) Overview of talk Unix Fast File System Log-Structured System Soft Updates Conclusions 2 The Unix Fast File System Berkeley Unix (4.2BSD)
More informationIRON FOR JFFS2. Raja Ram Yadhav Ramakrishnan, Abhinav Kumar. { rramakrishn2, ABSTRACT INTRODUCTION
IRON FOR JFFS2 Raja Ram Yadhav Ramakrishnan, Abhinav Kumar { rramakrishn2, kumar8}@wisc.edu ABSTRACT Flash memory is an increasingly common storage medium in embedded devices, because it provides solid
More informationFile system internals Tanenbaum, Chapter 4. COMP3231 Operating Systems
File system internals Tanenbaum, Chapter 4 COMP3231 Operating Systems Summary of the FS abstraction User's view Hierarchical structure Arbitrarily-sized files Symbolic file names Contiguous address space
More informationW4118 Operating Systems. Instructor: Junfeng Yang
W4118 Operating Systems Instructor: Junfeng Yang File systems in Linux Linux Second Extended File System (Ext2) What is the EXT2 on-disk layout? What is the EXT2 directory structure? Linux Third Extended
More informationTCSS 422: OPERATING SYSTEMS
TCSS 422: OPERATING SYSTEMS File Systems and RAID Wes J. Lloyd Institute of Technology University of Washington - Tacoma Chapter 38, 39 Introduction to RAID File systems structure File systems inodes File
More informationSMD149 - Operating Systems - File systems
SMD149 - Operating Systems - File systems Roland Parviainen November 21, 2005 1 / 59 Outline Overview Files, directories Data integrity Transaction based file systems 2 / 59 Files Overview Named collection
More informationFile System Internals. Jo, Heeseung
File System Internals Jo, Heeseung Today's Topics File system implementation File descriptor table, File table Virtual file system File system design issues Directory implementation: filename -> metadata
More informationCase study: ext2 FS 1
Case study: ext2 FS 1 The ext2 file system Second Extended Filesystem The main Linux FS before ext3 Evolved from Minix filesystem (via Extended Filesystem ) Features Block size (1024, 2048, and 4096) configured
More informationVerification & Validation of Open Source
Verification & Validation of Open Source 2011 WORKSHOP ON SPACECRAFT FLIGHT SOFTWARE Gordon Uchenick Coverity, Inc Open Source is Ubiquitous Most commercial and proprietary software systems have some open
More informationEnd-to-end Data Integrity for File Systems: A ZFS Case Study
End-to-end Data Integrity for File Systems: A ZFS Case Study Yupu Zhang, Abhishek Rajimwale Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau University of Wisconsin - Madison 2/26/2010 1 End-to-end Argument
More informationZettabyte Reliability with Flexible End-to-end Data Integrity
Zettabyte Reliability with Flexible End-to-end Data Integrity Yupu Zhang, Daniel Myers, Andrea Arpaci-Dusseau, Remzi Arpaci-Dusseau University of Wisconsin - Madison 5/9/2013 1 Data Corruption Imperfect
More informationOperating Systems. File Systems. Thomas Ropars.
1 Operating Systems File Systems Thomas Ropars thomas.ropars@univ-grenoble-alpes.fr 2017 2 References The content of these lectures is inspired by: The lecture notes of Prof. David Mazières. Operating
More informationData Sharing Made Easier through Programmable Metadata. University of Wisconsin-Madison
Data Sharing Made Easier through Programmable Metadata Zhe Zhang IBM Research! Remzi Arpaci-Dusseau University of Wisconsin-Madison How do applications share data today? Syncing data between storage systems:
More informationFile System Performance (and Abstractions) Kevin Webb Swarthmore College April 5, 2018
File System Performance (and Abstractions) Kevin Webb Swarthmore College April 5, 2018 Today s Goals Supporting multiple file systems in one name space. Schedulers not just for CPUs, but disks too! Caching
More informationFile System Case Studies. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University
File System Case Studies Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today s Topics The Original UNIX File System FFS Ext2 FAT 2 UNIX FS (1)
More informationCS 318 Principles of Operating Systems
CS 318 Principles of Operating Systems Fall 2017 Lecture 17: File System Crash Consistency Ryan Huang Administrivia Lab 3 deadline Thursday Nov 9 th 11:59pm Thursday class cancelled, work on the lab Some
More informationApplication Crash Consistency and Performance with CCFS
Application Crash Consistency and Performance with CCFS THANUMALAYAN SANKARANARAYANA PILLAI, RAMNATTHAN ALAGAPPAN, and LANYUE LU, University of Wisconsin Madison VIJAY CHIDAMBARAM, The University of Texas
More informationCross-checking Semantic Correctness: The Case of Finding File System Bugs
Cross-checking Semantic Correctness: The Case of Finding File System Bugs Changwoo Min, Sanidhya Kashyap, Byoungyoung Lee, Chengyu Song, Taesoo Kim Georgia Institute of Technology School of Computer Science
More informationECE 598 Advanced Operating Systems Lecture 18
ECE 598 Advanced Operating Systems Lecture 18 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 5 April 2016 Homework #7 was posted Project update Announcements 1 More like a 571
More informationKernel Korner IBM's Journaled Filesystem
Kernel Korner IBM's Journaled Filesystem To restart a telecom server quickly, you need a journaling filesystem. Here's how you can move to IBM's AIX-derived JFS. by Steve Best, David Gordon and Ibrahim
More informationEIO: ERROR CHECKING IS OCCASIONALLY CORRECT
Department of Computer Science Institute of System Architecture, Operating Systems Group EIO: ERROR CHECKING IS OCCASIONALLY CORRECT HARYADI S. GUNAWI, CINDY RUBIO-GONZÁLEZ, ANDREA C. ARPACI-DUSSEAU, REMZI
More information<Insert Picture Here> Filesystem Features and Performance
Filesystem Features and Performance Chris Mason Filesystems XFS Well established and stable Highly scalable under many workloads Can be slower in metadata intensive workloads Often
More informationChecking the Integrity of Transactional Mechanisms
Checking the Integrity of Transactional Mechanisms Daniel Fryer, Mike Qin, Jack Sun, Kah Wai Lee, Angela Demke Brown, and Ashvin Goel, University of Toronto https://www.usenix.org/conference/fast14/technical-sessions/presentation/fryer
More informationMEMBRANE: OPERATING SYSTEM SUPPORT FOR RESTARTABLE FILE SYSTEMS
Department of Computer Science Institute of System Architecture, Operating Systems Group MEMBRANE: OPERATING SYSTEM SUPPORT FOR RESTARTABLE FILE SYSTEMS SWAMINATHAN SUNDARARAMAN, SRIRAM SUBRAMANIAN, ABHISHEK
More informationJOURNALING FILE SYSTEMS. CS124 Operating Systems Winter , Lecture 26
JOURNALING FILE SYSTEMS CS124 Operating Systems Winter 2015-2016, Lecture 26 2 File System Robustness The operating system keeps a cache of filesystem data Secondary storage devices are much slower than
More informationOperating Systems Design Exam 2 Review: Fall 2010
Operating Systems Design Exam 2 Review: Fall 2010 Paul Krzyzanowski pxk@cs.rutgers.edu 1 1. Why could adding more memory to a computer make it run faster? If processes don t have their working sets in
More informationRed Hat Enterprise 7 Beta File Systems
Red Hat Enterprise 7 Beta File Systems New Scale, Speed & Features Ric Wheeler Director Red Hat Kernel File & Storage Team Red Hat Storage Engineering Agenda Red Hat Enterprise Linux 7 Storage Features
More informationFilesystem. Disclaimer: some slides are adopted from book authors slides with permission
Filesystem Disclaimer: some slides are adopted from book authors slides with permission 1 Recap Directory A special file contains (inode, filename) mappings Caching Directory cache Accelerate to find inode
More informationOpen Source Storage. Ric Wheeler Architect & Senior Manager April 30, 2012
Open Source Storage Architect & Senior Manager rwheeler@redhat.com April 30, 2012 1 Linux Based Systems are Everywhere Used as the base for commercial appliances Enterprise class appliances Consumer home
More informationChoosing and Tuning Linux File Systems
Choosing and Tuning Linux File Systems Finding the right file system for your workload Val Henson With help from #linuxfs on irc.oftc.net Structure of talk Understanding your
More informationScaling Source Control for the Next Generation of Game Development
Scaling Source Control for the Next Generation of Game Development Mike Sundy Toby Roberts 2007 Perforce User s Conference Scaling Source Control for NextGen Game Development 1 Overview Current Gen vs.
More informationRobust Consistency Checking for Modern Filesystems
Robust Consistency Checking for Modern Filesystems Kuei Sun, Daniel Fryer, Dai Qin, Angela Demke Brown, and Ashvin Goel University of Toronto Abstract. We describe our approach to building a runtime file
More informationMODERN FILESYSTEM PERFORMANCE IN LOCAL MULTI-DISK STORAGE SPACE CONFIGURATION
INFORMATION SYSTEMS IN MANAGEMENT Information Systems in Management (2014) Vol. 3 (4) 273 283 MODERN FILESYSTEM PERFORMANCE IN LOCAL MULTI-DISK STORAGE SPACE CONFIGURATION MATEUSZ SMOLIŃSKI Institute of
More informationExt4, btrfs, and the others
Ext4, btrfs, and the others Jan Kára SUSE Labs, Novell Lihovarská 1060/12 190 00 Praha 9 Czech Republic jack@suse.cz 1 Abstract In recent years, quite a few has happened in the Linux filesystem scene.
More informationFive Years of Reliability Research. Remzi H. Arpaci-Dusseau Wisconsin-Madison
Five Years of Reliability Research Remzi H. Arpaci-Dusseau Professor @ Wisconsin-Madison Why Storage Systems Are Broken (and What To Do About It) Remzi H. Arpaci-Dusseau Professor @ Wisconsin-Madison What
More informationDistributed Systems 16. Distributed File Systems II
Distributed Systems 16. Distributed File Systems II Paul Krzyzanowski pxk@cs.rutgers.edu 1 Review NFS RPC-based access AFS Long-term caching CODA Read/write replication & disconnected operation DFS AFS
More informationSharing may be done through a protection scheme. Network File System (NFS) is a common distributed file-sharing method
File Sharing Sharing of files on multi-user systems is desirable Sharing may be done through a protection scheme On distributed systems, files may be shared across a network Network File System (NFS) is
More informationMotivation for Dynamic Memory. Dynamic Memory Allocation. Stack Organization. Stack Discussion. Questions answered in this lecture:
CS 537 Introduction to Operating Systems UNIVERSITY of WISCONSIN-MADISON Computer Sciences Department Dynamic Memory Allocation Questions answered in this lecture: When is a stack appropriate? When is
More informationAll File Systems Are Not Created Equal: On the Complexity of Crafting Crash-Consistent Applications
All File Systems Are Not Created Equal: On the Compleity of Crafting Crash-Consistent Applications Thanumalayan Sankaranarayana Pillai Vijay Chidambaram Ramnatthan Alagappan, Samer Al-Kiswany Andrea Arpaci-Dusseau,
More informationBTREE FILE SYSTEM (BTRFS)
BTREE FILE SYSTEM (BTRFS) What is a file system? It can be defined in different ways A method of organizing blocks on a storage device into files and directories. A data structure that translates the physical
More informationFilesystems Overview
Filesystems Overview ext2, NTFS, ReiserFS, and the Linux Virtual Filesystem Switch mdeters@cs.wustl.edu www.cs.wustl.edu/ doc/ Fall 2003 Seminar on Storage-Based Supercomputing Filesystems Overview: Outline
More informationLecture 11: Linux ext3 crash recovery
6.828 2011 Lecture 11: Linux ext3 crash recovery topic crash recovery crash may interrupt a multi-disk-write operation leave file system in an unuseable state most common solution: logging last lecture:
More informationLustre A Platform for Intelligent Scale-Out Storage
Lustre A Platform for Intelligent Scale-Out Storage Rumi Zahir, rumi. May 2003 rumi.zahir@intel.com Agenda Problem Statement Trends & Current Data Center Storage Architectures The Lustre File System Project
More informationCS370 Operating Systems
CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2017 Lecture 25 File Systems Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 FAQ Q 2 Data and Metadata
More informationDesigning a True Direct-Access File System with DevFS
Designing a True Direct-Access File System with DevFS Sudarsun Kannan, Andrea Arpaci-Dusseau, Remzi Arpaci-Dusseau University of Wisconsin-Madison Yuangang Wang, Jun Xu, Gopinath Palani Huawei Technologies
More informationCSE 451: Operating Systems Winter Module 17 Journaling File Systems
CSE 451: Operating Systems Winter 2017 Module 17 Journaling File Systems Mark Zbikowski mzbik@cs.washington.edu Allen Center 476 2013 Gribble, Lazowska, Levy, Zahorjan In our most recent exciting episodes
More informationChecking the Integrity of Transactional Mechanisms
Checking the Integrity of Transactional Mechanisms DANIEL FRYER, MIKE QIN, JACK SUN, KAH WAI LEE, ANGELA DEMKE BROWN, and ASHVIN GOEL, University of Toronto Data corruption is the most common consequence
More informationLinux File Systems: Challenges and Futures Ric Wheeler Red Hat
Linux File Systems: Challenges and Futures Ric Wheeler Red Hat Overview The Linux Kernel Process What Linux Does Well Today New Features in Linux File Systems Ongoing Challenges 2 What is Linux? A set
More informationSemantically-Smart Disk Systems
Semantically-Smart Disk Systems Muthian Sivathanu, Vijayan Prabhakaran, Florentina I. Popovici, Timothy E. Denehy, Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau Computer Sciences Department University
More informationOperating Systems. Operating Systems Professor Sina Meraji U of T
Operating Systems Operating Systems Professor Sina Meraji U of T How are file systems implemented? File system implementation Files and directories live on secondary storage Anything outside of primary
More informationCS5460: Operating Systems Lecture 20: File System Reliability
CS5460: Operating Systems Lecture 20: File System Reliability File System Optimizations Modern Historic Technique Disk buffer cache Aggregated disk I/O Prefetching Disk head scheduling Disk interleaving
More informationECE 598 Advanced Operating Systems Lecture 19
ECE 598 Advanced Operating Systems Lecture 19 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 7 April 2016 Homework #7 was due Announcements Homework #8 will be posted 1 Why use
More informationCS370 Operating Systems
CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2017 Lecture 26 File Systems Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 FAQ Cylinders: all the platters?
More informationProtocol-Aware Recovery for Consensus-based Storage Ramnatthan Alagappan University of Wisconsin Madison
Protocol-Aware Recovery for Consensus-based Storage Ramnatthan Alagappan University of Wisconsin Madison 2018 Storage Developer Conference. University of Wisconsin - Madison. All Rights Reserved. 1 Failures
More informationFile System. Computadors Grau en Ciència i Enginyeria de Dades. Xavier Verdú, Xavier Martorell
File System Computadors Grau en Ciència i Enginyeria de Dades Xavier Verdú, Xavier Martorell Facultat d Informàtica de Barcelona (FIB) Universitat Politècnica de Catalunya (UPC) 2017-2018 Q2 Creative Commons
More informationEXPLODE: a Lightweight, General System for Finding Serious Storage System Errors. Junfeng Yang, Can Sar, Dawson Engler Stanford University
EXPLODE: a Lightweight, General System for Finding Serious Storage System Errors Junfeng Yang, Can Sar, Dawson Engler Stanford University Why check storage systems? Storage system errors are among the
More informationChe-Wei Chang Department of Computer Science and Information Engineering, Chang Gung University
Che-Wei Chang chewei@mail.cgu.edu.tw Department of Computer Science and Information Engineering, Chang Gung University Chapter 10: File System Chapter 11: Implementing File-Systems Chapter 12: Mass-Storage
More information