RTEMS | cpukit/posix/aio*: added support for O_DSYNC (!128)

Joel Sherrill (@joel) gitlab at rtems.org
Mon Jul 29 15:54:42 UTC 2024



Merge request https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/128 was reviewed by Joel Sherrill

--
  
Joel Sherrill started a new discussion on cpukit/include/aio.h: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/128#note_110169

 >  /** Needed by aio_fsync() */
 >  #define LIO_SYNC        3

These two LIO_ constants do not appear to be in the POSIX standard. aio.h is specified at https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/aio.h.html. Where did you find these?

There are O_RSYNC and O_DSYNC that are to be used with aio_fsync(). 

Perhaps you need these internally in which case they should have been defined in aio_misc.h in a way that doesn't have potential to conflict with aio.h constants.

--
  
Joel Sherrill started a new discussion on cpukit/posix/src/aio_fsync.c: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/128#note_110170

 >    req->aiocbp = aiocbp;
 > -  req->aiocbp->aio_lio_opcode = LIO_SYNC;
 > +  if ( op == O_SYNC ) {

As I suspected. In this case you need private opcodes defined in aio_misc.h and be sure they do not conflict.




-- 
View it on GitLab: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/128
You're receiving this email because of your account on gitlab.rtems.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/bugs/attachments/20240729/466de820/attachment.htm>


More information about the bugs mailing list