Re: [PATCH] xen-blkfront: remove type check from blkfront_setup_discard

From: Konrad Rzeszutek Wilk
Date: Wed Jan 22 2014 - 19:44:08 EST

Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> wrote:
>On 01/13/2014 04:30 AM, Olaf Hering wrote:
>> On Fri, Jan 10, Boris Ostrovsky wrote:
>>> I don't know discard code works but it seems to me that if you pass,
>>> example, zero as discard_granularity (which may happen if
>>> 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
>>> anywhere.
>> If I understand the code using granularity/alignment correctly, both
>> 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
>> passes on what it gets from the underlying hardware.
>>> Similarly, if xenbug_gather("discard-secure") fails, I think the
>code will
>>> assume that secure discard has not been requested. I don't know what
>>> security implications this will have but it sounds bad to me.
>> There are no security implications, if the backend does not advertise
>> then its not present.
>Right. But my questions was what if the backend does advertise it and
>wants the frontent to use it but xenbus_gather() in the frontend fails.
>Do we want to silently continue without discard-secure? Is this safe?

>> After poking around some more it seems that blkif.h is the spec, it
>> 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

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at