io_uring: allow use of offset == -1 to mean file position
authorJens Axboe <axboe@kernel.dk>
Wed, 25 Dec 2019 23:33:42 +0000 (16:33 -0700)
committerJens Axboe <axboe@kernel.dk>
Sat, 28 Dec 2019 23:06:24 +0000 (16:06 -0700)
commit3e1289d9fd233e72d94215aa001681ff6227b236
treebdccffcfc21d215f3d6a5fc9ecd9d8c5c6db0e0c
parent315bcd5392b2d7b2024e2b6681ce721296a8b1f0
io_uring: allow use of offset == -1 to mean file position

This behaves like preadv2/pwritev2 with offset == -1, it'll use (and
update) the current file position. This obviously comes with the caveat
that if the application has multiple read/writes in flight, then the
end result will not be as expected. This is similar to threads sharing
a file descriptor and doing IO using the current file position.

Since this feature isn't easily detectable by doing a read or write,
add a feature flags, IORING_FEAT_RW_CUR_POS, to allow applications to
detect presence of this feature.

Reported-by: 李通洲 <carter.li@eoitek.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/io_uring.c
include/uapi/linux/io_uring.h