|
我写了一个系统调用, 目的是取得inode.
里面用到了user_path_walk(filename, &nd)来实现这一步.
但是我在用户态调用我的系统调用的时候, 遇到了一点问题
我传入的filename, 相对路径跟绝对路径会有不同的结果产生.
a.out是调用了我写的系统调用的用户态程序.
D目录下的是我挂载在/mnt/D下面的一个ext2文件系统
333.333是普通文件一个(regular file)
例如, 我当前工作目录是根目录
/
的时候
/home/user/get/a.out /mnt/D/dir3/333.333
user_path_walk()返回-2, 也就是出错了
但是当我当前工作目录是
/mnt/D/dir3/
的时候
/home/user/get/a.out 333.333
user_path_walk()返回0, 也就是成功了
为什么会出现这样的情况呢? |
|