[PATCH -next] aio: Fix compile error due to unexpected use of cmpxchg()

From: Guenter Roeck
Date: Fri Jan 22 2016 - 13:14:50 EST


cmpxchg() on some architectures (ia64) doesn't like functions as parameters.
This results in the following compile error on the affected architectures.

fs/aio.c: In function 'aio_thread_fn':
fs/aio.c:1499:1: error: cast specifies function type

Fixes: 6a81013efc40 ("aio: add support for IOCB_CMD_POLL via aio thread helper")
Cc: Benjamin LaHaise <bcrl@xxxxxxxxx>
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
---
No idea if this is the correct or an acceptable fix.
If not, please consider this to be a bug report.

fs/aio.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/fs/aio.c b/fs/aio.c
index 56bcdf4105f4..229a91e391df 100644
--- a/fs/aio.c
+++ b/fs/aio.c
@@ -1495,8 +1495,8 @@ static void aio_thread_fn(struct work_struct *work)
* cancellation if it has not already occurred.
*/
old_cancel = cmpxchg(&iocb->ki_cancel,
- aio_thread_queue_iocb_cancel_early,
- aio_thread_queue_iocb_cancel);
+ (kiocb_cancel_fn *)aio_thread_queue_iocb_cancel_early,
+ (kiocb_cancel_fn *)aio_thread_queue_iocb_cancel);
if (old_cancel != KIOCB_CANCELLED)
ret = iocb->ki_work_fn(iocb);
else
--
2.1.4