Messages in this thread | | | Date | Tue, 22 Feb 2022 15:34:40 +0800 | Subject | Re: [PATCH v2 4/4] io_uring: pre-increment f_pos on rw | From | Hao Xu <> |
| |
On 2/21/22 22:16, Dylan Yudaken wrote: > In read/write ops, preincrement f_pos when no offset is specified, and > then attempt fix up the position after IO completes if it completed less > than expected. This fixes the problem where multiple queued up IO will all > obtain the same f_pos, and so perform the same read/write. > > This is still not as consistent as sync r/w, as it is able to advance the > file offset past the end of the file. It seems it would be quite a > performance hit to work around this limitation - such as by keeping track > of concurrent operations - and the downside does not seem to be too > problematic. > > The attempt to fix up the f_pos after will at least mean that in situations > where a single operation is run, then the position will be consistent. > It's a little bit weird, when a read req returns x bytes read while f_pos
moves ahead y bytes where x isn't equal to y. Don't know if this causes
problems..
| |