1 Star 0 Fork 40

hy/multipath-tools

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
9001-fix-multipathd-resize-when-not-all-paths-size-are-equal.patch 1.02 KB
一键复制 编辑 原始数据 按行查看 历史
wangjufeng 提交于 2020-01-10 17:13 . rename the package
--- multipath-tools-130222-patched/multipathd/cli_handlers.c 2017-10-12 19:19:08.000000000 +0800
+++ multipath-tools-130222-patched1/multipathd/cli_handlers.c 2017-10-17 14:43:43.000000000 +0800
@@ -593,9 +593,10 @@
char * mapname = get_keyparam(v, MAP);
struct multipath *mpp;
int minor;
- unsigned long long size;
+ unsigned long long size, sz;
struct pathgroup *pgp;
struct path *pp;
+ int i,j;
mapname = convert_dev(mapname, 0);
condlog(2, "%s: resize map (operator)", mapname);
@@ -627,6 +628,22 @@
mapname);
return 1;
}
+
+ vector_foreach_slot (mpp->pg, pgp, i) {
+ vector_foreach_slot (pgp->paths, pp, j) {
+ if (!pp->udev || sysfs_get_size(pp, &sz)) {
+ condlog(0, "%s: couldn't get size for sysfs. cannot resize",
+ mapname);
+ return 1;
+ }
+ if (size != sz) {
+ condlog(0, "%s: not all path sizes are equal, please check. cannot resize",
+ mapname);
+ return 1;
+ }
+ }
+ }
+
if (size == mpp->size) {
condlog(0, "%s: map is still the same size (%llu)", mapname,
mpp->size);
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/hy-euler/multipath-tools.git
git@gitee.com:hy-euler/multipath-tools.git
hy-euler
multipath-tools
multipath-tools
master

搜索帮助