Signed-off-by: Andreas Kinzler --- a/src/xenvbd/frontend.c +++ b/src/xenvbd/frontend.c @@ -836,6 +836,9 @@ FrontendReadDiskInfo( ) { BOOLEAN Changed = FALSE; + BOOLEAN Discard; + BOOLEAN DiscardFeature = FALSE; + BOOLEAN DiscardEnable = TRUE; Changed |= FrontendReadFeature(Frontend, "feature-barrier", @@ -843,9 +846,17 @@ FrontendReadDiskInfo( Changed |= FrontendReadFeature(Frontend, "feature-flush-cache", &Frontend->DiskInfo.FlushCache); - Changed |= FrontendReadFeature(Frontend, - "feature-discard", - &Frontend->DiskInfo.Discard); + + // discard related + FrontendReadFeature(Frontend, + "feature-discard", + &DiscardFeature); + FrontendReadFeature(Frontend, + "discard-enable", + &DiscardEnable); + Discard = DiscardFeature && DiscardEnable; + Changed |= (Discard != Frontend->DiskInfo.Discard); + Frontend->DiskInfo.Discard = Discard; Changed |= FrontendReadFeature(Frontend, "discard-secure", &Frontend->DiskInfo.DiscardSecure);