From 5efc0686eebc0c0daabfbfc2c403f8251b468526 Mon Sep 17 00:00:00 2001 From: Jean-Jacques Hiblot Date: Wed, 13 Feb 2019 12:15:25 +0100 Subject: 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 Reviewed-by: Tom Rini [trini: Fix ext4 env code] Signed-off-by: Tom Rini --- env/ext4.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'env') diff --git a/env/ext4.c b/env/ext4.c index 09c5e4a4910..388474a11c7 100644 --- a/env/ext4.c +++ b/env/ext4.c @@ -60,7 +60,7 @@ static int env_ext4_save(void) } err = ext4fs_write(CONFIG_ENV_EXT4_FILE, (void *)&env_new, - sizeof(env_t)); + sizeof(env_t), FILETYPE_REG); ext4fs_close(); if (err == -1) { -- cgit v1.2.3