]> err.no Git - linux-2.6/blobdiff - fs/fuse/fuse_i.h
Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux...
[linux-2.6] / fs / fuse / fuse_i.h
index ee9b8304251091c81acf8cf896b0253495dcbb90..0474202cb5dc09d8b0bd9c75c47d7e01a87b700a 100644 (file)
@@ -159,6 +159,9 @@ struct fuse_req {
        /** Data is being copied to/from the request */
        unsigned locked:1;
 
+       /** Request is counted as "waiting" */
+       unsigned waiting:1;
+
        /** State of the request */
        enum fuse_req_state state;
 
@@ -255,9 +258,15 @@ struct fuse_conn {
        /** waitq for blocked connection */
        wait_queue_head_t blocked_waitq;
 
+       /** RW semaphore for exclusion with fuse_put_super() */
+       struct rw_semaphore sbput_sem;
+
        /** The next unique request id */
        u64 reqctr;
 
+       /** Mount is active */
+       unsigned mounted;
+
        /** Connection established, cleared on umount, connection
            abort and device release */
        unsigned connected;
@@ -468,11 +477,11 @@ void request_send_noreply(struct fuse_conn *fc, struct fuse_req *req);
 void request_send_background(struct fuse_conn *fc, struct fuse_req *req);
 
 /**
- * Remove request from the the background list
+ * Release inodes and file associated with background request
  */
-void fuse_remove_background(struct fuse_conn *fc, struct fuse_req *req);
+void fuse_release_background(struct fuse_conn *fc, struct fuse_req *req);
 
-/** Abort all requests */
+/* Abort all requests */
 void fuse_abort_conn(struct fuse_conn *fc);
 
 /**