summaryrefslogtreecommitdiff
path: root/fs/ext4/ext4_common.h
diff options
context:
space:
mode:
authorHeinrich Schuchardt <heinrich.schuchardt@canonical.com>2024-02-20 12:54:23 +0100
committerTom Rini <trini@konsulko.com>2024-03-04 10:25:47 -0500
commite70f04fb8d69b9e02af608ec4b292bdf2f37c915 (patch)
tree17be275a389563d34f61f41de620819eab72398d /fs/ext4/ext4_common.h
parent3766a249a3c0686c690bab1ce31a1c1090c74d29 (diff)
ext4: detect directories in ext4fs_exists()
While fat_exists() reports directories and files as existing ext4fs_exists() only recognizes files. This lead to errors when using systemd-boot with an ext4 file-system. Change ext4fs_exists() to find any type of inode: files, directories, symbolic links. Fixes: a1596438a689 ("ext4fs ls load support") Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Diffstat (limited to 'fs/ext4/ext4_common.h')
-rw-r--r--fs/ext4/ext4_common.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/ext4/ext4_common.h b/fs/ext4/ext4_common.h
index 504c708b064..84500e990aa 100644
--- a/fs/ext4/ext4_common.h
+++ b/fs/ext4/ext4_common.h
@@ -54,6 +54,8 @@ int ext4fs_read_file(struct ext2fs_node *node, loff_t pos, loff_t len,
char *buf, loff_t *actread);
int ext4fs_find_file(const char *path, struct ext2fs_node *rootnode,
struct ext2fs_node **foundnode, int expecttype);
+int ext4fs_find_file1(const char *currpath, struct ext2fs_node *currroot,
+ struct ext2fs_node **currfound, int *foundtype);
int ext4fs_iterate_dir(struct ext2fs_node *dir, char *name,
struct ext2fs_node **fnode, int *ftype);