lvm 系统函数API应用
来源:互联网 发布:淘宝的主营业务有哪些 编辑:程序博客网 时间:2024/06/05 03:39
前些天做了一些关于系统磁盘管理的应用,针对多磁盘逻辑化,动态内存操作等功能应用了lvm,因为需要使用相关的api所以下载了lvm2app.h,lvm2cmd.h.在ubuntu下安装这些库还是比较容易的。
#apt-get install liblvm2-dev
有一个ubuntu下比较好用的关于库搜索的方式,记录一下#apt-cache search ***
下面是一个小demo,查看是否存在一个名叫'peipei'的逻辑卷组,不存在则创建,文件名lvmtest.c
#include <stdio.h>#include <errno.h>#include <fcntl.h>#include <unistd.h>#include <lvm2app.h>int main(int argc,char **argv){vg_t vg;const char *vgname;struct dm_list *vgnames;struct lvm_str_list *strl;int state = 0;lvm_t libh = lvm_init(NULL); vgnames = lvm_list_vg_names(libh);dm_list_iterate_items(strl, vgnames) { vgname = strl->str;if(strcmp(vgname,"peipei") == 0){ vg = lvm_vg_open(libh, vgname, "w",0);long long int size = lvm_vg_get_free_size(vg);printf("%lld\n",size/1024);state = 1; lvm_vg_remove(vg);lvm_vg_write(vg); //这个函数需要在执行卷组操作之后执行,目的是写入disk// do something with vg lvm_vg_close(vg); } }if(!state){vg = lvm_vg_create(libh,"peipei" );if(NULL == vg)printf("vg create error!\n");else{lvm_vg_extend(vg,"/dev/sdb1");long long int size = lvm_vg_get_free_size(vg);printf("%lld\n",size/1024);int ret = lvm_vg_write(vg);printf("ret:%d\n",ret);lvm_vg_close(vg); }}lvm_quit(libh);return 0;}
在对这库的学习时遇到一些困惑,主要还是逻辑卷组操作后未见效果,原来是未执行写入操作,主要还是自己没认真看函数介绍,只知道找自己需要的诶,以后需要注意了
0 0
- lvm 系统函数API应用
- Linux系统之lvm的应用
- LVM应用
- linux-lvm基本应用
- 挂载LVM系统
- Linux系统的LVM
- API接口函数的应用
- 收集一些系统 api 函数
- 系统API函数获取系统时间
- LVM 磁盘管理器的应用
- Linux lvm cache的应用
- lvm的应用和配置
- 利用LVM管理磁盘系统
- linux系统安装分区LVM
- SendMessage API函数在PowerBuilder中应用
- API函数的简单应用(一)
- 应用API函数在用户窗体中画圆
- 浅谈API函数在VB中的应用
- C#_汉字与GBK,Unicode,UTF-8编码之间的转换
- mvc url输出为小写
- sort和qsort一些用法的总结
- xcode6本地化教程
- error: '>>' should be '> >' within a nested template argument list
- lvm 系统函数API应用
- 幸福
- URAL 1515 Cashmaster 数学题
- Hack3--Creating a custom ViewGroup
- combo实现年、月展示
- 结合美团下单率预测详解机器学习中的数据清洗与特征处理
- ORA-00604: 问题处理
- Android4.4 wpa_supplicant深入分析之wpa_supplicant初始化流程续
- CSS float浮动的深入研究、详解及拓展(一)