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>