}
void btrfs_init_work(struct btrfs_work *work,
- void (*func)(struct btrfs_work *),
- void (*ordered_func)(struct btrfs_work *),
- void (*ordered_free)(struct btrfs_work *))
+ btrfs_func_t func,
+ btrfs_func_t ordered_func,
+ btrfs_func_t ordered_free)
{
work->func = func;
work->ordered_func = ordered_func;
struct btrfs_workqueue;
/* Internal use only */
struct __btrfs_workqueue;
+struct btrfs_work;
+typedef void (*btrfs_func_t)(struct btrfs_work *arg);
struct btrfs_work {
- void (*func)(struct btrfs_work *arg);
- void (*ordered_func)(struct btrfs_work *arg);
- void (*ordered_free)(struct btrfs_work *arg);
+ btrfs_func_t func;
+ btrfs_func_t ordered_func;
+ btrfs_func_t ordered_free;
/* Don't touch things below */
struct work_struct normal_work;
};
struct btrfs_workqueue *btrfs_alloc_workqueue(char *name,
- int flags,
- int max_active,
- int thresh);
+ int flags,
+ int max_active,
+ int thresh);
void btrfs_init_work(struct btrfs_work *work,
- void (*func)(struct btrfs_work *),
- void (*ordered_func)(struct btrfs_work *),
- void (*ordered_free)(struct btrfs_work *));
+ btrfs_func_t func,
+ btrfs_func_t ordered_func,
+ btrfs_func_t ordered_free);
void btrfs_queue_work(struct btrfs_workqueue *wq,
struct btrfs_work *work);
void btrfs_destroy_workqueue(struct btrfs_workqueue *wq);