[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [dm-devel] Simulating faulty disk

All I want to do is simulate a delay or flakey device. Mount it. And see how regular read/write commands
such as cat, echo, vim etc behave.

*  I created a delay device d0 and mounted it on /mnt
*  Copied few files into /mnt
*  Invoked dd command on /dev/mapper/d0 and it was slow
*  Invoked cat command on some file in /mnt but it was not slow

What is wrong here?

Steps I followed are shown below:
root nodea:/users/ydev# dmsetup remove_all

#Created a delay device d0
root nodea:/users/ydev# dmsetup create d0 --table="0 `blockdev --getsize /dev/sdb` delay /dev/sdb 0 500"

#Put a filesystem on top of d0
root nodea:/users/ydev# mkfs -t ext3 /dev/mapper/d0
mke2fs 1.41.11 (14-Mar-2010)
Filesystem label=
OS type: Linux
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

#Mounted the device-mapper device on /mnt.
root nodea:/users/ydev# mount -t ext3 /dev/mapper/d0 /mnt

#Copied some arbitrary files into /mnt
root nodea:/users/ydev# cp -r stap_tests /mnt

#Invoked a dd command to check if it is slowing down and it did as seen below.

root nodea:/# dd if=/dev/mapper/d0 of=/dev/null bs=400k count=1
1+0 records in
1+0 records out
409600 bytes (410 kB) copied, 1.01523 s, 403 kB/s

#But it did not slow down cat command as seen below.

root nodea:/mnt/stap_tests# sysctl vm.drop_caches=3
vm.drop_caches = 3

root nodea:/mnt/stap_tests# time cat 12M > /dev/null

real    0m0.034s
user    0m0.000s
sys     0m0.004s



On 10/21/2011 9:21 AM, Bryn M. Reeves wrote:
On 10/21/2011 04:13 PM, Yathindra wrote:
>mount -t ext3 /dev/sdb /mnt
Copied some data into /mnt
>dmsetup create d0 --table="0 `blockdev --getsize /dev/sdb` delay
/dev/sdb 0 500"
device-mapper: reload ioctl failed: Invalid argument
Command failed

You can't create a mapped device on something while it is mounted as device-mapper needs to open it exclusively.

But as seen from above, dmsetup is failing to create a flakey/delay
device when /dev/sdb
has a filesystem on top of it. Is there any workaround ?

Set up the file system the way you want it on sdb first. Then unmount it and create the device-mapper devices and mount that.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]