feat:添加symlink系统调用 (#984)

* 添加symlink系统调用

* 修改FATInode的dname的获取逻辑

* 修改fat对Dname的处理,分离dname和inode缓存的key

---------

Co-authored-by: sparkzky <sparkhhhhhhhhh@outlook.com>
Co-authored-by: longjin <longjin@DragonOS.org>
This commit is contained in:
sparkzky
2024-10-20 20:56:11 +08:00
committed by GitHub
parent cae6182257
commit 01c18c64b1
14 changed files with 328 additions and 39 deletions

View File

@ -346,6 +346,20 @@ impl Syscall {
Self::unlinkat(dirfd, path, flags)
}
#[cfg(target_arch = "x86_64")]
SYS_SYMLINK => {
let oldname = args[0] as *const u8;
let newname = args[1] as *const u8;
Self::symlink(oldname, newname)
}
SYS_SYMLINKAT => {
let oldname = args[0] as *const u8;
let newdfd = args[1] as i32;
let newname = args[2] as *const u8;
Self::symlinkat(oldname, newdfd, newname)
}
#[cfg(target_arch = "x86_64")]
SYS_RMDIR => {
let path = args[0] as *const u8;