diff options
author | Ian Moffett <ian@osmora.org> | 2024-03-15 12:06:40 -0400 |
---|---|---|
committer | Ian Moffett <ian@osmora.org> | 2024-03-15 12:06:40 -0400 |
commit | 45547c3a0056ab5732c4ea1e01deee10749ecbcb (patch) | |
tree | 52c77cc3ea3bde439b4398f0476e27edc5f808d9 | |
parent | 81e963b81a99f6b1176b2e316308cebe5f86d3c2 (diff) |
kernel: vfs: Add fs capabilties
Signed-off-by: Ian Moffett <ian@osmora.org>
-rw-r--r-- | sys/fs/initramfs.c | 1 | ||||
-rw-r--r-- | sys/include/sys/mount.h | 7 |
2 files changed, 8 insertions, 0 deletions
diff --git a/sys/fs/initramfs.c b/sys/fs/initramfs.c index 2a501a1..6da0929 100644 --- a/sys/fs/initramfs.c +++ b/sys/fs/initramfs.c @@ -173,6 +173,7 @@ static int initramfs_init(struct fs_info *info) { initramfs = get_module("/boot/initramfs.tar", &initramfs_size); + info->caps = FSCAP_FULLPATH; if (initramfs == NULL) { panic("Failed to load initramfs\n"); diff --git a/sys/include/sys/mount.h b/sys/include/sys/mount.h index 3ac7ec7..209fa3e 100644 --- a/sys/include/sys/mount.h +++ b/sys/include/sys/mount.h @@ -33,6 +33,7 @@ #include <sys/types.h> #include <sys/queue.h> #include <sys/vnode.h> +#include <sys/cdefs.h> #define FS_NAME_MAX 16 /* Max length of FS type name including nul */ @@ -54,9 +55,15 @@ struct fs_info { char name[FS_NAME_MAX]; /* Filesystem type name */ struct vfsops *vfsops; /* Filesystem operations */ struct mount *mp_root; + uint16_t caps; }; /* + * Filesystem capabilities + */ +#define FSCAP_FULLPATH __BIT(0) /* Requires full path per lookup */ + +/* * Mount flags */ #define MNT_RDONLY 0x00000001 |