|
From: | Paolo Bonzini |
Subject: | Re: [Qemu-devel] [PATCH] block/iscsi: use 16 byte CDBs only when necessary |
Date: | Tue, 17 Jun 2014 13:46:46 +0200 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 |
Il 17/06/2014 13:37, Peter Lieven ha scritto:
On 17.06.2014 13:15, Paolo Bonzini wrote:Il 17/06/2014 08:14, Peter Lieven ha scritto:BTW, while debugging a case with a bigger storage supplier I found that open-iscsi seems to do exactly this undeterministic behaviour. I have a 3TB LUN. If I access < 2TB sectors it uses READ10/WRITE10 and if I go beyond 2TB it changes to READ16/WRITE16.Isn't that exactly what your latest patch does for >64K sector writes? :)Not exactly, we choose the default by checking the LUN size. 10 Byte for < 2TB and 16 Byte otherwise.
Yeah, I meant introducing the non-determinism.
My latest patch makes an exception if a request is bigger than 64K sectors and switches to 16 Byte requests. These would otherwise end in an I/O error.
It could also be split at the block layer, like we do for unmap. I think there's also a maximum transfer size somewhere in the VPD, we could to READ16/WRITE16 if it is >64K sectors.
Paolo
[Prev in Thread] | Current Thread | [Next in Thread] |