diff options
author | Amir Goldstein <amir73il@gmail.com> | 2023-06-15 14:22:28 +0300 |
---|---|---|
committer | Christian Brauner <brauner@kernel.org> | 2023-06-19 18:16:38 +0200 |
commit | 62d53c4a1dfe347bd87ede46ffad38c9a3870338 (patch) | |
tree | 50bf37201de8a425c8e4cc23b1be69bde2e4b6eb /fs/internal.h | |
parent | 8a05a8c31d06c5d0d67b273a4a00f87269adde82 (diff) |
fs: use backing_file container for internal files with "fake" f_path
Overlayfs uses open_with_fake_path() to allocate internal kernel files,
with a "fake" path - whose f_path is not on the same fs as f_inode.
Allocate a container struct backing_file for those internal files, that
is used to hold the "fake" ovl path along with the real path.
backing_file_real_path() can be used to access the stored real path.
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Message-Id: <20230615112229.2143178-5-amir73il@gmail.com>
Signed-off-by: Christian Brauner <brauner@kernel.org>
Diffstat (limited to 'fs/internal.h')
-rw-r--r-- | fs/internal.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/internal.h b/fs/internal.h index bd3b2810a36b..9c31078e0d16 100644 --- a/fs/internal.h +++ b/fs/internal.h @@ -97,8 +97,9 @@ extern void chroot_fs_refs(const struct path *, const struct path *); /* * file_table.c */ -extern struct file *alloc_empty_file(int, const struct cred *); -extern struct file *alloc_empty_file_noaccount(int, const struct cred *); +struct file *alloc_empty_file(int flags, const struct cred *cred); +struct file *alloc_empty_file_noaccount(int flags, const struct cred *cred); +struct file *alloc_empty_backing_file(int flags, const struct cred *cred); static inline void put_file_access(struct file *file) { |