Re: [PATCH 1/4] block: add zone open, close and finish support

From: Bart Van Assche
Date: Tue Jun 25 2019 - 11:56:01 EST


On 6/25/19 3:35 AM, Matias BjÃrling wrote:
On 6/25/19 12:27 AM, Chaitanya Kulkarni wrote:
On 6/24/19 12:43 PM, Bart Van Assche wrote:
static inline bool op_is_write(unsigned int op)
{
ÂÂÂÂreturn (op & 1);
}



The zone mgmt commands are neither write nor reads commands. I guess, one could characterize them as write commands, but they don't write any data, they update a state of a zone on a drive. One should keep it as is? and make sure the zone mgmt commands don't get categorized as either read/write.

Since the open, close and finish operations support modifying zone data I propose to characterize these as write commands. How about the following additional changes:
- Make bio_check_ro() refuse open/close/flush/reset zone operations for read-only partitions (see also commit a32e236eb93e ("Partially revert "block: fail op_is_write() requests to read-only partitions"") # v4.18).
- In submit_bio(), change op_is_write(bio_op(bio)) ? "WRITE" : "READ" into something that uses blk_op_str().
- Add open/close/flush zone support be added in blk_partition_remap().

Thanks,

Bart.