From bf4ef47b95a6aeb9b98b531a1d6fe33fc131fe06 Mon Sep 17 00:00:00 2001 From: Chris Morrell Date: Thu, 7 Jan 2016 23:06:22 +0000 Subject: [PATCH] Enable trim/discard in SolidFire's driver Pretty straight forward change to set a flag in the connection info returned from initialize_connection. This change will work pending upcoming Nova code reviews, as trim/discard support has been supported by SolidFire since its inception. Followed the Cinder Liberty spec titled 'cinder-backend-report-discard' for this change. Change-Id: I667bb27cf4be7cfe7d403c9603c40bf20db9491e --- cinder/tests/unit/test_solidfire.py | 1 + cinder/volume/drivers/solidfire.py | 8 +++++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/cinder/tests/unit/test_solidfire.py b/cinder/tests/unit/test_solidfire.py index bf65402e8..81ebdf642 100644 --- a/cinder/tests/unit/test_solidfire.py +++ b/cinder/tests/unit/test_solidfire.py @@ -444,6 +444,7 @@ class SolidFireVolumeTestCase(test.TestCase): properties = sfv.initialize_connection(testvol, connector) self.assertEqual('4096', properties['data']['physical_block_size']) self.assertEqual('4096', properties['data']['logical_block_size']) + self.assertTrue(properties['data']['discard']) def test_create_volume_fails(self): # NOTE(JDG) This test just fakes update_cluster_status diff --git a/cinder/volume/drivers/solidfire.py b/cinder/volume/drivers/solidfire.py index 3a6745a06..7d4a61e81 100644 --- a/cinder/volume/drivers/solidfire.py +++ b/cinder/volume/drivers/solidfire.py @@ -1254,9 +1254,11 @@ class SolidFireDriver(san.SanISCSIDriver): Optionally checks and utilizes volume access groups. """ - return self._sf_initialize_connection(volume, - connector, - initiator_data) + properties = self._sf_initialize_connection(volume, + connector, + initiator_data) + properties['data']['discard'] = True + return properties def attach_volume(self, context, volume, instance_uuid, host_name, -- 2.45.2