gfs2: use workqueue instead of slow-work
Workqueue can now handle high concurrency. Convert gfs to use workqueue instead of slow-work. * Steven pointed out that recovery path might be run from allocation path and thus requires forward progress guarantee without memory allocation. Create and use gfs_recovery_wq with rescuer. Please note that forward progress wasn't guaranteed with slow-work. * Updated to use non-reentrant workqueue. Signed-off-by: Tejun Heo <tj@kernel.org> Acked-by: Steven Whitehouse <swhiteho@redhat.com>
This commit is contained in:
@@ -12,7 +12,6 @@
|
||||
|
||||
#include <linux/fs.h>
|
||||
#include <linux/workqueue.h>
|
||||
#include <linux/slow-work.h>
|
||||
#include <linux/dlm.h>
|
||||
#include <linux/buffer_head.h>
|
||||
|
||||
@@ -383,7 +382,7 @@ struct gfs2_journal_extent {
|
||||
struct gfs2_jdesc {
|
||||
struct list_head jd_list;
|
||||
struct list_head extent_list;
|
||||
struct slow_work jd_work;
|
||||
struct work_struct jd_work;
|
||||
struct inode *jd_inode;
|
||||
unsigned long jd_flags;
|
||||
#define JDF_RECOVERY 1
|
||||
|
Reference in New Issue
Block a user