GithubHelp home page GithubHelp logo

obfs's Introduction

objectfs

things that need to get fixed

multi-threading

data structures should be locked so that we can handle multiple threads - I think that will help perforance

checkpointing

We need to implement checkpointing per the description in the paper and in union-mount.md

garbage collection

write coalescing

see write-coalescing.md

snapshot

Maybe. I think it's more important to get union mount working.

union mount

See union-mount.md

possible things to to

low-level FUSE interface

I'm not sure whether or not we should port this to use the FUSE low-level interface. Note that this would mess up using the CS5600 tests.

testing notes:

CS5600 tests

I should commit those to the repo. They run directly against the high-level FUSE methods, single-threaded. It's not a stress test, but it tests a lot of cases of different block sizes for reads and writes.

POSIX conformance

we might be able to use https://github.com/pjd/pjdfstest it runs OK with ext4.

I haven't looked too thoroughly, but I think it's more of a standards conformance test than a stress test, although it still could be useful

This is probably much more comprehensive. It's definitely bigger (125K LOC vs 20K)

It would take a bit of shell scripting to pass object prefixes instead of partition names, but I don't think it would be a huge deal

stress test

Not sure if this would be helpful, or how much work it would be to use it: https://github.com/google/file-system-stress-testing

things we'll fail

hard links - any tests relying on them are going to fail. I think adding them is fairly trivial - we've got inodes, we just have to add a reference count to file objects.

fsync/fsyncdir - I don't know if we need to do anything more with them

holes - I'm not sure if we support holes properly, or if we need to.

obfs's People

Contributors

pjd-nu avatar maniaabdi avatar mosayyebzadeh avatar

Watchers

 avatar  avatar  avatar Peng Gu avatar

Forkers

pjd-nu

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.