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