kaio
[Top] [All Lists]

Silly question about aiocb definition

To: kaio@xxxxxxxxxxx
Subject: Silly question about aiocb definition
From: Christopher Smith <x@xxxxxxxx>
Date: Wed, 21 Nov 2001 17:40:52 -0800
Sender: owner-kaio@xxxxxxxxxxx
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.5) Gecko/20011023
Sorry for the silly question, but the aiocb definition found in the SGI KAIO patch is as follows:

typedef struct aiocb {
   int        aio_fildes;    /* File descriptor to perform aio  */
   void        *aio_buf;    /* User's data buffer            */
   size_t        aio_nbytes;    /* No. of bytes in transfer        */
#if defined(__USE_FILE_OFFSET64) || defined(AIO_FILE_OFFSET64) || defined(__KERNEL__)
   loff_t        aio_offset;
#else
   off_t        aio_offset;    /* File position to begin transfer */
   char        __aio_pad[sizeof(loff_t) - sizeof(off_t)];
#endif
   int        aio_reqprio;    /* Unused - Reserved            */
   sigevent_t    aio_sigevent;    /* Notification Options        */
   int        aio_lio_opcode; /* lio_listio opcode            */
unsigned long aio_reserved[AIO_RESERVED];/* Don't use this */
#ifdef KAIO_STATS
   unsigned long    aio_times[AIO_TIMES];
#endif
} aiocb_t;

The relevant area of concern is aio_buf.

Shouldn't aio_buf be marked volatile? It certainly is in the case where one is providing an async read. Obviously I have similar concerns for aiocb64.

--Chris


<Prev in Thread] Current Thread [Next in Thread>