Hello,
I have been debugging and struggling with the following problem:
On 2.6.13-1.1532_FC4:
1. create a logical volume of size 10GB (the size does not matter, some
size...)
2. create a snapshot for this logical volume (50% of the original)
3. Switch to another console window, and do
dd if=/dev/zero of=/dev/vg_test/lv_test bs=1M
that simply writes a lot of zero'd pages to the original volume,
causing a lot of data written into a snapshot which is fine and
expected. Now comes the problem.
4. Go to another console window, and do
lvremove /dev/vg_test/lv_test_snap
to remove the snapshot (WHILE the dd command is running!), say
YES when asked to confirm and you will find that the system cannot
remove the snapshot until all IO ends (most times). Let's continue this
scenario
5. on another console window, do
lvscan
it hangs and is not able to enumerate all logical volumes
(pressing ^C exists)
6. Go to another console windows, and do
dd if=/dev/vg_test/lv_test of=/dev/null bs=1M
and you will see that this process reads for a little while and
then eventually all IO on /dev/vg_test/lv_test ceases and the system
ends up being hung.
This has occurred with various FC4 kernels (2.6.12, 2.6.13, 2.6.14) and
after upgrading as recommended to device-mapper 1.02.02 (original:
1.01.02), lvm 2.02.01 (original 2.01.08) I find that I get kernel
crashes. The following thread on google demonstrates the result which
appears to have been around for a while:
http://groups.google.com/group/linux.kernel/browse_thread/thread/6af10a7
680948714/d69cbfa7b18b63e6?lnk=st&q=client_free_pages&rnum=3#d69cbfa7b18
b63e6
I apologize for being lengthy and I would like to acknowledge the hard
word everyone is putting into the open source community. I would like to
hear from others who have experienced problems removing snapshots while
the system is under heavy IO load. Is this a known issue? Is there a
possible workaround?
Thank you
Steffen.