From: Ric Wheeler <ricwheeler@gmail.com>
To: Eric Sandeen <sandeen@redhat.com>
Cc: Lukas Czerner <lczerner@redhat.com>,
Andreas Dilger <adilger.kernel@dilger.ca>,
linux-ext4@vger.kernel.org, tytso@mit.edu
Subject: Re: [PATCH] e2fsck: Discard free data and inode blocks.
Date: Fri, 22 Oct 2010 11:41:08 -0400 [thread overview]
Message-ID: <4CC1B094.3090403@gmail.com> (raw)
In-Reply-To: <4CC1AFD2.2020803@redhat.com>
On 10/22/2010 11:37 AM, Eric Sandeen wrote:
> Ric Wheeler wrote:
>
> ...
>
>>> Well, so far the only breakages I have seen was with lots of small TRIMs
>>> (or UNMAPs, etc) issued in random pattern, never in case of mkfs which
>>> is quite a opposite - big sequential ranges.
>>>
>>> Hangs should be covered by those two patches:
>>>
>>> http://marc.info/?l=linux-ext4&m=128774558623608&w=2
>>> http://marc.info/?l=linux-ext4&m=128767099123375&w=2
>>>
>>> if, of course, they get upstream. Also there is a big win, when discard
>>> also zeroes data, because in that case we can just skip inode table
>>> initialization (zeroing) without any need of in-kernel lazyinit code
>>> enabled. And we get all this for free. It was introduced with Sandeens
>>> patch:
>>>
>>> http://marc.info/?l=linux-ext4&m=128234048208327&w=2
>>>
>>> So, I would rather leave it on by default.
>>>
>>> -Lukas
>> You cannot 100% depend on discard zeroing blocks - that is not a
>> universal requirement of devices that support it. Specifically, for ATA
>> devices, I think that there are optional bits that specify how a device
>> will behave when you read from a trimmed region.
> But don't we have the ability to test whether discard -does- zero blocks,
> as advertised by the device? And honestly if the device mis-reports, that
> sounds like a device vendor problem to fix.
>
> The proposal wasn't to discard and assume zero, but to check for that
> behavior:
>
> http://kerneltrap.org/mailarchive/linux-ext4/2010/9/21/6885628/thread
>
> + if (!retval&& mke2fs_discard_zeroes_data(fs)) {
> + if (verbose)
> + printf(_("Discard succeeded and will return 0s "
> + " - enabling lazy_itable_init\n"));
> + lazy_itable_init = 1;
> + lazy_itable_zeroed = 1;
> + }
>
> so we're not depending on it zeroing blocks, we're just depending on it
> advertising correctly whether or not it -does- zero.
>
> -Eric
>
>
I think that ATA devices have historically not done this correctly, but the T13
committee is working on it. The question is whether the bit we check and rely on
has the right semantics (and then if the device will reliably implement this).
Historically, array vendors did rely on SCSI commands like the old fashioned
"WRITE_SAME" to initialize storage for them, but that takes a *long* time to run :)
Ric
next prev parent reply other threads:[~2010-10-22 15:41 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-21 14:15 [PATCH] e2fsck: Discard free data and inode blocks Lukas Czerner
2010-10-21 18:07 ` Andreas Dilger
2010-10-22 9:12 ` Lukas Czerner
2010-10-22 11:30 ` Ric Wheeler
2010-10-22 11:43 ` Lukas Czerner
2010-10-22 14:12 ` Ric Wheeler
2010-10-22 14:32 ` Lukas Czerner
2010-10-22 14:46 ` Ric Wheeler
2010-10-22 15:37 ` Eric Sandeen
2010-10-22 15:41 ` Ric Wheeler [this message]
2010-10-22 17:03 ` Martin K. Petersen
2010-10-22 17:14 ` Ric Wheeler
2010-10-22 17:29 ` Martin K. Petersen
2010-10-22 18:23 ` Eric Sandeen
2010-10-22 17:50 ` Andreas Dilger
2010-10-22 18:01 ` Lukas Czerner
2010-10-22 18:17 ` Andreas Dilger
2010-10-22 18:23 ` Ric Wheeler
2010-10-22 21:19 ` Martin K. Petersen
2010-10-22 18:29 ` Eric Sandeen
2010-10-22 21:01 ` Martin K. Petersen
2010-10-22 18:00 ` Andreas Dilger
2010-10-22 18:27 ` Eric Sandeen
2010-10-22 18:31 ` Lukas Czerner
-- strict thread matches above, loose matches on Subject: below --
2010-10-11 10:37 Lukas Czerner
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=4CC1B094.3090403@gmail.com \
--to=ricwheeler@gmail.com \
--cc=adilger.kernel@dilger.ca \
--cc=lczerner@redhat.com \
--cc=linux-ext4@vger.kernel.org \
--cc=sandeen@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).