]> git.baikalelectronics.ru Git - uboot.git/commit
fs: ext4: Add support for the creation of symbolic links
authorJean-Jacques Hiblot <jjhiblot@ti.com>
Wed, 13 Feb 2019 11:15:25 +0000 (12:15 +0100)
committerTom Rini <trini@konsulko.com>
Wed, 10 Apr 2019 00:03:30 +0000 (20:03 -0400)
commitae41db7c4cc431ffddb8adc216cb9d31cf55f7f7
tree2eaa0660c0f9f303086f03e9765244493c0b5431
parent76334a51229bc6a8d2f11db98686467d754f92e3
fs: ext4: Add support for the creation of symbolic links

Re-use the functions used to write/create a file, to support creation of a
symbolic link.
The difference with a regular file are small:
- The inode mode is flagged with S_IFLNK instead of S_IFREG
- The ext2_dirent's filetype is FILETYPE_SYMLINK instead of FILETYPE_REG
- Instead of storing the content of a file in allocated blocks, the path
to the target is stored. And if the target's path is short enough, no block
is allocated and the target's path is stored in ext2_inode.b.symlink

As with regulars files, if a file/symlink with the same name exits, it is
unlinked first and then re-created.

Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
[trini: Fix ext4 env code]
Signed-off-by: Tom Rini <trini@konsulko.com>
env/ext4.c
fs/ext4/ext4_common.c
fs/ext4/ext4_write.c
include/ext4fs.h