GithubHelp home page GithubHelp logo

danluu / fs-errors Goto Github PK

View Code? Open in Web Editor NEW
22.0 22.0 2.0 151 KB

Reproducing resuts from old papers on modern filesystems

Home Page: https://danluu.com/filesystem-errors/

C 28.06% Python 70.01% Makefile 1.94%

fs-errors's People

Contributors

danluu avatar wesleyac avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

fs-errors's Issues

main.py shouldn't do everything as root

We currently call it with sudo so that it has permissions to mount and unmount, but this means that (for example) the results file ends up being owned by root.

Adding ZFS support

I'm working on adding ZFS support.

The initial roadblock I've run into is that ZFS does not support zpools smaller than 64M. Should I just make a 64M pool? Would it affect the results if the pools are different sizes?

How is the output in fs-results.csv interpreted?

I got the following output:

images/ext3.img.gz,./mmap_read,error,overlay,-7,,
images/ext3.img.gz,./mmap_write,error,overlay,-7,,
images/ext3.img.gz,./pread,error,overlay,255,read fail. errno: Input/output error,
images/ext3.img.gz,./pwrite,error,overlay,255,open fail Input/output error,
images/ext4.img.gz,./mmap_read,error,overlay,-7,,
images/ext4.img.gz,./mmap_write,error,overlay,-7,,
images/ext4.img.gz,./pread,error,overlay,255,read fail. errno: Input/output error,
images/ext4.img.gz,./pwrite,error,overlay,255,open fail Input/output error,
images/exfat.img.gz,./mmap_read,error,overlay,-7,,
images/exfat.img.gz,./mmap_write,error,overlay,-7,,
images/exfat.img.gz,./pread,error,overlay,255,read fail. errno: Transport endpoint is not connected,
images/exfat.img.gz,./pwrite,error,overlay,255,open fail Transport endpoint is not connected,
images/jfs.img.gz,./mmap_read,error,overlay,-7,,
images/jfs.img.gz,./mmap_write,error,overlay,-7,,
images/jfs.img.gz,./pread,error,overlay,255,read fail. errno: Input/output error,
images/jfs.img.gz,./pwrite,error,overlay,255,open fail Input/output error,
images/xfs.img.gz,./mmap_read,error,overlay,-7,,
images/xfs.img.gz,./mmap_write,error,overlay,-7,,
images/xfs.img.gz,./pread,error,overlay,255,read fail. errno: Input/output error,
images/xfs.img.gz,./pwrite,error,overlay,255,open fail Input/output error,
images/ext3-largefile.img.gz,./mmap_read,error,overlay,-7,,
images/ext3-largefile.img.gz,./mmap_write,error,overlay,-7,,
images/ext3-largefile.img.gz,./pread,error,overlay,255,read fail. errno: Input/output error,
images/ext3-largefile.img.gz,./pwrite,error,overlay,255,open fail Input/output error,
images/ext4-largefile.img.gz,./mmap_read,error,overlay,-7,,
images/ext4-largefile.img.gz,./mmap_write,error,overlay,-7,,
images/ext4-largefile.img.gz,./pread,error,overlay,255,read fail. errno: Input/output error,
images/ext4-largefile.img.gz,./pwrite,error,overlay,255,open fail Input/output error,
images/jfs-largefile.img.gz,./mmap_read,error,overlay,-7,,
images/jfs-largefile.img.gz,./mmap_write,error,overlay,-7,,
images/jfs-largefile.img.gz,./pread,error,overlay,255,read fail. errno: Input/output error,
images/jfs-largefile.img.gz,./pwrite,error,overlay,255,open fail Input/output error,

Would you be able to explain what these errors mean and whether it means there are errors in the filesystem? I couldn't figure out to interpret these based on the README. Thank you!

Should we be using the single profile instead of the dup profile?

$ btrfs fi df /mnt/test/
Data, single: total=8.00MiB, used=0.00B
System, DUP: total=8.00MiB, used=16.00KiB
Metadata, DUP: total=32.00MiB, used=112.00KiB
GlobalReserve, single: total=16.00MiB, used=0.00B

The DUP profile here may be the image was created on @WesleyAC 's machine? It's not clear that our read corruption test is really valid? OTOH, if we had (for example) a flash read disturb error, having duplicated metadata would give us the correct result.

Don't have source and binaries in the same directory

We currently only have one directory, which means that we dump things into the source directory when we build.

This is generally bad and will get worse once we start generating data and have data, executables, and source in the same directory.

Can manually trigger errors that script does not see

Steps to (maybe) manually get error:

Where the file test is:

0 2389 linear /dev/loop0 0
2389 1 error
2390 5422 linear /dev/loop0 0
losetup /dev/loop0 ext4.img
cat test | sudo dmsetup create test
sudo mkdir /mnt/test
sudo mount /dev/mapper/test /mnt/test
cat /mnt/test/test.txt

pwrite out of date

pread has changes that aren't in pwrite. They should really just be merged into a single program.

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.