aboutsummaryrefslogtreecommitdiffstats
path: root/fs/fuse/fuse_i.h
diff options
context:
space:
mode:
authorMax Reitz <mreitz@redhat.com>2020-09-09 17:52:17 +0200
committerMiklos Szeredi <mszeredi@redhat.com>2020-09-18 15:17:41 +0200
commit1866d779d5d2abae59d304e809600ca3ca8d0071 (patch)
treef6ab5f44aeefd72c9f37e477158ba409a3c35231 /fs/fuse/fuse_i.h
parentfcee216beb9c15c3e1466bb76575358415687c55 (diff)
downloadkernel_replicant_linux-1866d779d5d2abae59d304e809600ca3ca8d0071.tar.gz
kernel_replicant_linux-1866d779d5d2abae59d304e809600ca3ca8d0071.tar.bz2
kernel_replicant_linux-1866d779d5d2abae59d304e809600ca3ca8d0071.zip
fuse: Allow fuse_fill_super_common() for submounts
Submounts have their own superblock, which needs to be initialized. However, they do not have a fuse_fs_context associated with them, and the root node's attributes should be taken from the mountpoint's node. Extend fuse_fill_super_common() to work for submounts by making the @ctx parameter optional, and by adding a @submount_finode parameter. (There is a plain "unsigned" in an existing code block that is being indented by this commit. Extend it to "unsigned int" so checkpatch does not complain.) Signed-off-by: Max Reitz <mreitz@redhat.com> Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Diffstat (limited to 'fs/fuse/fuse_i.h')
-rw-r--r--fs/fuse/fuse_i.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/fs/fuse/fuse_i.h b/fs/fuse/fuse_i.h
index 95b81a87941d..d469905166ab 100644
--- a/fs/fuse/fuse_i.h
+++ b/fs/fuse/fuse_i.h
@@ -1044,6 +1044,14 @@ void fuse_send_init(struct fuse_mount *fm);
*/
int fuse_fill_super_common(struct super_block *sb, struct fuse_fs_context *ctx);
+/*
+ * Fill in superblock for submounts
+ * @sb: partially-initialized superblock to fill in
+ * @parent_fi: The fuse_inode of the parent filesystem where this submount is
+ * mounted
+ */
+int fuse_fill_super_submount(struct super_block *sb,
+ struct fuse_inode *parent_fi);
/*
* Remove the mount from the connection