Git Product home page Git Product logo

Comments (9)

vijay03 avatar vijay03 commented on September 25, 2024

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.

ashmrtn avatar ashmrtn commented on September 25, 2024

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.

ashmrtn avatar ashmrtn commented on September 25, 2024

@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.

vijay03 avatar vijay03 commented on September 25, 2024

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.

ashmrtn avatar ashmrtn commented on September 25, 2024

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.

vijay03 avatar vijay03 commented on September 25, 2024

How slow is it? How many do states do we test in 30 s?

from crashmonkey.

ashmrtn avatar ashmrtn commented on September 25, 2024
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.

vijay03 avatar vijay03 commented on September 25, 2024

Wow, lets continue with cow-brd then. Any idea why snapshots take so much time in DM?

from crashmonkey.

ashmrtn avatar ashmrtn commented on September 25, 2024

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)

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.