Merge tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-microblaze.git] / fs / fuse / fuse_i.h
index 7e463e2..07829ce 100644 (file)
@@ -761,6 +761,9 @@ struct fuse_conn {
        /* Auto-mount submounts announced by the server */
        unsigned int auto_submounts:1;
 
+       /* Propagate syncfs() to server */
+       unsigned int sync_fs:1;
+
        /** The number of requests waiting for completion */
        atomic_t num_waiting;
 
@@ -867,6 +870,13 @@ static inline u64 fuse_get_attr_version(struct fuse_conn *fc)
        return atomic64_read(&fc->attr_version);
 }
 
+static inline bool fuse_stale_inode(const struct inode *inode, int generation,
+                                   struct fuse_attr *attr)
+{
+       return inode->i_generation != generation ||
+               inode_wrong_type(inode, attr->mode);
+}
+
 static inline void fuse_make_bad(struct inode *inode)
 {
        remove_inode_hash(inode);
@@ -1081,15 +1091,6 @@ 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
  *
@@ -1097,6 +1098,11 @@ int fuse_fill_super_submount(struct super_block *sb,
  */
 bool fuse_mount_remove(struct fuse_mount *fm);
 
+/*
+ * Setup context ops for submounts
+ */
+int fuse_init_fs_context_submount(struct fs_context *fsc);
+
 /*
  * Shut down the connection (possibly sending DESTROY request).
  */