symlinks in ramfs are created with the wrong filesize causing broken symlinks on envfs. Looking into this revealed other shortcomings which are fixed in this series. As a bonus the ln command gets an ignored -s option and also the link destination can now be an existing directory in which case it behaves like the linux ln command.
Signed-off-by: Sascha Hauer <[email protected]> --- Sascha Hauer (9): fs: ramfs: report symlink target length as st_size fs: qemu_fw_cfg: report symlink target length as st_size fs: ramfs: create symlinks with mode 0777 fs: follow absolute symlinks from the root directory fs: allow trailing symlinks pointing to the root directory fs: symlink: drop references taken by filename_create() test: self: dirfd: add tests for absolute symlinks commands: ln: accept -s option commands: ln: create link inside DEST if it is a directory commands/ln.c | 51 +++++++++++++++++++++++++++++++++++++++++++--- fs/fs.c | 25 ++++++++++++++++++++--- fs/qemu_fw_cfg.c | 1 + fs/ramfs.c | 4 +++- test/self/dirfd.c | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 134 insertions(+), 7 deletions(-) --- base-commit: e65108ec0a682b53ecb9e1bebde6a37e0a99ead6 change-id: 20261020-fs-symlink-fixes-e4eb5782c22e Best regards, -- Sascha Hauer <[email protected]>
