[PATCH] FUSE: atomic create+open
[safe/jmp/linux-2.6] / fs / fuse / fuse_i.h
index c4e8c3b..0ea5301 100644 (file)
@@ -269,6 +269,9 @@ struct fuse_conn {
        /** Is access not implemented by fs? */
        unsigned no_access : 1;
 
+       /** Is create not implemented by fs? */
+       unsigned no_create : 1;
+
        /** Backing dev info */
        struct backing_dev_info bdi;
 };
@@ -340,6 +343,17 @@ size_t fuse_send_read_common(struct fuse_req *req, struct file *file,
  */
 int fuse_open_common(struct inode *inode, struct file *file, int isdir);
 
+struct fuse_file *fuse_file_alloc(void);
+void fuse_file_free(struct fuse_file *ff);
+void fuse_finish_open(struct inode *inode, struct file *file,
+                     struct fuse_file *ff, struct fuse_open_out *outarg);
+
+/**
+ * Send a RELEASE request
+ */
+void fuse_send_release(struct fuse_conn *fc, struct fuse_file *ff,
+                      u64 nodeid, struct inode *inode, int flags, int isdir);
+
 /**
  * Send RELEASE or RELEASEDIR request
  */