diff options
Diffstat (limited to 'fs/btrfs/async-thread.h')
| -rw-r--r-- | fs/btrfs/async-thread.h | 28 | 
1 files changed, 27 insertions, 1 deletions
diff --git a/fs/btrfs/async-thread.h b/fs/btrfs/async-thread.h index 9c6b66d15fb0..e9e31c94758f 100644 --- a/fs/btrfs/async-thread.h +++ b/fs/btrfs/async-thread.h @@ -19,12 +19,14 @@  #ifndef __BTRFS_ASYNC_THREAD_  #define __BTRFS_ASYNC_THREAD_ +#include <linux/workqueue.h>  struct btrfs_workqueue;  /* Internal use only */  struct __btrfs_workqueue;  struct btrfs_work;  typedef void (*btrfs_func_t)(struct btrfs_work *arg); +typedef void (*btrfs_work_func_t)(struct work_struct *arg);  struct btrfs_work {  	btrfs_func_t func; @@ -38,11 +40,35 @@ struct btrfs_work {  	unsigned long flags;  }; +#define BTRFS_WORK_HELPER_PROTO(name)					\ +void btrfs_##name(struct work_struct *arg) + +BTRFS_WORK_HELPER_PROTO(worker_helper); +BTRFS_WORK_HELPER_PROTO(delalloc_helper); +BTRFS_WORK_HELPER_PROTO(flush_delalloc_helper); +BTRFS_WORK_HELPER_PROTO(cache_helper); +BTRFS_WORK_HELPER_PROTO(submit_helper); +BTRFS_WORK_HELPER_PROTO(fixup_helper); +BTRFS_WORK_HELPER_PROTO(endio_helper); +BTRFS_WORK_HELPER_PROTO(endio_meta_helper); +BTRFS_WORK_HELPER_PROTO(endio_meta_write_helper); +BTRFS_WORK_HELPER_PROTO(endio_raid56_helper); +BTRFS_WORK_HELPER_PROTO(rmw_helper); +BTRFS_WORK_HELPER_PROTO(endio_write_helper); +BTRFS_WORK_HELPER_PROTO(freespace_write_helper); +BTRFS_WORK_HELPER_PROTO(delayed_meta_helper); +BTRFS_WORK_HELPER_PROTO(readahead_helper); +BTRFS_WORK_HELPER_PROTO(qgroup_rescan_helper); +BTRFS_WORK_HELPER_PROTO(extent_refs_helper); +BTRFS_WORK_HELPER_PROTO(scrub_helper); +BTRFS_WORK_HELPER_PROTO(scrubwrc_helper); +BTRFS_WORK_HELPER_PROTO(scrubnc_helper); +  struct btrfs_workqueue *btrfs_alloc_workqueue(const char *name,  					      int flags,  					      int max_active,  					      int thresh); -void btrfs_init_work(struct btrfs_work *work, +void btrfs_init_work(struct btrfs_work *work, btrfs_work_func_t helper,  		     btrfs_func_t func,  		     btrfs_func_t ordered_func,  		     btrfs_func_t ordered_free);  |