On Fri, Jan 10, Boris Ostrovsky wrote:
I don't know discard code works but it seems to me that if you pass, forIf I understand the code using granularity/alignment correctly, both are
example, zero as discard_granularity (which may happen if xenbus_gather()
fails) then blkdev_issue_discard() in the backend will set granularity to 1
and continue with discard. This may not be what the the guest admin
requested. And he won't know about this since no error message is printed
anywhere.
optional properties. So if the granularity is just 1 it means byte
ranges, which is fine if the backend uses FALLOC_FL_PUNCH_HOLE. Also
both properties are not admin controlled, for phy the blkbk drivers just
passes on what it gets from the underlying hardware.
Similarly, if xenbug_gather("discard-secure") fails, I think the code willThere are no security implications, if the backend does not advertise it
assume that secure discard has not been requested. I don't know what
security implications this will have but it sounds bad to me.
then its not present.
After poking around some more it seems that blkif.h is the spec, it does
not say anything that the three properties are optional. Also the
backend drivers in sles11sp2 and mainline create all three properties
unconditionally. So I think a better change is to expect all three
properties in the frontend. I will send another version of the patch.
Olaf