RTEMS | aio_fsync() does not support O_DSYNC (#5040)
Joel Sherrill (@joel)
gitlab at rtems.org
Thu Jun 27 15:24:56 UTC 2024
Joel Sherrill commented: https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5040#note_108391
It looks like the aio enqueue process will insert requests on to the one associated with the thread for that file descriptor. But if I am reading this code right, the requests are placed in LIFO order.
```
while (
req->aiocbp->aio_reqprio > prio &&
!rtems_chain_is_tail( chain, node )
) {
```
I think that should be >= prio so the scan for the insertion point will put new requests at the same priority at the end of the same priority ones. If I am reading this right, changing to >= prio should address your concern.
I think all requested operations on a single fd should be processed in priority order and FIFO order when at the same priority.
--
View it on GitLab: https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5040#note_108391
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/20240627/19277910/attachment.htm>
More information about the bugs
mailing list