跳转至

20 软链接更新

特性描述

以/dev作为根目录创建软链接,如果软链接发生变化,若优先级一致,软链接指向将不确定,在该场景下支持同名软链接优先级设置,会选取优先级较高的设备作为软链接;在/dev/block或/dev/char或/dev目录下根据设备号创建软链接

特性约束

当设置同名软链接指向不同设备时,需要显示设置优先级来指定期望指向的设备

子场景 1

测试添加一个还不存在的软链接

备注

1、devmaster的配置文件如下

# cat /etc/devmaster/config.toml
rules_d = ["/tmp/test/rules.d"]
log_level = "info"

2、测试使用的sda、sr0、ens33设备仅限于本机,观测点的b8\:0、b11\:0是sda和sr0设备对应的名称,根据自己的环境自行替换

3、关于时间戳、进程号信息,具体根据自己的回显结果为准,表格仅显示当时测试的结果

准备工作

1、创建规则文件/tmp/test/rules.d/01-test-symlink.rules

KERNEL=="sda", SYMLINK+="test_link"

2、重启devmaster

测试步骤

触发sda的change事件

# devctl trigger /dev/sda

查看sda的数据库内容,有预期结果1

# cat /run/devmaster/data/b8\:0

查看软链接,有预期结果2

# ls -l /dev/test_link

查看/run/devmaster/links/test_link目录,有预期结果3

# ls -l /run/devmaster/links/test_link

结果验证

预期结果1:存在“S:test_link” 预期结果2:存在/dev/test_link -> sda软链接 预期结果3:存在b8:0 -> 0:/dev/sda软链接

测试结束

# rm -rf /run/devmaster/data/b8\:0
# rm -rf /dev/test_link /run/devmaster/links/test_link
# rm -rf /tmp/test/rules.d/01-test-symlink.rules

测试场景约束

子场景 2

测试添加一个已经存在的软链接,设置优先级来决定软链接指向

备注

同子场景1。

准备工作

1、创建规则文件/tmp/test/rules.d/01-test-symlink.rules

KERNEL=="sda", SYMLINK+="test_link"
KERNEL=="sr0", SYMLINK+="test_link", OPTIONS+="link_priority=10"

2、重启devmaster

测试步骤

查看sda的数据库内容,有预期结果1

# cat /run/devmaster/data/b8\:0

查看sr0的数据库内容,有预期结果2

# cat /run/devmaster/data/b11\:0

查看软链接,有预期结果3

# ls -l /dev/test_link

查看/run/devmaster/links/test_link目录,有预期结果4

# ls -l /run/devmaster/links/test_link

结果验证

预期结果1:存在“S:test_link” 预期结果2:存在“S:test_link”和“L:10” 预期结果3:存在/dev/test_link -> sr0软链接 预期结果4:存在b11:0 -> 10:/dev/sr0和b8:0 -> 0:/dev/sda软链接

测试结束

# rm -rf /run/devmaster/data/b8\:0 /run/devmaster/data/b11\:0
# rm -rf /dev/test_link /run/devmaster/links/test_link
# rm -rf /tmp/test/rules.d/01-test-symlink.rules

测试场景约束


最后更新: November 4, 2023
创建日期: August 23, 2023