Messages in this thread |  | | Subject | Re: [PATCH RFC 1/3] block: Add support for REQ_OP_ASSIGN_RANGE operation | From | "Martin K. Petersen" <> | Date | Thu, 19 Dec 2019 17:37:47 -0500 |
| |
Kirill,
> Hm. BLKDEV_ZERO_NOUNMAP is used in __blkdev_issue_write_zeroes() only. > So, do I understand right that we should the below two?: > > 1) Introduce a new flag BLKDEV_ZERO_ALLOCATE for > blkdev_issue_write_zeroes().
> 2) Introduce a new flag REQ_NOZERO in enum req_opf.
Something like that. If zeroing is a problem for you.
Right now we offer the following semantics:
Deallocate, no zeroing (discard)
Optionally deallocate, zeroing (zeroout)
Allocate, zeroing (zeroout + NOUNMAP)
Some devices also implement a fourth option which would be:
Anchor: Allocate, no zeroing
> Won't this confuse a reader that we have blkdev_issue_write_zeroes(), > which does not write zeroes sometimes? Maybe we should rename > blkdev_issue_write_zeroes() in some more generic name?
Maybe. The naming is what it is for hysterical raisins and reflects how things are implemented in the storage protocols. I wouldn't worry too much about that. We can rename things if need be but we shouldn't plumb an essentially identical operation through the block stack just to expose a different name at the top.
-- Martin K. Petersen Oracle Linux Engineering
|  |