lkml.org 
[lkml]   [2007]   [Mar]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[PATCH 3/3] aio: fix oops because of extra IO control block freeing.
 From Leonid Ananiev

Clean up unused return values in aio_complete() and aio_run_iocb().

Signed-off-by: Leonid Ananiev leonid.i.ananiev@intel.com

diff -uprN -X dontdiff linux-2.6.20-aio22/fs/aio.c
linux-2.6.20-aio23/fs/aio.c
--- linux-2.6.20-aio22/fs/aio.c 2007-03-04 22:55:39.000000000 +0300
+++ linux-2.6.20-aio23/fs/aio.c 2007-03-05 08:46:26.000000000 +0300
@@ -660,7 +660,7 @@ static inline int __queue_kicked_iocb(st
* simplifies the coding of individual aio operations as
* it avoids various potential races.
*/
-static ssize_t aio_run_iocb(struct kiocb *iocb)
+static void aio_run_iocb(struct kiocb *iocb)
{
struct kioctx *ctx = iocb->ki_ctx;
ssize_t (*retry)(struct kiocb *);
@@ -668,7 +668,7 @@ static ssize_t aio_run_iocb(struct kiocb

if (!(retry = iocb->ki_retry)) {
printk("aio_run_iocb: iocb->ki_retry = NULL\n");
- return 0;
+ return;
}

/*
@@ -730,7 +730,6 @@ static ssize_t aio_run_iocb(struct kiocb
}
out:
spin_lock_irq(&ctx->ctx_lock);
- return ret;
}

/*
@@ -897,7 +896,7 @@ EXPORT_SYMBOL(kick_iocb);
* Returns true if this is the last user of the request. The
* only other user of the request can be the cancellation code.
*/
-int fastcall aio_complete(struct kiocb *iocb, long res, long res2)
+void fastcall aio_complete(struct kiocb *iocb, long res, long res2)
{
struct kioctx *ctx = iocb->ki_ctx;
struct aio_ring_info *info;
diff -uprN -X dontdiff linux-2.6.20-aio22/include/linux/aio.h
linux-2.6.20-aio23/include/linux/aio.h
--- linux-2.6.20-aio22/include/linux/aio.h 2007-03-04
22:57:50.000000000 +0300
+++ linux-2.6.20-aio23/include/linux/aio.h 2007-03-05
08:46:41.000000000 +0300
@@ -199,7 +199,7 @@ extern unsigned aio_max_size;
extern ssize_t FASTCALL(wait_on_sync_kiocb(struct kiocb *iocb));
extern int FASTCALL(aio_put_req(struct kiocb *iocb));
extern void FASTCALL(kick_iocb(struct kiocb *iocb));
-extern int FASTCALL(aio_complete(struct kiocb *iocb, long res, long res2));
+extern void FASTCALL(aio_complete(struct kiocb *iocb, long res, long
res2));
extern void FASTCALL(__put_ioctx(struct kioctx *ctx));
struct mm_struct;
extern void FASTCALL(exit_aio(struct mm_struct *mm));
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
\
 
 \ /
  Last update: 2007-03-08 19:43    [W:0.101 / U:0.240 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site