Messages in this thread |  | | Date | Thu, 19 Dec 2019 17:53:39 -0800 | From | "Darrick J. Wong" <> | Subject | Re: [PATCH RFC 1/3] block: Add support for REQ_OP_ASSIGN_RANGE operation |
| |
On Thu, Dec 19, 2019 at 05:37:47PM -0500, Martin K. Petersen wrote: > > 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
What happens if you anchor and then try to read the results? IO error?
(Yeah, I'm being lazy and not digging through SBC-3, sorry...)
--D
> > 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
|  |