Skip to content

akiradeveloper/userland-io

develop
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
nbd
 
 
 
 
 
 
 
 
 
 
 
 
 
 

userland-io

MIT licensed

Motivation

Developing a virtual block device in Linux kernel is a hard task. You must understand not only device-mapper framework but also the subsystems around it. Writing a complicated code in C language will spend a ton of time and the code output is usually hard to maintain. How do I know this? Because I've implemented dm-writeboost.

When I met Rust language, soon I fell in love with the beautiful language and came to think of how it would be nice to write virtual block device in this language. With Rust, concurrent programming is not a difficult task while it is just like hell with C. Moreover, we can make use of sophisticated ecosystem and libraries from Rust community.

fuse-rs is such a framework for filesystem layer but there nothing exists for block layer. That's why I started this project.