diff --git a/patches/openstack/cinder/sep-sp-retype-vol.patch b/patches/openstack/cinder/sep-sp-retype-vol.patch
index 3b5fada..9f40140 100644
--- a/patches/openstack/cinder/sep-sp-retype-vol.patch
+++ b/patches/openstack/cinder/sep-sp-retype-vol.patch
@@ -8,11 +8,9 @@
  cinder/volume/drivers/storpool.py | 47 ++++++++++++++++++++++++-------
  1 file changed, 37 insertions(+), 10 deletions(-)
 
-diff --git a/cinder/volume/drivers/storpool.py b/cinder/volume/drivers/storpool.py
-index b586c3216..51f95f14f 100644
 --- a/cinder/volume/drivers/storpool.py
 +++ b/cinder/volume/drivers/storpool.py
-@@ -472,10 +472,12 @@ class StorPoolDriver(driver.VolumeDriver):
+@@ -405,10 +405,12 @@
                              update['template'] = templ
                          else:
                              update['replication'] = repl
@@ -29,7 +27,7 @@
  
          if update:
              name = self._attach.volumeName(volume['id'])
-@@ -500,25 +502,50 @@ class StorPoolDriver(driver.VolumeDriver):
+@@ -433,21 +435,46 @@
                        'created as part of the migration from '
                        '"%(oid)s".', {'tid': temp_id, 'oid': orig_id})
              return {'_name_id': new_volume['_name_id'] or new_volume['id']}
@@ -71,7 +69,7 @@
 -                          {'tname': temp_name, 'oname': orig_name, 'err': e})
 +                          {'err': e})
                  return {'_name_id': new_volume['_name_id'] or new_volume['id']}
- 
++
 +        try:
 +            self._attach.api().volumeUpdate(temp_name,
 +                                            {'rename': orig_name})
@@ -82,10 +80,3 @@
 +                      '%(err)s',
 +                      {'tname': temp_name, 'oname': orig_name, 'err': e})
 +            return {'_name_id': new_volume['_name_id'] or new_volume['id']}
-+
-     def revert_to_snapshot(self, context, volume, snapshot):
-         volname = self._attach.volumeName(volume['id'])
-         snapname = self._attach.snapshotName('snap', snapshot['id'])
--- 
-2.35.1
-
