fio: add FIO_RO_NEEDS_RW_OPEN ioengine flag
Some oddball cases like sg/bsg require devices to be opened for writing
in order to do read commands. So fio has been opening character devices
in rw mode for read workloads. However, nvme generic character devices
do not need (and may refuse) a writeable open for read workloads. So
instead of always opening character devices in rw mode, open devices in
rw mode for read workloads only if the ioengine has the
FIO_RO_NEEDS_RW_OPEN flag.
Link: https://lore.kernel.org/fio/20230203123421.126720-1-joshi.k@samsung.com/
Signed-off-by: Vincent Fu <vincent.fu@samsung.com>