X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=fs%2Ffuse%2Ffuse_i.h;h=eddbe02c402892cc00970844021fd12512f133b4;hb=44d1b6dd3aa1651e1a9467a055a72c81eb96b8e3;hp=ce394b5fe6b434d87c6efffdfa20c3086e0d4971;hpb=b25d2803e900bde8116b45322e8bb6e84044e249;p=deliverable%2Flinux.git diff --git a/fs/fuse/fuse_i.h b/fs/fuse/fuse_i.h index ce394b5fe6b4..eddbe02c4028 100644 --- a/fs/fuse/fuse_i.h +++ b/fs/fuse/fuse_i.h @@ -22,6 +22,7 @@ #include #include #include +#include /** Max number of pages that can be used in a single read request */ #define FUSE_MAX_PAGES_PER_REQ 32 @@ -243,6 +244,7 @@ struct fuse_args { /** The request IO state (for asynchronous processing) */ struct fuse_io_priv { + struct kref refcnt; int async; spinlock_t lock; unsigned reqs; @@ -256,6 +258,13 @@ struct fuse_io_priv { struct completion *done; }; +#define FUSE_IO_PRIV_SYNC(f) \ +{ \ + .refcnt = { ATOMIC_INIT(1) }, \ + .async = 0, \ + .file = f, \ +} + /** * Request flags *