Re: [RFC PATCH v2 1/4] block: change REQ_OP_ZONE_RESET from 6 to 13

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, May 16, 2020 at 09:05:39PM +0800, Coly Li wrote:
> On 2020/5/16 20:50, Christoph Hellwig wrote:
> > On Sat, May 16, 2020 at 08:44:45PM +0800, Coly Li wrote:
> >> Yes you are right, just like REQ_OP_DISCARD which does not transfer any
> >> data but changes the data on device. If the request changes the stored
> >> data, it does transfer data.
> > 
> > REQ_OP_DISCARD is a special case, because most implementation end up
> > transferring data, it just gets attached in the low-level driver.
> > 
> 
> Yes, REQ_OP_ZONE_RESET and REQ_OP_ZONE_RESET_ALL are quite similar to
> REQ_OP_DISCARD. Data read from the LBA range of reset zone is not
> suggested and the content is undefined.
> 
> For bcache, similar to REQ_OP_DISCARD, REQ_OP_ZONE_RESET and
> REQ_OP_ZONE_RESET_ALL are handled in same way: If the backing device
> supports discard/zone_reset, and the operation successes, then cached
> data on SSD covered by the LBA range should be invalid, otherwise users
> will read outdated and garbage data.
> 
> We should treat REQ_OP_ZONE_RESET and REQ_OP_ZONE_RESET_ALL being in
> WRITE direction.

No, the difference is that the underlying SCSI/ATA/NVMe command tend to
usually actually transfer data.  Take a look at the special_vec field
in struct request and the RQF_SPECIAL_PAYLOAD flag.



[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux