aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/async-thread.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/btrfs/async-thread.c')
-rw-r--r--fs/btrfs/async-thread.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/fs/btrfs/async-thread.c b/fs/btrfs/async-thread.c
index 66532b8f0f7c..ecb5832c0967 100644
--- a/fs/btrfs/async-thread.c
+++ b/fs/btrfs/async-thread.c
@@ -56,7 +56,8 @@ struct btrfs_workqueue {
56}; 56};
57 57
58static inline struct __btrfs_workqueue 58static inline struct __btrfs_workqueue
59*__btrfs_alloc_workqueue(char *name, int flags, int max_active, int thresh) 59*__btrfs_alloc_workqueue(const char *name, int flags, int max_active,
60 int thresh)
60{ 61{
61 struct __btrfs_workqueue *ret = kzalloc(sizeof(*ret), GFP_NOFS); 62 struct __btrfs_workqueue *ret = kzalloc(sizeof(*ret), GFP_NOFS);
62 63
@@ -92,13 +93,14 @@ static inline struct __btrfs_workqueue
92 INIT_LIST_HEAD(&ret->ordered_list); 93 INIT_LIST_HEAD(&ret->ordered_list);
93 spin_lock_init(&ret->list_lock); 94 spin_lock_init(&ret->list_lock);
94 spin_lock_init(&ret->thres_lock); 95 spin_lock_init(&ret->thres_lock);
96 trace_btrfs_workqueue_alloc(ret, name, flags & WQ_HIGHPRI);
95 return ret; 97 return ret;
96} 98}
97 99
98static inline void 100static inline void
99__btrfs_destroy_workqueue(struct __btrfs_workqueue *wq); 101__btrfs_destroy_workqueue(struct __btrfs_workqueue *wq);
100 102
101struct btrfs_workqueue *btrfs_alloc_workqueue(char *name, 103struct btrfs_workqueue *btrfs_alloc_workqueue(const char *name,
102 int flags, 104 int flags,
103 int max_active, 105 int max_active,
104 int thresh) 106 int thresh)
@@ -305,6 +307,7 @@ static inline void
305__btrfs_destroy_workqueue(struct __btrfs_workqueue *wq) 307__btrfs_destroy_workqueue(struct __btrfs_workqueue *wq)
306{ 308{
307 destroy_workqueue(wq->normal_wq); 309 destroy_workqueue(wq->normal_wq);
310 trace_btrfs_workqueue_destroy(wq);
308 kfree(wq); 311 kfree(wq);
309} 312}
310 313