linux/fs/afs
Tejun Heo 059499453a afs: don't use PREPARE_WORK
PREPARE_[DELAYED_]WORK() are being phased out.  They have few users
and a nasty surprise in terms of reentrancy guarantee as workqueue
considers work items to be different if they don't have the same work
function.

afs_call->async_work is multiplexed with multiple work functions.
Introduce afs_async_workfn() which invokes afs_call->async_workfn and
always use it as the work function and update the users to set the
->async_workfn field instead of overriding the work function using
PREPARE_WORK().

It would probably be best to route this with other related updates
through the workqueue tree.

Compile tested.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: David Howells <dhowells@redhat.com>
Cc: linux-afs@lists.infradead.org
2014-03-07 10:24:50 -05:00
..
Kconfig fs/afs: remove depends on CONFIG_EXPERIMENTAL 2013-01-21 14:39:04 -08:00
Makefile FS-Cache: Make kAFS use FS-Cache 2009-04-03 16:42:41 +01:00
afs.h afs: Support interacting with multiple user namespaces 2013-02-13 06:00:51 -08:00
afs_cm.h afs: support the CB.ProbeUuid RPC op 2008-04-29 08:06:26 -07:00
afs_fs.h AFS: implement file locking 2007-07-16 09:05:43 -07:00
afs_vl.h AFS: Fix silly characters in a comment 2011-07-20 20:48:03 -04:00
cache.c Fix common misspellings 2011-03-31 11:26:23 -03:00
callback.c workqueue: use mod_delayed_work() instead of cancel + queue 2012-08-13 16:27:37 -07:00
cell.c FS-Cache: Provide the ability to enable/disable cookies 2013-09-27 18:40:25 +01:00
cmservice.c afs: add afs_wq and use it instead of the system workqueue 2011-01-14 09:25:11 -08:00
dir.c afs: dget_parent() can't return a negative dentry 2013-09-29 22:02:24 -04:00
file.c mm: change invalidatepage prototype to accept length 2013-05-21 23:17:23 -04:00
flock.c locks: protect most of the file_lock handling with i_lock 2013-06-29 12:57:42 +04:00
fsclient.c afs: Support interacting with multiple user namespaces 2013-02-13 06:00:51 -08:00
inode.c FS-Cache: Provide the ability to enable/disable cookies 2013-09-27 18:40:25 +01:00
internal.h afs: don't use PREPARE_WORK 2014-03-07 10:24:50 -05:00
main.c afs: add afs_wq and use it instead of the system workqueue 2011-01-14 09:25:11 -08:00
misc.c AFS: Correctly translate auth error aborts and don't failover in such cases 2009-06-16 21:20:14 -07:00
mntpt.c stop passing nameidata to ->lookup() 2012-07-14 16:34:32 +04:00
netdevices.c afs: BUG to BUG_ON changes 2009-04-09 10:41:19 -07:00
proc.c afs: proc cells and rootcell are writeable 2014-02-01 10:59:39 -08:00
rxrpc.c afs: don't use PREPARE_WORK 2014-03-07 10:24:50 -05:00
security.c ->permission() sanitizing: don't pass flags to ->permission() 2011-07-20 01:43:24 -04:00
server.c workqueue: use mod_delayed_work() instead of cancel + queue 2012-08-13 16:27:37 -07:00
super.c fs: Limit sys_mount to only request filesystem modules. 2013-03-03 19:36:31 -08:00
vlclient.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
vlocation.c FS-Cache: Provide the ability to enable/disable cookies 2013-09-27 18:40:25 +01:00
vnode.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
volume.c FS-Cache: Provide the ability to enable/disable cookies 2013-09-27 18:40:25 +01:00
write.c aio: don't include aio.h in sched.h 2013-05-07 20:16:25 -07:00