aboutsummaryrefslogtreecommitdiff
path: root/fs/init.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/init.c')
-rw-r--r--fs/init.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/fs/init.c b/fs/init.c
index 145fb31b7a5f..51646ba38099 100644
--- a/fs/init.c
+++ b/fs/init.c
@@ -122,6 +122,21 @@ int __init init_eaccess(const char *filename)
return error;
}
+int __init init_stat(const char *filename, struct kstat *stat, int flags)
+{
+ int lookup_flags = (flags & AT_SYMLINK_NOFOLLOW) ? 0 : LOOKUP_FOLLOW;
+ struct path path;
+ int error;
+
+ error = kern_path(filename, lookup_flags, &path);
+ if (error)
+ return error;
+ error = vfs_getattr(&path, stat, STATX_BASIC_STATS,
+ flags | AT_NO_AUTOMOUNT);
+ path_put(&path);
+ return error;
+}
+
int __init init_mknod(const char *filename, umode_t mode, unsigned int dev)
{
struct dentry *dentry;