I'm currently doing pressure testing for dm-thin on 'Linux 3.13.5, Ubuntu 13.10' and finally encounter the issue with metadata corruption.
Using following steps:
1. Creating a pool with metadata device 15GB, data device 3.6TB
2. Creating 60 thin volumes(thin0 ~ thin59) each with 60GB
3. Issuing I/O to thin0~thin9 continuously (e.q. dd if=/dev/zero of=/mnt/thin0 bs=1M count=1024)
4. Taking snapshot for all the thin volumes every hour
After about 3 to 20 hours,
I found out all the issued I/Os are stopped, and kernel message shows up following content:
"device-mapper: space map common: unable to decrement a reference count below 0"
"device-mapper: thin: 252:0: dm_thin_insert_block() failed: error = -22"
" device-mapper: thin: 252:0: switching pool to read-only mode"
Is any way to fix this problem?
Attached files are the kernel message, and the python script to reproduce such issue
Any help would be grateful.