OSDN Git Service

zonefs: use REQ_OP_ZONE_APPEND for sync DIO
authorJohannes Thumshirn <johannes.thumshirn@wdc.com>
Tue, 12 May 2020 08:55:54 +0000 (17:55 +0900)
committerJens Axboe <axboe@kernel.dk>
Wed, 13 May 2020 02:36:28 +0000 (20:36 -0600)
commit02ef12a663c7ac24b06146d0ed3137848edb0676
treebbb9461566652f720fce10137b6dbe5bbe62c503
parent29b2a3aa296711cfdadafbf627c2d9a388fc84ee
zonefs: use REQ_OP_ZONE_APPEND for sync DIO

Synchronous direct I/O to a sequential write only zone can be issued using
the new REQ_OP_ZONE_APPEND request operation. As dispatching multiple
BIOs can potentially result in reordering, we cannot support asynchronous
IO via this interface.

We also can only dispatch up to queue_max_zone_append_sectors() via the
new zone-append method and have to return a short write back to user-space
in case an IO larger than queue_max_zone_append_sectors() has been issued.

Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Acked-by: Damien Le Moal <damien.lemoal@wdc.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/zonefs/super.c