gcontini
2020-10-25 e1bc0576eaebf5cc09245512d5eb185072b2d408
fix fstab LABEL= entries
2个文件已修改
12 ■■■■■ 已修改文件
src/library/os/linux/os_linux.cpp 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
test/library/os_linux_test.cpp 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/library/os/linux/os_linux.cpp
@@ -277,6 +277,16 @@
            } else {
                LOG_DEBUG("fstab device %s found, but no corresponding diskInfo", ent->mnt_fsname);
            }
        } else if (strncmp("LABEL=", ent->mnt_fsname, 6) == 0) {
            // fstab entry is uuid
            device_name_s = device_name_s.substr(6);
            for (auto &disk_info : diskInfos) {
                if (device_name_s == disk_info.label) {
                    disk_info.preferred = true;
                    LOG_DEBUG("Disk %d device %s set as preferred", disk_info.id, disk_info.device);
                    break;
                }
            }
        } else {
            // fstab entry is a device
            auto pos = device_name_s.find_last_of("/");
test/library/os_linux_test.cpp
@@ -45,7 +45,7 @@
        }
        BOOST_CHECK_MESSAGE(uuid_found, "At least one UUID initialized");
        BOOST_CHECK_MESSAGE(label_found, "At least one label found");
        // BOOST_CHECK_MESSAGE(preferred_found, "At least one standard mounted file system");
        BOOST_CHECK_MESSAGE(preferred_found, "At least one standard mounted file system");
    } else if (virt == LCC_API_VIRTUALIZATION_SUMMARY::CONTAINER) {
        // in docker or lxc diskInfo is very likely not to find any good disk.
        BOOST_CHECK_EQUAL(result, FUNC_RET_NOT_AVAIL);