From: Lutz Vieweg <lvml@5t9.de>
To: linux-raid@vger.kernel.org
Subject: Re: Software RAID and TRIM
Date: Tue, 19 Jul 2011 15:41:53 +0200 [thread overview]
Message-ID: <j041j1$ttf$1@dough.gmane.org> (raw)
In-Reply-To: <j03m2p$jn1$1@dough.gmane.org>
On 07/19/2011 12:22 PM, David Brown wrote:
>> Because of those effects on the block-IO-queue, the user-space
>> work-around we implemented to discard the SSDs our RAID-1s consist of
>> will not discard "one area on all SSDs at a time", but rather iterate
>> first through all unused areas on one SSD, then iterate through the
>> same list of areas on the second SSD.
>
> Do you take the arrays off-line during this process, or at least make
> them read-only?
No, we keep them online and writeable.
> If not, how do you ensure that the lists are valid?
The discard procedure works by..:
- use SYS_fallocate to allocate the free space on the device (minus
some safety margin for the writes that will happen during the procedure)
for a temporary file (notice that with fallocate on XFS, you can
allocate space for a file without actually ever writing to it)
- use ioctl FIEMAP to get a list of the logical blocks that were
allocated
- use ioctl BLKDISCARD to discard these blocks
- remove the temporary file
Since the blocks to discard are allocated for the temporary
file during the procedure, they will not be used otherwise.
Obviously, we would still prefer using "fstrim", because then
there would be no need for that temporary file, the "safety margin"
and a temporary high fill level of the filesystem.
Regards,
Lutz Vieweg
next prev parent reply other threads:[~2011-07-19 13:41 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-28 15:31 Software RAID and TRIM Tom De Mulder
2011-06-28 16:11 ` Mathias Burén
2011-06-29 10:32 ` Tom De Mulder
2011-06-29 10:45 ` NeilBrown
2011-06-29 11:10 ` Tom De Mulder
2011-06-29 11:48 ` Scott E. Armitage
2011-06-29 12:46 ` Roberto Spadim
2011-06-29 12:46 ` David Brown
2011-06-30 0:28 ` NeilBrown
2011-06-30 7:50 ` David Brown
2011-06-29 13:39 ` Namhyung Kim
2011-06-30 0:27 ` NeilBrown
2011-07-17 22:11 ` Lutz Vieweg
2011-07-17 21:57 ` Lutz Vieweg
2011-06-29 10:33 ` Tom De Mulder
2011-06-29 12:42 ` David Brown
2011-06-29 12:55 ` Tom De Mulder
2011-06-29 13:02 ` Roberto Spadim
2011-06-29 13:10 ` David Brown
2011-06-30 5:51 ` Mikael Abrahamsson
2011-07-04 9:13 ` Tom De Mulder
2011-07-04 16:26 ` Werner Fischer
2011-07-17 22:31 ` Lutz Vieweg
2011-07-17 22:16 ` Lutz Vieweg
2011-07-17 22:00 ` Lutz Vieweg
2011-06-28 16:17 ` Johannes Truschnigg
2011-06-28 16:40 ` David Brown
2011-07-17 21:52 ` Lutz Vieweg
2011-07-18 5:14 ` Mikael Abrahamsson
2011-07-18 10:35 ` David Brown
2011-07-18 10:48 ` Tom De Mulder
2011-07-18 18:09 ` Lutz Vieweg
2011-07-18 20:18 ` David Brown
2011-07-19 9:29 ` Lutz Vieweg
2011-07-19 10:22 ` David Brown
2011-07-19 13:41 ` Lutz Vieweg [this message]
2011-07-19 15:06 ` David Brown
2011-07-20 10:39 ` Lutz Vieweg
2011-07-19 14:19 ` Tom De Mulder
2011-07-20 7:42 ` David Brown
2011-07-20 12:20 ` Lutz Vieweg
2011-07-20 12:13 ` Werner Fischer
2011-07-20 12:25 ` Lutz Vieweg
2011-07-18 10:53 ` Tom De Mulder
2011-07-18 12:13 ` Werner Fischer
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='j041j1$ttf$1@dough.gmane.org' \
--to=lvml@5t9.de \
--cc=linux-raid@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;
as well as URLs for NNTP newsgroup(s).