public inbox for linux-btrfs@vger.kernel.org
 help / color / mirror / Atom feed
From: "Martin K. Petersen" <martin.petersen@oracle.com>
To: Christoph Hellwig <hch@lst.de>
Cc: "Martin K. Petersen" <martin.petersen@oracle.com>,
	Kanchan Joshi <joshi.k@samsung.com>,
	josef@toxicpanda.com, dsterba@suse.com, clm@fb.com,
	axboe@kernel.dk, kbusch@kernel.org, linux-btrfs@vger.kernel.org,
	linux-nvme@lists.infradead.org, linux-block@vger.kernel.org,
	gost.dev@samsung.com
Subject: Re: [RFC 0/3] Btrfs checksum offload
Date: Tue, 04 Feb 2025 07:52:38 -0500	[thread overview]
Message-ID: <yq15xlpg9tj.fsf@ca-mkp.ca.oracle.com> (raw)
In-Reply-To: <20250204051208.GG28103@lst.de> (Christoph Hellwig's message of "Tue, 4 Feb 2025 06:12:08 +0100")


Christoph,

> Well, what do we actually need the app tag escape for except for
> historical precedence?  In NVMe the app tag escape is an option for
> deallocated blocks, but it's only one of the options, there other beeing
> a synthetic guard/ref tag with the expected value.

I have been told that some arrays use it to disable PI when writing the
RAID parity blocks. I guess that makes sense if the array firmware is
mixing data and parity blocks in a single write operation. For my test
tool I just use WRPROTECT=3 to disable checking when writing "bad" PI.

And obviously the original reason for the initialization pattern escape
made sense on a disk drive that had no FTL to track whether a block was
in a written state or not. But I really don't think any of this is
useful in a modern SSD or even array context.

>> In general I think 4096+16 is a reasonable format going forward. With
>> either CRC32C or CRC64 plus full LBA as ref tag.
>
> That would also work fine.  NVMe supports 4byte crc32c + 2 byte app tag +
> 12 byte guard tag / storage tag and 8-byte crc64 + 2 byte app tag + 6
> byte guard / storage tag, although Linux only supports the latter so far.

Yep, the CRC32C variant should be easy to wire up. I've thought about
the storage tag but haven't really come up with a good use case. It's
essentially the same situation as with the app tag.

-- 
Martin K. Petersen	Oracle Linux Engineering

  reply	other threads:[~2025-02-04 12:54 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20250129141039epcas5p11feb1be4124c0db3c5223325924183a3@epcas5p1.samsung.com>
2025-01-29 14:02 ` [RFC 0/3] Btrfs checksum offload Kanchan Joshi
2025-01-29 14:02   ` [RFC 1/3] block: add integrity offload Kanchan Joshi
2025-01-29 14:02   ` [RFC 2/3] nvme: support " Kanchan Joshi
2025-01-29 14:02   ` [RFC 3/3] btrfs: add checksum offload Kanchan Joshi
2025-01-29 21:27     ` Qu Wenruo
2025-01-29 14:55   ` [RFC 0/3] Btrfs " Johannes Thumshirn
2025-01-31 10:19     ` Kanchan Joshi
2025-01-31 10:29       ` Johannes Thumshirn
2025-02-03 13:25         ` Kanchan Joshi
2025-02-03 13:40           ` Johannes Thumshirn
2025-02-03 14:03             ` Kanchan Joshi
2025-02-03 14:41               ` Johannes Thumshirn
2025-01-29 15:28   ` Keith Busch
2025-01-29 15:40     ` Christoph Hellwig
2025-01-29 18:03       ` Keith Busch
2025-01-30 12:54         ` Christoph Hellwig
2025-01-29 15:35   ` Christoph Hellwig
2025-01-30  9:22     ` Kanchan Joshi
2025-01-30 12:53       ` Christoph Hellwig
2025-01-31 10:29         ` Kanchan Joshi
2025-01-31 10:42           ` Christoph Hellwig
2025-01-29 15:55   ` Mark Harmstone
2025-01-29 19:02   ` Goffredo Baroncelli
2025-01-30  9:33     ` Daniel Vacek
2025-01-30 20:21   ` Martin K. Petersen
2025-01-31  7:44     ` Christoph Hellwig
2025-02-03 19:31       ` Martin K. Petersen
2025-02-04  5:12         ` Christoph Hellwig
2025-02-04 12:52           ` Martin K. Petersen [this message]
2025-02-04 13:49             ` Christoph Hellwig
2025-02-05  2:31               ` Martin K. Petersen
2025-02-03 13:24     ` Kanchan Joshi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=yq15xlpg9tj.fsf@ca-mkp.ca.oracle.com \
    --to=martin.petersen@oracle.com \
    --cc=axboe@kernel.dk \
    --cc=clm@fb.com \
    --cc=dsterba@suse.com \
    --cc=gost.dev@samsung.com \
    --cc=hch@lst.de \
    --cc=josef@toxicpanda.com \
    --cc=joshi.k@samsung.com \
    --cc=kbusch@kernel.org \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=linux-nvme@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox