Il 03/07/2013 23:23, Peter Lieven ha scritto:
> BDC is not used. I had an implementation that sent multiple descriptors out, 
> but
> at least for my storage the maximum unmap counts not for each descriptors, 
> but for all
> together. So in this case we do not need the field at all. I forgot to remove 
> it.
> 
> discard and write_zeroes will both only send one request up to max_unmap in 
> size.
> 
> apropos write_zeroes: do you know if UNMAP is guaranteed to unmap data if 
> lbprz == 1?

Yes.  On the other hand note that WRITE_SAME should be guaranteed _not_
to unmap if lbprz == 0 and you do WRITE_SAME with UNMAP and a zero
payload, but I suspect there may be buggy targets here.

> I have read in the specs something that the target might unmap the blocks or 
> not touch them at all.
> Maybe you have more information.

That's even true of UNMAP itself, actually. :)

The storage can always "upgrade" a block from unmapped to anchored and
from anchored to allocated, so UNMAP can be a no-op and still comply
with the standard.

Paolo

Reply via email to