From: "Martin K. Petersen" <martin.petersen@oracle.com>
To: Bean Huo <huobean@gmail.com>
Cc: jejb@linux.ibm.com, martin.petersen@oracle.com,
bvanassche@acm.org, linux-scsi@vger.kernel.org,
linux-kernel@vger.kernel.org, Bean Huo <beanhuo@micron.com>
Subject: Re: [PATCH] scsi: sd: Use UNMAP in case the device doesn't support WRITE_SAME
Date: Wed, 07 Oct 2020 23:47:28 -0400 [thread overview]
Message-ID: <yq14kn5wgqf.fsf@ca-mkp.ca.oracle.com> (raw)
In-Reply-To: <20201007104220.8772-1-huobean@gmail.com> (Bean Huo's message of "Wed, 7 Oct 2020 12:42:20 +0200")
Bean,
> There exists a storage device that supports READ_CAPACITY, but doesn't
> support WRITE_SAME. The problem is that WRITE SAME heuristics doesn't work
> for this kind of storage device since its block limits VPD page doesn't
> contain the LBP information. Currently we set its provisioning_mode
> "writesame_16" and didn't check "no_write_same".
There is something odd with what your device is reporting.
We support WRITE SAME on a bunch of devices that predate the Logical
Block Provisioning VPD page and the various Block Limits parameters
being introduced to the spec. Consequently we set the provisioning mode
to "writesame_16" if the device reports LBPME=1 in READ CAPACITY(16) and
nothing relevant is reported in the VPD pages. That is by design.
> If we didn't manually change this default provisioning_mode to "unmap"
> through sysfs, provisioning_mode will be set to "disabled" after the
> first WRITE_SAME command with the following error occurs:
If your device supports UNMAP it *must* report it in the Logical Block
Provisioning VPD by setting LBPU=1 and report MAXIMUM UNMAP LBA COUNT
and MAXIMUM UNMAP BLOCK DESCRIPTOR COUNT in the Block Limits VPD.
Also, "no_write_same" disables attempting to use WRITE SAME to zero
block ranges. That's orthogonal to the logic controlling which command
to use for performing an unmap operation. An unfortunate choice of
naming which can be attributed to the SCSI protocol using the WRITE SAME
command for two completely different operations.
--
Martin K. Petersen Oracle Linux Engineering
next prev parent reply other threads:[~2020-10-08 3:47 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-07 10:42 [PATCH] scsi: sd: Use UNMAP in case the device doesn't support WRITE_SAME Bean Huo
2020-10-08 3:47 ` Martin K. Petersen [this message]
2020-10-08 14:24 ` Bean Huo
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=yq14kn5wgqf.fsf@ca-mkp.ca.oracle.com \
--to=martin.petersen@oracle.com \
--cc=beanhuo@micron.com \
--cc=bvanassche@acm.org \
--cc=huobean@gmail.com \
--cc=jejb@linux.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.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