Metadata Update Performance in File Systems

File systems have multiple inter-related data structures. This diagram shows the data structures relevant for file ‘/foo’ with one data block. The inode bitmaps shows allocated inodes for ‘/’ and ‘foo’, the data block bitmap shows allocated blocks for ‘/’ and ‘foo’, the directory entry of ‘foo’ in ‘/’, and the inode of ‘foo’ which points to the data block. All of these structures are required to access the data block.
The image shows the state of the data structures before and after appending a block to the file ‘/foo’. The data block bitmap, inode for ‘foo’ and the new data block itself are all updated. The file system needs to ensure that the on-disk state can transition from the before image to the after image atomically in the problem of failures. This is the problem of crash-consistency for file system metadata.
The image shows the state of updated file system data structures in memory. With journaling, the file system writes the updated state to a journal in the form of a log entry. A log entry is identified by its begin and end blocks. The image shows the data bitmap and inode in the log entry. Here we assume that the file system only cares about crash consistency of the metadata. If the crash consistency of data is also required, the data would need to be added to the journal as well. Once the log entry has been committed to the disk, the file system is free to write back the blocks from memory to the disk in any order.
The image shows the three ordering rules enforced by soft updates.

--

--

--

Visit afterhoursacademic.com for summaries of computer science research papers.

Love podcasts or audiobooks? Learn on the go with our new app.

Do we really need third party tools?

Angular: Loading spinner using Http Interceptor

Russia’s First Four Women GDEs

Distributed load testing with Gatling and Kubernetes

Unmissable Reading for Engineers

Running Docker Enterprise 2.1 on Digital Ocean — Part 1

Android GDE Annyce Davis Encourages Other Women Developers to Be Inquisitive and Confident

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Rajat Kateja, After Hours Academic

Rajat Kateja, After Hours Academic

Visit afterhoursacademic.com for summaries of computer science research papers.

More from Medium

Talking About Open Source -Eassy Week 11

Why Insurance Carriers are Choosing to Migrate to Microservices

Specto is joining Sentry!

The Future of the Telecom Data Centre

data centre