cifs: use workqueue instead of slow-work
Workqueue can now handle high concurrency. Use system_nrt_wq instead of slow-work. * Updated is_valid_oplock_break() to not call cifs_oplock_break_put() as advised by Steve French. It might cause deadlock. Instead, reference is increased after queueing succeeded and cifs_oplock_break() briefly grabs GlobalSMBSeslock before putting the cfile to make sure it doesn't put before the matching get is finished. * Anton Blanchard reported that cifs conversion was using now gone system_single_wq. Use system_nrt_wq which provides non-reentrance guarantee which is enough and much better. Signed-off-by:Tejun Heo <tj@kernel.org> Acked-by:
Steve French <sfrench@samba.org> Cc: Anton Blanchard <anton@samba.org>
Showing
- fs/cifs/Kconfig 0 additions, 1 deletionfs/cifs/Kconfig
- fs/cifs/cifsfs.c 0 additions, 5 deletionsfs/cifs/cifsfs.c
- fs/cifs/cifsglob.h 5 additions, 3 deletionsfs/cifs/cifsglob.h
- fs/cifs/dir.c 1 addition, 1 deletionfs/cifs/dir.c
- fs/cifs/file.c 13 additions, 17 deletionsfs/cifs/file.c
- fs/cifs/misc.c 12 additions, 8 deletionsfs/cifs/misc.c
Loading
Please register or sign in to comment