diff options
author | Toomas Soome <tsoome@me.com> | 2018-10-16 15:34:52 +0300 |
---|---|---|
committer | Dan McDonald <danmcd@joyent.com> | 2019-01-17 21:15:57 -0500 |
commit | 1b9bce10d88d75c318f27b82ba816b744c6f1075 (patch) | |
tree | 0b25c55998590e5b48e72d31639330802c27e481 /usr/src | |
parent | b94c9724091d6587cd76f6ec562dc8888e3f31c0 (diff) | |
download | illumos-joyent-1b9bce10d88d75c318f27b82ba816b744c6f1075.tar.gz |
10190 aphysio: cast between incompatible function types
Reviewed by: Andy Fiddaman <af@citrus-it.net>
Reviewed by: Gergő Mihály Doma <domag02@gmail.com>
Approved by: Dan McDonald <danmcd@joyent.com>
Diffstat (limited to 'usr/src')
-rw-r--r-- | usr/src/uts/common/os/aio_subr.c | 14 | ||||
-rw-r--r-- | usr/src/uts/common/sys/aio_impl.h | 2 |
2 files changed, 9 insertions, 7 deletions
diff --git a/usr/src/uts/common/os/aio_subr.c b/usr/src/uts/common/os/aio_subr.c index ce8ed143b4..c857026a27 100644 --- a/usr/src/uts/common/os/aio_subr.c +++ b/usr/src/uts/common/os/aio_subr.c @@ -47,7 +47,7 @@ #include <sys/sdt.h> int aphysio(int (*)(), int (*)(), dev_t, int, void (*)(), struct aio_req *); -void aio_done(struct buf *); +int aio_done(struct buf *); void aphysio_unlock(aio_req_t *); void aio_cleanup(int); void aio_cleanup_exit(void); @@ -131,7 +131,7 @@ aphysio( * b_proc fields to cluster-specifc values. */ if (bp->b_iodone == NULL) { - bp->b_iodone = (int (*)()) aio_done; + bp->b_iodone = aio_done; /* b_forw points at an aio_req_t structure */ bp->b_forw = (struct buf *)reqp; bp->b_proc = curproc; @@ -188,7 +188,7 @@ anocancel(struct buf *bp) * by clustering s/w as contract private interface. */ -void +int aio_done(struct buf *bp) { proc_t *p; @@ -256,7 +256,7 @@ aio_done(struct buf *bp) port_send_event(pkevp); if (portevpend == 0) cv_broadcast(&aiop->aio_portcv); - return; + return (0); } if (aiop->aio_flags & AIO_CLEANUP) { @@ -271,7 +271,7 @@ aio_done(struct buf *bp) mutex_exit(&as->a_contents); mutex_exit(&aiop->aio_mutex); mutex_exit(&aiop->aio_portq_mutex); - return; + return (0); } aio_deq(&aiop->aio_portpending, reqp); @@ -336,7 +336,7 @@ aio_done(struct buf *bp) aiop->aio_flags &= ~AIO_DONE_ACTIVE; mutex_exit(&aiop->aio_mutex); } - return; + return (0); } /* @@ -425,6 +425,8 @@ aio_done(struct buf *bp) aio_sigev_send(p, lio_sigev); if (lio_pkevp) port_send_event(lio_pkevp); + + return (0); } /* diff --git a/usr/src/uts/common/sys/aio_impl.h b/usr/src/uts/common/sys/aio_impl.h index de8e7e7ee1..337397c20a 100644 --- a/usr/src/uts/common/sys/aio_impl.h +++ b/usr/src/uts/common/sys/aio_impl.h @@ -182,7 +182,7 @@ extern void aio_req_remove_portq(aio_t *, aio_req_t *); extern void aio_enq(aio_req_t **, aio_req_t *, int); extern void aio_deq(aio_req_t **, aio_req_t *); /* Clustering: PXFS module uses this interface */ -extern void aio_done(struct buf *); +extern int aio_done(struct buf *); #endif /* _KERNEL */ |