对于输入pvcreate /dev/sda0这个命令,如何通过lvm进入,然后经过转换到调用pvcreate的过程,前面算基本理清,更多的细节需要在日后多完善。pvcreate函数的代码如下:
- int pvcreate(struct cmd_context *cmd, int argc, char **argv)
- {
- int i, r;
- int ret = ECMD_PROCESSED;
- struct pvcreate_params pp;
- if (!argc) {
- log_error("Please enter a physical volume path");
- return EINVALID_CMD_LINE;
- }
- if (arg_count(cmd, restorefile_ARG) && !arg_count(cmd, uuidstr_ARG)) {
- log_error("--uuid is required with --restorefile");
- return EINVALID_CMD_LINE;
- }
- if (arg_count(cmd, uuidstr_ARG) && argc != 1) {
- log_error("Can only set uuid on one volume at once");
- return EINVALID_CMD_LINE;
- &

本文详细分析了LVM中用于创建物理卷的pvcreate命令的源代码,涉及参数检查、错误处理及实际创建过程。通过讨论如何处理uuid、恢复文件等选项,揭示了pvcreate内部的工作原理。
最低0.47元/天 解锁文章
1790

被折叠的 条评论
为什么被折叠?



