fuse: fix hang of single threaded fuseblk filesystem
[firefly-linux-kernel-4.4.55.git] / fs / fuse / fuse_i.h
index 01cc462ff45d5ccdf0bc0bc0526e493ed60fc729..e6d614d10467a9537cbd2b7d8cda085181fc8d7d 100644 (file)
@@ -21,6 +21,7 @@
 #include <linux/rwsem.h>
 #include <linux/rbtree.h>
 #include <linux/poll.h>
+#include <linux/workqueue.h>
 
 /** Max number of pages that can be used in a single read request */
 #define FUSE_MAX_PAGES_PER_REQ 32
@@ -254,7 +255,10 @@ struct fuse_req {
        union {
                struct fuse_forget_in forget_in;
                struct {
-                       struct fuse_release_in in;
+                       union {
+                               struct fuse_release_in in;
+                               struct work_struct work;
+                       };
                        struct path path;
                } release;
                struct fuse_init_in init_in;