• Tejun Heo's avatar
    afs: don't use PREPARE_WORK · 05949945
    Tejun Heo authored
    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: default avatarTejun Heo <tj@kernel.org>
    Cc: David Howells <dhowells@redhat.com>
    Cc: linux-afs@lists.infradead.org
    05949945
internal.h 31.1 KB