From: James Bottomley <James.Bottomley@HansenPartnership.com>
To: Theodore Ts'o <tytso@mit.edu>
Cc: "Elliott, Robert (Server Storage)" <Elliott@hp.com>,
"Martin K. Petersen" <martin.petersen@oracle.com>,
Paolo Bonzini <pbonzini@redhat.com>,
"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
"linux-ide@vger.kernel.org" <linux-ide@vger.kernel.org>,
"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
"neilb@suse.de" <neilb@suse.de>
Subject: Re: [PATCH 1/3] libata: Whitelist SSDs that are known to properly return zeroes after TRIM
Date: Mon, 08 Dec 2014 07:28:45 -0800 [thread overview]
Message-ID: <1418052525.2208.6.camel@HansenPartnership.com> (raw)
In-Reply-To: <20141208151559.GB7001@thunk.org>
On Mon, 2014-12-08 at 10:15 -0500, Theodore Ts'o wrote:
> On Fri, Dec 05, 2014 at 10:58:09PM +0000, Elliott, Robert (Server Storage) wrote:
> > > I have a Crucial_CT256MX1 (i.e. MX100) and it does reliably zero.
> >
> > make me concerned about this whitelist approach.
> >
> > I think you need a manufacturer assertion that this is indeed
> > the design intent; you cannot be certain based on observation
> > from outside.
>
> How is this different from a manufacturer assertion that they follow a
> SCSI or ATA standard? There have been cases in the distant past
> (fortunately) of disk manufacturers that ignored a CACHE FLUSH command
> just to get higher Winbench scores. Does that mean we can't trust
> them to do anything right?
That answer depends on device type manufacturer. USB devices, hell no.
ATA devices, maybe and SCSI devices usually.
The main problem is usually testing. Consumer devices like USB and
(s)ATA rarely get tested on anything but windows. USB devices tend to
supply their own driver, so they're on the "we fix it in the driver"
model which is why they bite us so badly. (S)ATA usually comply, but
they only test what windows exercises, so if windows doesn't do it,
chances are it never got tested. SCSI devices still tend to be tested
in legacy UNIX environments, which are as diverse as we are.
> What I'd suggest instead is that if a vendor states this on a spec
> sheet --- more than just an e-mail assertion --- so they can be sued
> if they knowingly misrepresent their product, that we take their word
> at it. Of course, there will be bugs, which is why we have
> blacklists, or why we can remove them from the list if it turns out
> there are edge conditions where it appears the disk doesn't quite do
> the right thing.
>
> After all, we generally take the manufacturer's word that air bags
> will work as claimed, even if potentially 11 million of them are
> currently subject to recall. And do we think that "the community"
> would necessarily be more suited than the vendors and the manufacturer
> to figure out whether or not air bags or drives are working as
> desired?
>
> That being said, if someone wants to create a open source program
> which stress tests SSD's to look for cases where it is dropping a
> requested discard, that would certainly be a good thing to do...
The purpose of DRAT and RZAT is to enable disk arrays deterministically
to use TRIM/Unmap so arrays know what happens to stripes on discard.
Arrays are being built of mostly SATA technology these days, so some
manufacturers have retargetted to arrays and consumer technology (and
are testing the array cases). However, windows doesn't use either
feature, so manufacturers not targetting arrays will never test this
feature. Hence, in this case, I think a whitelist does make sense.
James
next prev parent reply other threads:[~2014-12-08 15:28 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-07 5:08 [RFC] Discard update for 3.19 Martin K. Petersen
2014-11-07 5:08 ` [PATCH 1/3] libata: Whitelist SSDs that are known to properly return zeroes after TRIM Martin K. Petersen
2014-11-07 8:24 ` Christoph Hellwig
2014-11-07 15:37 ` Martin K. Petersen
2014-12-05 16:45 ` Paolo Bonzini
2014-12-05 22:58 ` Elliott, Robert (Server Storage)
2014-12-08 15:15 ` Theodore Ts'o
2014-12-08 15:28 ` James Bottomley [this message]
2014-12-08 22:59 ` One Thousand Gnomes
2014-11-07 5:08 ` [PATCH 2/3] sd: Disable discard_zeroes_data for UNMAP Martin K. Petersen
2014-11-07 8:25 ` Christoph Hellwig
2014-11-10 23:43 ` Paolo Bonzini
2014-11-07 5:08 ` [PATCH 3/3] block: Introduce blkdev_issue_zeroout_discard() function Martin K. Petersen
2014-11-07 8:26 ` Christoph Hellwig
2014-11-07 15:42 ` Martin K. Petersen
2014-11-07 16:20 ` Theodore Ts'o
2014-11-07 16:27 ` Martin K. Petersen
2014-11-14 20:22 ` Martin K. Petersen
2014-11-17 18:53 ` Darrick J. Wong
2014-11-11 0:04 ` Darrick J. Wong
2014-11-11 2:33 ` Martin K. Petersen
2014-11-17 19:28 ` [PATCH] block: create ioctl to discard-or-zeroout a range of blocks Darrick J. Wong
2014-11-07 12:09 ` [RFC] Discard update for 3.19 Bernd Schubert
2014-11-07 12:11 ` Bernd Schubert
2014-11-07 15:46 ` Martin K. Petersen
2014-11-10 14:19 ` Christoph Hellwig
2014-11-12 18:40 ` Ewan Milne
2014-11-12 19:41 ` Martin K. Petersen
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=1418052525.2208.6.camel@HansenPartnership.com \
--to=james.bottomley@hansenpartnership.com \
--cc=Elliott@hp.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-ide@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
--cc=neilb@suse.de \
--cc=pbonzini@redhat.com \
--cc=tytso@mit.edu \
/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;
as well as URLs for NNTP newsgroup(s).