[ENBD] 2.4.32 write & m_r problem
Arne Wiebalck
wiebalck at kip.uni-heidelberg.de
Tue Mar 2 06:02:13 MST 2004
On Tue, 2 Mar 2004, Peter T. Breuer wrote:
> Can you show me some of the errors? I haven't seen anything like that.
Sure:
e006:/home/wiebalck # /tmp/enbd-test /dev/nda -b 4096 -s 1G -t 1:2
/dev/nda has 1073741824 bytes in 262144 blocks of 4096 bytes each
flushing buffers..done
writing....5%....10%....15%....20%....25%....30%....35%....40%....45%....50%....55%....60%....65%....70%....75%....80%....85%....90%....95%....done
test 1 succeeded: 0 incorrect blocks
flushing buffers..done
flushing buffers..done
readingread 0x00002000.. != 0x00001000.. expected at block 1+0
read 0x00002001.. != 0x00001001.. expected at block 1+4
read 0x00002002.. != 0x00001002.. expected at block 1+8
read 0x00002003.. != 0x00001003.. expected at block 1+12
read 0x00002004.. != 0x00001004.. expected at block 1+16
read 0x00002005.. != 0x00001005.. expected at block 1+20
read 0x00002006.. != 0x00001006.. expected at block 1+24
read 0x00002007.. != 0x00001007.. expected at block 1+28
read 0x00002008.. != 0x00001008.. expected at block 1+32
read 0x00002009.. != 0x00001009.. expected at block 1+36
...
read 0x0b8fb000.. != 0x00002000.. expected at block 2+0
read 0x0b8fb001.. != 0x00002001.. expected at block 2+4
read 0x0b8fb002.. != 0x00002002.. expected at block 2+8
read 0x0b8fb003.. != 0x00002003.. expected at block 2+12
read 0x0b8fb004.. != 0x00002004.. expected at block 2+16
read 0x0b8fb005.. != 0x00002005.. expected at block 2+20
read 0x0b8fb006.. != 0x00002006.. expected at block 2+24
read 0x0b8fb007.. != 0x00002007.. expected at block 2+28
read 0x0b8fb008.. != 0x00002008.. expected at block 2+32
read 0x0b8fb009.. != 0x00002009.. expected at block 2+36
...
read 0x0b8fc000.. != 0x00003000.. expected at block 3+0
read 0x0b8fc001.. != 0x00003001.. expected at block 3+4
read 0x0b8fc002.. != 0x00003002.. expected at block 3+8
read 0x0b8fc003.. != 0x00003003.. expected at block 3+12
read 0x0b8fc004.. != 0x00003004.. expected at block 3+16
read 0x0b8fc005.. != 0x00003005.. expected at block 3+20
read 0x0b8fc006.. != 0x00003006.. expected at block 3+24
read 0x0b8fc007.. != 0x00003007.. expected at block 3+28
read 0x0b8fc008.. != 0x00003008.. expected at block 3+32
read 0x0b8fc009.. != 0x00003009.. expected at block 3+36
...
[snip]
....5%....10%....15%....20%....25%....30%....35%....40%....45%....50%....55%....60%....65%....95%
....done
test 2 FAILED: 257600 incorrect blocks
e006:/home/wiebalck #
e006:/home/wiebalck #
On the server I see (I don't remember that I have seen them before):
enbd-server 1576: <#1217> do_srv_write resync from daemon (1) at seqno
256
enbd-server 1575: <#1217> do_srv_write resync from daemon (0) at seqno
512
enbd-server 1575: <#1217> do_srv_write resync from daemon (0) at seqno
768
enbd-server 1575: <#1217> do_srv_write resync from daemon (0) at seqno
1024
enbd-server 1576: <#1217> do_srv_write resync from daemon (1) at seqno
1280
enbd-server 1576: <#1217> do_srv_write resync from daemon (1) at seqno
1536
enbd-server 1575: <#1217> do_srv_write resync from daemon (0) at seqno
48896
enbd-server 1575: <#1217> do_srv_write resync from daemon (0) at seqno
49152
enbd-server 1575: <#1217> do_srv_write resync from daemon (0) at seqno
49664
but:
e006:/home/wiebalck #
e006:/home/wiebalck # echo "merge_requests=0" > /proc/nbdinfo
e006:/home/wiebalck #
e006:/home/wiebalck # /tmp/enbd-test /dev/nda -b 4096 -s 1G -t 3:4
/dev/nda has 1073741824 bytes in 262144 blocks of 4096 bytes each
flushing buffers..done
writing....5%....10%....15%....20%....25%....30%....35%....40%....45%....50%....55%....60%....65%....70%....75%....80%....85%....90%....95%....done
test 3 succeeded: 0 incorrect blocks
flushing buffers..done
flushing buffers..done
reading....5%....10%....15%....20%....25%....30%....35%....40%....45%....50%....55%....60%....65%....70%....75%....80%....85%....90%....95%....done
test 4 succeeded: 0 incorrect blocks
flushing buffers..done
>
> I can't see how write alignment is involved but I can hack a few chunks
> away out of it (or turn it off) to see if it is that.
I don't think its the alignment itself. This is a nice feature I would
like to have for several reasons. I think it's more due to the changes we
tried out to get O_DIRECT running.
I saw these errors on several different machines. They should be easily
reproducable (since I used the current version from the web).
arne
**********************************************************************
Arne Wiebalck Kirchhoff Institute for Physics
Technical Computer Science
INF 227, Room 3.315
D-69120 Heidelberg
e-mail: wiebalck at kip.uni-heidelberg.de
web : http://www.kip.uni-heidelberg.de Tel.: (+49) 6221/54-9816
**********************************************************************
More information about the ENBD
mailing list