d04db6fe88
This patch prevents to delete a LDEV that is unexpectedly assigned to two or more objects(volumes or snapshots). In the unexpected situation, if ``delete`` command for one of objects is run again, the data which is used by other objects is lost. In order to prevent the data-loss, when creating an object, the driver creates a LDEV and stores a value obtained by omitting the hyphen from the object ID(*1) to ``LDEV nickname``. When deleting an object, the driver compares the own object ID and the object ID in ``LDEV nickname``, then, the object and the LDEV is deleted only if both object IDs are same. On the other hand, if both object IDs are not same, only the object is deleted and the LDEV is kept, to prevent data-loss. If format of ``LDEV nickname`` is not object ID(*2), both the object and the LDEV is deleted without comparison, because it avoids disk full risk, due to not deleting any LDEVs. This patch implements only the object ID storing while creating a snapshot and comparing IDs while deleting, because the feature to store the object ID while creating a volume has already been implemented. (*1) Max length of ``LDEV nickname`` is 32 digits characters on Hitachi storage. (*2) 32 digits hexadecimal Closes-Bug: #2072317 Change-Id: I7c6bd9a75dd1d7165d4f8614abb3d59fa642212d |
||
---|---|---|
.. | ||
notes | ||
source | ||
README.rst |
Release notes
The release notes for a patch should be included in the patch. The intended audience for release notes include deployers, administrators and end-users.
A release note is required if the patch has upgrade or API impact. It is also required if the patch adds a feature or fixes a long-standing or security bug.
Please see https://docs.openstack.org/cinder/latest/contributor/releasenotes.html for more details.