Compare commits
10 Commits
21bfbb3f26
...
256268885e
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
256268885e | ||
|
|
07d3f2066c | ||
|
|
196eb92c37 | ||
|
|
42c11c9449 | ||
|
|
d7963b1718 | ||
|
|
c67b6fcf1a | ||
|
|
04f6fcf238 | ||
|
|
804c07c7f1 | ||
|
|
0df695148e | ||
|
|
58871cda78 |
36
0002-Specify-signed-char.patch
Normal file
36
0002-Specify-signed-char.patch
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
From 50cd68b994d988c116731a1ff36f3537c6103890 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Tony Asleson <tasleson@redhat.com>
|
||||||
|
Date: Wed, 12 Feb 2020 10:04:58 -0600
|
||||||
|
Subject: [PATCH 1/1] Specify signed char
|
||||||
|
|
||||||
|
x86 architecture default to signed characters. Other architectures
|
||||||
|
default to unsigned characters. When building on non-x86 arch we
|
||||||
|
get the following error
|
||||||
|
|
||||||
|
./json.hpp:22700:42: required from here
|
||||||
|
./json.hpp:8494:24: error: comparison is always true due to limited
|
||||||
|
range of data type [-Werror=type-limits]
|
||||||
|
8494 | if ('\x00' <= c and c <= '\x1F')
|
||||||
|
| ~~~~~~~^~~~
|
||||||
|
|
||||||
|
Signed-off-by: Tony Asleson <tasleson@redhat.com>
|
||||||
|
---
|
||||||
|
c_binding/json.hpp | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/c_binding/json.hpp b/c_binding/json.hpp
|
||||||
|
index 6b6655a..a4ed769 100644
|
||||||
|
--- a/c_binding/json.hpp
|
||||||
|
+++ b/c_binding/json.hpp
|
||||||
|
@@ -3097,7 +3097,7 @@ scan_number_done:
|
||||||
|
std::size_t chars_read = 0;
|
||||||
|
|
||||||
|
/// raw input token string (for error messages)
|
||||||
|
- std::vector<char> token_string {};
|
||||||
|
+ std::vector<signed char> token_string {};
|
||||||
|
|
||||||
|
/// buffer for variable-length tokens (numbers, strings)
|
||||||
|
string_t token_buffer {};
|
||||||
|
--
|
||||||
|
2.32.0
|
||||||
|
|
||||||
@ -0,0 +1,29 @@
|
|||||||
|
From 2ba3527ae5dc345ee91797c6445bb7fe009b02e3 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Tony Asleson <tasleson@redhat.com>
|
||||||
|
Date: Thu, 23 May 2019 14:35:51 -0500
|
||||||
|
Subject: [PATCH 1/2] simarray._block_rounding: Use integer division
|
||||||
|
|
||||||
|
This was causing problems for py2 vs. py3 code. Always use integer
|
||||||
|
division.
|
||||||
|
|
||||||
|
Signed-off-by: Tony Asleson <tasleson@redhat.com>
|
||||||
|
---
|
||||||
|
plugin/sim/simarray.py | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/plugin/sim/simarray.py b/plugin/sim/simarray.py
|
||||||
|
index 6f0a582..bc7817b 100644
|
||||||
|
--- a/plugin/sim/simarray.py
|
||||||
|
+++ b/plugin/sim/simarray.py
|
||||||
|
@@ -1268,7 +1268,7 @@ def _check_pool_free_space(self, sim_pool_id, size_bytes):
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def _block_rounding(size_bytes):
|
||||||
|
- return (size_bytes + BackStore.BLK_SIZE - 1) / \
|
||||||
|
+ return (size_bytes + BackStore.BLK_SIZE - 1) // \
|
||||||
|
BackStore.BLK_SIZE * BackStore.BLK_SIZE
|
||||||
|
|
||||||
|
def sim_vol_create(self, name, size_bytes, sim_pool_id, is_hw_raid_vol=0):
|
||||||
|
--
|
||||||
|
2.37.3.windows.1
|
||||||
|
|
||||||
@ -0,0 +1,72 @@
|
|||||||
|
From 4e8c6efae3bf8c016c560e58771b7a4db7032efe Mon Sep 17 00:00:00 2001
|
||||||
|
From: Tony Asleson <tasleson@redhat.com>
|
||||||
|
Date: Thu, 23 May 2019 14:43:41 -0500
|
||||||
|
Subject: [PATCH 2/2] sim_array [volume|fs]_resize: Change re-size behavior
|
||||||
|
|
||||||
|
The simulator only allows size increments of a block size. The code was
|
||||||
|
returning success if the user specified 1 byte more for the resize, but
|
||||||
|
internally it wasn't updating the size, eg. it was leaving the previous
|
||||||
|
rounded down size. This goes against the documentation for the volume
|
||||||
|
re-size where we may round up for resize. This change rounds up the
|
||||||
|
supplied value. If the rounded up size matches current size we return
|
||||||
|
no state change, else we round up and update the simulator value to match.
|
||||||
|
|
||||||
|
This also matches the expected behavior that when successful the new size
|
||||||
|
will indeed be different, although it may be larger than specified and
|
||||||
|
if the exact operation is repeated, it will fail with no state change.
|
||||||
|
|
||||||
|
Signed-off-by: Tony Asleson <tasleson@redhat.com>
|
||||||
|
---
|
||||||
|
plugin/sim/simarray.py | 22 ++++++----------------
|
||||||
|
1 file changed, 6 insertions(+), 16 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/plugin/sim/simarray.py b/plugin/sim/simarray.py
|
||||||
|
index bc7817b..8552e3d 100644
|
||||||
|
--- a/plugin/sim/simarray.py
|
||||||
|
+++ b/plugin/sim/simarray.py
|
||||||
|
@@ -1367,18 +1367,12 @@ def _sim_ag_ids_of_masked_vol(self, sim_vol_id):
|
||||||
|
'vol_masks', 'vol_id="%s"' % sim_vol_id))
|
||||||
|
|
||||||
|
def sim_vol_resize(self, sim_vol_id, new_size_bytes):
|
||||||
|
- org_new_size_bytes = new_size_bytes
|
||||||
|
new_size_bytes = BackStore._block_rounding(new_size_bytes)
|
||||||
|
sim_vol = self.sim_vol_of_id(sim_vol_id)
|
||||||
|
if sim_vol['total_space'] == new_size_bytes:
|
||||||
|
- if org_new_size_bytes != new_size_bytes:
|
||||||
|
- # Even volume size is identical to rounded size,
|
||||||
|
- # but it's not what user requested, hence we silently pass.
|
||||||
|
- return
|
||||||
|
- else:
|
||||||
|
- raise LsmError(
|
||||||
|
- ErrorNumber.NO_STATE_CHANGE,
|
||||||
|
- "Volume size is identical to requested")
|
||||||
|
+ raise LsmError(
|
||||||
|
+ ErrorNumber.NO_STATE_CHANGE,
|
||||||
|
+ "Volume size is identical to requested")
|
||||||
|
|
||||||
|
sim_pool = self.sim_pool_of_id(sim_vol['pool_id'])
|
||||||
|
|
||||||
|
@@ -1610,17 +1604,13 @@ def sim_fs_delete(self, sim_fs_id):
|
||||||
|
self._data_delete("fss", 'id="%s"' % sim_fs_id)
|
||||||
|
|
||||||
|
def sim_fs_resize(self, sim_fs_id, new_size_bytes):
|
||||||
|
- org_new_size_bytes = new_size_bytes
|
||||||
|
new_size_bytes = BackStore._block_rounding(new_size_bytes)
|
||||||
|
sim_fs = self.sim_fs_of_id(sim_fs_id)
|
||||||
|
|
||||||
|
if sim_fs['total_space'] == new_size_bytes:
|
||||||
|
- if new_size_bytes != org_new_size_bytes:
|
||||||
|
- return
|
||||||
|
- else:
|
||||||
|
- raise LsmError(
|
||||||
|
- ErrorNumber.NO_STATE_CHANGE,
|
||||||
|
- "File System size is identical to requested")
|
||||||
|
+ raise LsmError(
|
||||||
|
+ ErrorNumber.NO_STATE_CHANGE,
|
||||||
|
+ "File System size is identical to requested")
|
||||||
|
|
||||||
|
# TODO(Gris Ge): If a fs is in a clone/snapshot relationship, resize
|
||||||
|
# should be handled properly.
|
||||||
|
--
|
||||||
|
2.37.3.windows.1
|
||||||
|
|
||||||
2959
fix-too-many-argument-for-format.patch
Normal file
2959
fix-too-many-argument-for-format.patch
Normal file
File diff suppressed because it is too large
Load Diff
@ -2,13 +2,18 @@
|
|||||||
%define with_python2 0
|
%define with_python2 0
|
||||||
Name: libstoragemgmt
|
Name: libstoragemgmt
|
||||||
Version: 1.8.0
|
Version: 1.8.0
|
||||||
Release: 3
|
Release: 7
|
||||||
Summary: Storage array management library
|
Summary: Storage array management library
|
||||||
License: LGPLv2+
|
License: LGPLv2+
|
||||||
URL: https://github.com/libstorage/libstoragemgmt
|
URL: https://github.com/libstorage/libstoragemgmt
|
||||||
Source0: https://github.com/libstorage/libstoragemgmt/archive/%{name}-%{version}.tar.gz
|
Source0: https://github.com/libstorage/libstoragemgmt/releases/download/%{version}/%{name}-%{version}.tar.gz
|
||||||
|
|
||||||
Patch1: 0001-change-run-dir.patch
|
Patch1: 0001-change-run-dir.patch
|
||||||
|
Patch2: 0002-Specify-signed-char.patch
|
||||||
|
Patch3: fix-too-many-argument-for-format.patch
|
||||||
|
|
||||||
|
Patch6000: backport-0001-simarray._block_rounding-Use-integer-division.patch
|
||||||
|
Patch6001: backport-0002-sim_array-volume-fs-_resize-Change-re-size-behavior.patch
|
||||||
|
|
||||||
BuildRequires: gcc gcc-c++ autoconf automake libtool libxml2-devel check-devel perl-interpreter
|
BuildRequires: gcc gcc-c++ autoconf automake libtool libxml2-devel check-devel perl-interpreter
|
||||||
BuildRequires: openssl-devel glib2-devel systemd bash-completion libconfig-devel systemd-devel
|
BuildRequires: openssl-devel glib2-devel systemd bash-completion libconfig-devel systemd-devel
|
||||||
@ -370,6 +375,18 @@ fi
|
|||||||
%{_mandir}/man*/*
|
%{_mandir}/man*/*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Sat Jan 7 2023 mengwenhua <mengwenhua@xfusion.com> - 1.8.0-7
|
||||||
|
- Sim fs resize
|
||||||
|
|
||||||
|
* Fri Jan 28 2022 wulei <wulei80@huawei.com> - 1.8.0-6
|
||||||
|
- fix too many argument for format
|
||||||
|
|
||||||
|
* Thu Oct 28 2021 Chenxi Mao <chenxi.mao@suse.com> - 1.8.0-5
|
||||||
|
- libstoragemgmt: Upstream patch to avoid char usage in libstoragemgmt.
|
||||||
|
|
||||||
|
* Tue Sep 29 2020 baizhonggui <baizhonggui@huawei.com> - 1.8.0-4
|
||||||
|
- Modify source0
|
||||||
|
|
||||||
* Sat Mar 21 2020 songshuaishuai <songshuaishuai2@huawei.com> - 1.8.0-3
|
* Sat Mar 21 2020 songshuaishuai <songshuaishuai2@huawei.com> - 1.8.0-3
|
||||||
- fix update error
|
- fix update error
|
||||||
|
|
||||||
|
|||||||
4
libstoragemgmt.yaml
Normal file
4
libstoragemgmt.yaml
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
version_control: github
|
||||||
|
src_repo: libstorage/libstoragemgmt
|
||||||
|
tag_prefix: ^v
|
||||||
|
seperator: .
|
||||||
Loading…
x
Reference in New Issue
Block a user