Comments (9)
Agree that using libdevmapper is preferrable. And I support the move towards more standardized modules like the device mapper.
What was the original problem with cow_brd?
from crashmonkey.
It seems that dm-snapshot targets are much slower than what we currently have. They are taking more time than fsck
on small file systems (18183ms vs 5526 on a ~67MB ramdisk). 9a21e80 has the latest on this work so far.
I have also found that you can't always remove a snapshot immediately after unmounting it. It gives "device busy" errors. I will try to find a better way around that.
from crashmonkey.
@vijay03 it looks like I goofed up in the code that copies data over from the base image of the snapshot. After fixing that, I reproduce the same set of errors with both the cow_brd
module and dm's transient snapshot target. 13dbd35 shows the fix for the cow_brd
module. Should I PR it or try to touch up the dm snapshot more?
from crashmonkey.
If there are no other advantages to going the DM route apart from this bug, I'd say stay with the current architecture. But if we are doing the DM route anyway, I'd say focus on that.
from crashmonkey.
How fast do we want the test harness to be? the DM route is noticeably slower than the cow_brd
code, taking ~30s for snapshot maintenance alone for 1000 tests on ext4.
from crashmonkey.
How slow is it? How many do states do we test in 30 s?
from crashmonkey.
For 1000 tests:
operation | snapshot type
time (ms) | MD | cow_brd
---------------+------------+----------
snapshot | 30576 | 0
fsck | 12822 | 9696
total | 49306 | 11469
* I skipped some of the other operations that did not take significant amounts of time to run
from crashmonkey.
Wow, lets continue with cow-brd then. Any idea why snapshots take so much time in DM?
from crashmonkey.
part of it is probably an issue with removing them immediately after unmounting a ram block device. It seems somewhere in the subsystem it still has work for the snapshot device that prevents it from immediate removal by dmsetup
. It sometimes throws "device busy" errors when trying to remove DM snapshots. dmsetup
has a retry with delay loop that it will go through for removals.
I haven't tried to tune DM at all, but I'm wondering if disabling the table that is going to be removed would speed it up at all.
from crashmonkey.
Related Issues (20)
- CrashMonkey test faililng due to assertion error in RandomPermuter HOT 1
- insmod ERROR: “disk_wrapper.ko: Cannot allocate memory” HOT 3
- Make multiple instances of CrashMonkey run in a single machine HOT 1
- Have CrashMonkey behave more like a fuzzer HOT 1
- Write an adaptor for Crashmonkey for dm-flakey HOT 2
- ACE fails on fsync HOT 3
- ACE fails on "nested" mode HOT 1
- report two Ace bugs HOT 15
- Build error happening HOT 2
- Failed test cases - "Unable to remove wrapper device" HOT 1
- Port CrashMonkey to Linux 5.6.6
- Update documentation and scripts to reflect changes in xfsMonkey.py for btrfs
- Build error "No such file or directory" on CentOS7 HOT 1
- xfstest adapter produces incorrect output files because of erroring commands
- Memory access violation HOT 1
- False positive tests
- The xfstest does not support _supported_os
- ZFS/OpenZFS support ?
- future bugs to investigate when CrashMonkey is more complete HOT 1
- Clean up logs
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from crashmonkey.