Skip to contentSkip to conversation

crashblk: a block device crash emulator.

DISCUSSION Takashi HOSHINO 3 participants 5 messages Jan 14, 2016 – Jan 18, 2016 VFS

lore
Share & tools
lore
#0 lore raw

Hi all,

I'm developing 'crashblk'.
It is a memory block device driver to emulate crash, IO error, and various response time.

The source code repository is here:
https://github.com/starpos/crashblk/

It is very useful to test wrapper block device drivers, and must be useful to test filesystems also.
I used it to test WalB (https://walb-linux.github.io/),
which is a wrapper block device driver for backup and asynchronous replication, and found/confirmed several bugs.

If you are interested in crashblk, try it and give me feedback! Thank you.

Takashi

#1 lore raw
Quoted 6 lines · Takashi HOSHINO

Hi all,

I'm developing 'crashblk'.
It is a memory block device driver to emulate crash, IO error, and various response time.

Why not use/improve dm-flakey for this, rather than making yet another device that does something similar?

Cheers, Andreas

Quoted 9 lines

The source code repository is here:
https://github.com/starpos/crashblk/

It is very useful to test wrapper block device drivers, and must be useful to test filesystems also.
I used it to test WalB (https://walb-linux.github.io/),
which is a wrapper block device driver for backup and asynchronous replication, and found/confirmed several bugs.

Quoted 8 lines

If you are interested in crashblk, try it and give me feedback! Thank you.

Takashi
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

Cheers, Andreas

#2 lore raw

Hi Andreas,

Quoted 10 lines · Andreas Dilger
Quoted 6 lines · Takashi HOSHINO

Hi all,

I'm developing 'crashblk'.
It is a memory block device driver to emulate crash, IO error, and various response time.

Why not use/improve dm-flakey for this, rather than making yet another device that does something similar?

I did not know dm-flakey until your reply. Thank you.

I read its documents and code a bit.
The big purpose of two projects are the same, which is to test software on block devices with errors, but their functions are almost different.

It may be nice idea to implement alternative implementation of crashblk on device-mapper version by someone. Currently I'm not familiar with device-mapper development, and I do not have any motivation with it.

Thanks, Takashi

Quoted 22 lines

Cheers, Andreas

Quoted 9 lines

The source code repository is here:
https://github.com/starpos/crashblk/

It is very useful to test wrapper block device drivers, and must be useful to test filesystems also.
I used it to test WalB (https://walb-linux.github.io/),
which is a wrapper block device driver for backup and asynchronous replication, and found/confirmed several bugs.

Quoted 8 lines

If you are interested in crashblk, try it and give me feedback! Thank you.

Takashi
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

Cheers, Andreas

#3 lore raw
Quoted 17 lines · Takashi HOSHINO

Hi Andreas,

Quoted 11 lines · Andreas Dilger
Quoted 6 lines · Takashi HOSHINO

Hi all,

I'm developing 'crashblk'.
It is a memory block device driver to emulate crash, IO error, and various response time.

Why not use/improve dm-flakey for this, rather than making yet another device that does something similar?

I did not know dm-flakey until your reply. Thank you.

Quoted 9 lines

I read its documents and code a bit.
The big purpose of two projects are the same, which is to test software on block devices with errors, but their functions are almost different.

It may be nice idea to implement alternative implementation of crashblk on device-mapper version by someone.
Currently I'm not familiar with device-mapper development, and I do not have any motivation with it.

There's also dm-log-writes which will log writes to an external journal to allow you to replay writes and verify the fs is consistent at all steps of operation. Thanks,

Josef

#4 lore raw
Quoted 28 lines · Josef Bacik
Quoted 17 lines · Takashi HOSHINO

Hi Andreas,

Quoted 11 lines · Andreas Dilger
Quoted 6 lines · Takashi HOSHINO

Hi all,

I'm developing 'crashblk'.
It is a memory block device driver to emulate crash, IO error, and various response time.

Why not use/improve dm-flakey for this, rather than making yet another device that does something similar?

I did not know dm-flakey until your reply. Thank you.

Quoted 9 lines

I read its documents and code a bit.
The big purpose of two projects are the same, which is to test software on block devices with errors, but their functions are almost different.

It may be nice idea to implement alternative implementation of crashblk on device-mapper version by someone.
Currently I'm not familiar with device-mapper development, and I do not have any motivation with it.

Quoted 3 lines

There's also dm-log-writes which will log writes to an external journal to allow you to replay writes and verify the fs is consistent at all steps of operation. Thanks,

My colleague let me know about dm-log-writes several months ago and I read its code. Its very small and nice! (<1000 lines) I felt it is useful to DEBUG file systems or wrapper devices but not useful to TEST them because it will tell us too much information.

BTW, our another software WalB, which is our primary test target of crashblk, also log-writes to an journal device.
Its primary usage is to backup devices incrementally or to replicate them, while it may also useful for debug purpose.
But WalB uses journals not only to extract logs for replay but also to keep consistency and control durability of data like some filesystems, so it requires more code.

Thanks,

Takashi