diff options
Diffstat (limited to 'xlators/mount/fuse/src/fuse-bridge.h')
-rw-r--r-- | xlators/mount/fuse/src/fuse-bridge.h | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/xlators/mount/fuse/src/fuse-bridge.h b/xlators/mount/fuse/src/fuse-bridge.h index ea346c05f9e..08af454be63 100644 --- a/xlators/mount/fuse/src/fuse-bridge.h +++ b/xlators/mount/fuse/src/fuse-bridge.h @@ -110,8 +110,9 @@ struct fuse_private { char *fuse_mountopts; /* For fuse-reverse-validation */ - int revchan_in; - int revchan_out; + struct list_head invalidate_list; + pthread_cond_t invalidate_cond; + pthread_mutex_t invalidate_mutex; gf_boolean_t reverse_fuse_thread_started; /* For communicating with separate mount thread. */ @@ -133,6 +134,18 @@ struct fuse_private { }; typedef struct fuse_private fuse_private_t; +#define INVAL_BUF_SIZE (sizeof (struct fuse_out_header) + \ + max (sizeof (struct fuse_notify_inval_inode_out), \ + sizeof (struct fuse_notify_inval_entry_out) + \ + NAME_MAX + 1)) + + +struct fuse_invalidate_node { + char inval_buf[INVAL_BUF_SIZE]; + struct list_head next; +}; +typedef struct fuse_invalidate_node fuse_invalidate_node_t; + struct fuse_graph_switch_args { xlator_t *this; xlator_t *old_subvol; @@ -140,11 +153,6 @@ struct fuse_graph_switch_args { }; typedef struct fuse_graph_switch_args fuse_graph_switch_args_t; -#define INVAL_BUF_SIZE (sizeof (struct fuse_out_header) + \ - max (sizeof (struct fuse_notify_inval_inode_out), \ - sizeof (struct fuse_notify_inval_entry_out) + \ - NAME_MAX + 1)) - #define FUSE_EVENT_HISTORY_SIZE 1024 #define _FH_TO_FD(fh) ((fd_t *)(uintptr_t)(fh)) |