zoukankan      html  css  js  c++  java
  • 自写程序调用mount

    代码:

    int fd = open("/dev/fuse", O_RDWR);
    printf("fd=%d ",fd);
    int res;
    res=mount ("bvbsdf", "/home/leveldb/fuse/ssfs/dir1", "fuse.ccc", 6, "fd=3,rootmode=40000,user_id=0,group_id=0");

    fd是关键点,之前不成功是因为没有fd。正常的mount是将fd以参数传递的,而这里调用时将fd显式的等于3,因此要确保3这个fd确实已经存在。

    之前的失败主要是缺少这个存在的fd。

    这样可以多次运行这个程序,可以在/proc/xxx/mounts下看到列表,但是不能在/etc/mtab下看到,如果需要添加到mtab,参考fuse中mount.c程序的fuse_mnt_add_mount函数,在上一篇中有介绍。

    多次运行,会在/proc/xxx/mounts有多个entry,umount一次会将最后一个卸掉。

    问题:目前自写程序模仿fuse中mount.c中的fuse_mount_sys函数。需要sudo执行才能mount成功。那么如果实现不用root账户就可以mount呢?也就是mount.c中的fuse_mount_fusermount函数。

  • 相关阅读:
    codeforces.com/problemset/problem/213/C
    资源Createwindow,对应标识符,绑定窗口
    字符编码地址空间
    该来的还是要来,数据挖掘
    深信服准备
    K-Sum
    2017.3.20下午
    2017.3.20上午
    2017.3.17下午
    2017.3.17上午
  • 原文地址:https://www.cnblogs.com/bettersky/p/6754436.html
Copyright © 2011-2022 走看看