mirror of
https://github.com/torvalds/linux.git
synced 2026-06-01 19:13:47 +02:00
nvme fixes for 6.17
- Fix protection information ref tag for device side gen/strip
(Christoph)
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEE3Fbyvv+648XNRdHTPe3zGtjzRgkFAmi6GLcACgkQPe3zGtjz
RgnMiRAAiqvCBww4+8SQt0pb9tGRjLhs1W5ZLhh7pMznD8rNLJ1YRte5EOdWkHsO
ETKXBhpLlTlooqIIbeTqKaN3/T1yd6XK/BtR28CuTqL52AGlRzwxUsRwmzvaqX0M
7Jwskw8IjHWzeJDxpjvagqz/yE6k1KIg7sFjaCYhSRLBP6UlG4lxYZdoQi3WGYrv
HHoa0aa01rdcrDlqmT9X1GnHZVIL4x0VO3NxorE3SqDKnGGczg7nXdVqR9I/jDRp
l00clHONSCvkhbAzSFi1IBEkWBPc5vCYdLGtyrTsBACZ2mIczAnURjPx2VcGeOh5
zijMwNXNzNON5oH3j9HmznHzlAH9iamScwkvfmf/QSRMwcqEDP9rGV8CxeH8RnfL
wgiSOuNao1CrrcB2Y8CFUTRRHMsRhUME8OWP5YR5KaFvJoEQ445NyDtKuMoJ7MVP
6farXCVU3dhE8qPVkXGw6e5OMa9eSHXjPZ9AgFdkXrgOBr8ZE2/jWWw22hkJhJU5
VrJRBWd/YrGkflCrt6IL7TUxwMxkGqk0E0M6X1227u4A544G++cgmqcvX15SxXzp
i+7ouw4RU2QlsqCdGDt56qfQ/vx39RecedYBf3fKi4hbkuImEVquIGf+Iy8V5TNY
zaNWER6eCNgBSOrlsCy17xc/W4eROoHpAk8OF61hQyZEn81uq6A=
=TeN1
-----END PGP SIGNATURE-----
Merge tag 'nvme-6.17-2025-09-04' of git://git.infradead.org/nvme into block-6.17
Pull NVMe fix from Keith:
"nvme fixes for 6.17
- Fix protection information ref tag for device side gen/strip
(Christoph)"
* tag 'nvme-6.17-2025-09-04' of git://git.infradead.org/nvme:
nvme: fix PI insert on write
This commit is contained in:
commit
1f6b281ac5
|
|
@ -903,6 +903,15 @@ static void nvme_set_ref_tag(struct nvme_ns *ns, struct nvme_command *cmnd,
|
|||
u32 upper, lower;
|
||||
u64 ref48;
|
||||
|
||||
/* only type1 and type 2 PI formats have a reftag */
|
||||
switch (ns->head->pi_type) {
|
||||
case NVME_NS_DPS_PI_TYPE1:
|
||||
case NVME_NS_DPS_PI_TYPE2:
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
|
||||
/* both rw and write zeroes share the same reftag format */
|
||||
switch (ns->head->guard_type) {
|
||||
case NVME_NVM_NS_16B_GUARD:
|
||||
|
|
@ -942,13 +951,7 @@ static inline blk_status_t nvme_setup_write_zeroes(struct nvme_ns *ns,
|
|||
|
||||
if (nvme_ns_has_pi(ns->head)) {
|
||||
cmnd->write_zeroes.control |= cpu_to_le16(NVME_RW_PRINFO_PRACT);
|
||||
|
||||
switch (ns->head->pi_type) {
|
||||
case NVME_NS_DPS_PI_TYPE1:
|
||||
case NVME_NS_DPS_PI_TYPE2:
|
||||
nvme_set_ref_tag(ns, cmnd, req);
|
||||
break;
|
||||
}
|
||||
nvme_set_ref_tag(ns, cmnd, req);
|
||||
}
|
||||
|
||||
return BLK_STS_OK;
|
||||
|
|
@ -1039,6 +1042,7 @@ static inline blk_status_t nvme_setup_rw(struct nvme_ns *ns,
|
|||
if (WARN_ON_ONCE(!nvme_ns_has_pi(ns->head)))
|
||||
return BLK_STS_NOTSUPP;
|
||||
control |= NVME_RW_PRINFO_PRACT;
|
||||
nvme_set_ref_tag(ns, cmnd, req);
|
||||
}
|
||||
|
||||
if (bio_integrity_flagged(req->bio, BIP_CHECK_GUARD))
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user