diff --git a/kmod/src/kernelcompat.h b/kmod/src/kernelcompat.h index 1514a6f0..cd5ff1de 100644 --- a/kmod/src/kernelcompat.h +++ b/kmod/src/kernelcompat.h @@ -54,6 +54,16 @@ static inline int dir_emit_dots(struct file *file, void *dirent, #define kc_posix_acl_valid(user_ns, acl) posix_acl_valid(acl) #endif +/* + * v3.6-rc1-24-gdbf2576e37da + * + * All workqueues are now non-reentrant, and the bit flag is removed + * shortly after its uses were removed. + */ +#ifndef WQ_NON_REENTRANT +#define WQ_NON_REENTRANT 0 +#endif + /* * v3.18-rc2-19-gb5ae6b15bd73 * diff --git a/kmod/src/server.c b/kmod/src/server.c index e00d1bca..c8f9be8d 100644 --- a/kmod/src/server.c +++ b/kmod/src/server.c @@ -4464,7 +4464,7 @@ void scoutfs_server_stop_wait(struct super_block *sb) DECLARE_SERVER_INFO(sb, server); stop_server(server); - flush_work_sync(&server->work); + flush_work(&server->work); } int scoutfs_server_setup(struct super_block *sb)