AIX and aio
Jeremy Allison
jra at samba.org
Thu Aug 4 20:50:08 GMT 2005
On Thu, Aug 04, 2005 at 01:28:14PM -0600, Jim McDonough wrote:
> AIX does something really great in aio.h and sys/aio.h: #define
> aio_error(h) ((h)->aio_errno)
>
> As a result, macros such as SMB_VFS_NEXT_AIO_ERROR() fail, because the
> function pointer member of the vfs structure is named aio_error, and it
> takes 3 parms. It seems we either need to change that member name, or not
> use aio on aix...
>
> Also, I noticed in vfs_macros.h, all the opaque aio macros use the handle
> from aio_read, which looks like a cut/paste error, as such...it continues
> through the whole section.
> #define SMB_VFS_OPAQUE_AIO_READ(fsp,aiocb)
> ((fsp)->conn->vfs_opaque.ops.aio_read((fsp)->conn->vfs_opaque.handles.aio_read,(fsp),(aiocb)))
> #define SMB_VFS_OPAQUE_AIO_WRITE(fsp,aiocb)
> ((fsp)->conn->vfs_opaque.ops.aio_write((fsp)->conn->vfs_opaque.handles.aio_read,(fsp),(aiocb)))
>
>
> I'm assuming that was just cut/paste, but someone who knows what they're
> doing should probably check it.
Yep - it's a stupid bug. It's *always* a nightmare fixing up all those
stupid over-designed stackable bloody handles.... :-(.
I'll fix it.
Thanks for pointing it out,
Jeremy.
More information about the samba-technical
mailing list