aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/fs/initramfs.c1
-rw-r--r--sys/include/sys/mount.h7
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