All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ric Wheeler <ricwheeler@gmail.com>
To: Andreas Dilger <adilger.kernel@dilger.ca>
Cc: Lukas Czerner <lczerner@redhat.com>,
	linux-ext4@vger.kernel.org, tytso@mit.edu, sandeen@redhat.com
Subject: Re: [PATCH] e2fsck: Discard free data and inode blocks.
Date: Fri, 22 Oct 2010 14:23:16 -0400	[thread overview]
Message-ID: <4CC1D694.3040006@gmail.com> (raw)
In-Reply-To: <6C34898A-508C-4140-A494-B279C04EDD50@dilger.ca>

  On 10/22/2010 02:17 PM, Andreas Dilger wrote:
> On 2010-10-22, at 12:01, Lukas Czerner wrote:
>>> That patch also checks for the zeroing feature.  When this patch was first under discussion, I proposed that we validate that the device is actually zeroed by doing a write a non-zero block to the disk and then calling discard+zero for that region, and reading back the block and verifying it.
>>>
>>> Eric wasn't convinced that was necessary, maybe you can convince him more...
>> One of the counter arguments was, that some devices does not preserve
>> this behavior through power cycles. I think Ted was the one talking
>> about that.
> Sure, I don't think we can handle every pathology, but doing a write/discard/read of a few blocks (when it has the potential to avoid many GB of writes for zeroing) is surely easy and worthwhile?
>
> In any case, I thought that discussion was about a device that didn't report BLKDISCARDSZEROES=1, but only that a normal DISCARD would read back zero until the next restart?  That prevents optimizations like "read until we see non-zero data, then start writing zeroes", which would still be faster for many RAID devices (or older kernels that don't have DISCARD/ZERO support at all).
>
> Cheers, Andreas

Just to further confuse things, if we just want to zero a device, there is the 
(relatively old) WRITE_SAME command that arrays use. Note that it is quite a bit 
faster than doing this from the server since you only transfer over one block of 
data and the disk firmware does the rest - no data transfer for each block once 
you start.

It can certainly take a long, long time, but would be faster than zeroing a 
drive with write() system calls :)

ric


  reply	other threads:[~2010-10-22 18:23 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
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 [this message]
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=4CC1D694.3040006@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.