From: James Bottomley <James.Bottomley@HansenPartnership.com>
To: Ric Wheeler <rwheeler@redhat.com>
Cc: Jens Axboe <jens.axboe@oracle.com>,
David Woodhouse <dwmw2@infradead.org>,
linux-scsi@vger.kernel.org, linux-fsdevel@vger.kernel.org,
Black_David@emc.com,
"Martin K. Petersen" <martin.petersen@oracle.com>,
Tom Coughlan <coughlan@redhat.com>,
Matthew Wilcox <matthew@wil.cx>
Subject: Re: thin provisioned LUN support
Date: Fri, 07 Nov 2008 09:20:30 -0600 [thread overview]
Message-ID: <1226071230.8030.9.camel@localhost.localdomain> (raw)
In-Reply-To: <49143142.4010809@redhat.com>
On Fri, 2008-11-07 at 07:14 -0500, Ric Wheeler wrote:
> Jens Axboe wrote:
> > On Thu, Nov 06 2008, David Woodhouse wrote:
> >
> >> On Thu, 6 Nov 2008, James Bottomley wrote:
> >>
> >>> The way to do this properly would be to run a chequerboard of partials,
> >>> but this would effectively have trim region tracking done in the block
> >>> layer ... is this worth it?
> >>>
> >>> By the way, the latest (from 2 days ago) version of the Thin
> >>> Provisioning proposal is here:
> >>>
> >>> http://www.t10.org/ftp/t10/document.08/08-149r4.pdf
> >>>
> >>> I skimmed it but don't see any update implying that trim might be
> >>> ineffective if we align wrongly ... where is this?
> >>>
> >> I think we should be content to declare such devices 'broken'.
> >>
> >> They have to keep track of individual sectors _anyway_, and dropping
> >> information for small discard requests is just careless.
> >>
> >
> > I agree, seems pretty pointless. Lets let evolution take care of this
> > issue. I have to say I'm surprised that it really IS an issue to begin
> > with, are array firmwares really that silly?
> >
> > It's not that it would be hard to support (and it would eliminate the
> > need to do discard merging in the block layer), but it seems like one of
> > those things that will be of little use in even in the near future.
> > Discard merging should be useful, I have no problem merging something
> > like that.
> >
> >
> I think that discard merging would be helpful (especially for devices
> with more reasonable sized unmap chunks).
One of the ways the unmap command is set up is with a disjoint
scatterlist, so we can send a large number of unmaps together. Whether
they're merged or not really doesn't matter.
The probable way a discard system would work if we wanted to endure the
complexity would be to have the discard system in the underlying device
driver (or possibly just above it in block, but different devices like
SCSI or ATA have different discard characteristics). It would just
accumulate block discard requests as ranges (and it would have to poke
holes in the ranges as it sees read/write requests) which it flushes
periodically.
The reason for doing it this way is that discards are "special" as long
as we don't discard a rewritten sector, the time at which they're sent
down is irrelevant to integrity and thus we can potentially accumulate
over vastly different timescales than the regular block merging. If
we're really going to respect this discard block size, we could
accumulate the irrelevant discards the array would ignore anyway for
virtually infinite time.
Note, I'm not saying we *should* do this ... I think something like this
would be much better done in the device ... but if we *are* going to do
it, then at least lets get it right.
James
next prev parent reply other threads:[~2008-11-07 15:20 UTC|newest]
Thread overview: 105+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-11-06 14:43 thin provisioned LUN support Ric Wheeler
2008-11-06 15:17 ` James Bottomley
2008-11-06 15:24 ` David Woodhouse
2008-11-06 16:00 ` Ric Wheeler
2008-11-06 16:40 ` Martin K. Petersen
2008-11-06 17:04 ` Ric Wheeler
2008-11-06 17:15 ` Matthew Wilcox
2008-11-07 12:05 ` Jens Axboe
2008-11-07 12:14 ` Ric Wheeler
2008-11-07 12:17 ` David Woodhouse
2008-11-07 12:19 ` Jens Axboe
2008-11-07 14:26 ` thin provisioned LUN support & file system allocation policy Ric Wheeler
2008-11-07 14:34 ` Matthew Wilcox
2008-11-07 14:45 ` Jörn Engel
2008-11-07 14:43 ` Theodore Tso
2008-11-07 14:54 ` Ric Wheeler
2008-11-07 15:26 ` jim owens
2008-11-07 15:31 ` David Woodhouse
2008-11-07 15:35 ` jim owens
2008-11-07 15:46 ` Theodore Tso
2008-11-07 15:51 ` Martin K. Petersen
2008-11-07 16:06 ` Ric Wheeler
2008-11-07 15:56 ` James Bottomley
2008-11-07 15:36 ` James Bottomley
2008-11-07 15:48 ` David Woodhouse
2008-11-07 15:36 ` Theodore Tso
2008-11-07 15:45 ` Matthew Wilcox
2008-11-07 16:07 ` jim owens
2008-11-07 16:12 ` James Bottomley
2008-11-07 16:23 ` jim owens
2008-11-07 16:02 ` Ric Wheeler
2008-11-07 14:55 ` Matthew Wilcox
2008-11-07 15:20 ` James Bottomley [this message]
2008-11-09 23:08 ` thin provisioned LUN support Dave Chinner
2008-11-09 23:37 ` James Bottomley
2008-11-10 0:33 ` Dave Chinner
2008-11-10 14:31 ` James Bottomley
2008-11-07 15:49 ` Chris Mason
2008-11-07 16:00 ` Martin K. Petersen
2008-11-07 16:06 ` James Bottomley
2008-11-07 16:11 ` Chris Mason
2008-11-07 16:18 ` James Bottomley
2008-11-07 16:22 ` Ric Wheeler
2008-11-07 16:27 ` James Bottomley
2008-11-07 16:28 ` David Woodhouse
2008-11-07 17:22 ` Chris Mason
2008-11-07 18:09 ` Ric Wheeler
2008-11-07 18:36 ` Theodore Tso
2008-11-07 18:41 ` Ric Wheeler
[not found] ` <49148BDF.9050707@redhat.com>
2008-11-07 19:35 ` Theodore Tso
2008-11-07 19:55 ` Martin K. Petersen
2008-11-07 20:19 ` Theodore Tso
2008-11-07 20:21 ` Matthew Wilcox
[not found] ` <20081107202149.GJ15439@parisc-linux.org>
2008-11-07 20:26 ` Ric Wheeler
2008-11-07 20:48 ` Chris Mason
2008-11-07 21:04 ` Ric Wheeler
2008-11-07 21:13 ` Theodore Tso
2008-11-07 20:42 ` Theodore Tso
2008-11-07 21:06 ` Martin K. Petersen
2008-11-07 20:37 ` Ric Wheeler
2008-11-10 2:44 ` Black_David
2008-11-10 2:36 ` Black_David
2008-11-07 19:44 ` jim owens
2008-11-07 19:48 ` Matthew Wilcox
2008-11-07 19:50 ` Ric Wheeler
2008-11-09 23:36 ` Dave Chinner
2008-11-10 3:40 ` Thin provisioning & arrays Black_David
2008-11-10 8:31 ` Dave Chinner
2008-11-10 9:59 ` David Woodhouse
2008-11-10 13:30 ` Matthew Wilcox
2008-11-10 13:36 ` Jens Axboe
2008-11-10 17:05 ` UNMAP is a hint Black_David
2008-11-10 17:30 ` Matthew Wilcox
2008-11-10 17:56 ` Ric Wheeler
2008-11-10 22:18 ` Thin provisioning & arrays Dave Chinner
2008-11-11 1:23 ` Black_David
2008-11-11 2:09 ` Keith Owens
2008-11-11 13:59 ` Ric Wheeler
2008-11-11 14:55 ` jim owens
2008-11-11 15:38 ` Ric Wheeler
2008-11-11 15:59 ` jim owens
2008-11-11 16:25 ` Ric Wheeler
2008-11-11 16:53 ` jim owens
2008-11-11 23:08 ` Dave Chinner
2008-11-11 23:52 ` jim owens
2008-11-11 22:49 ` Dave Chinner
2008-11-06 15:27 ` thin provisioned LUN support jim owens
2008-11-06 15:57 ` jim owens
2008-11-06 16:21 ` James Bottomley
[not found] ` <yq1d4h8nao5.fsf@sermon.lab.mkp.net>
2008-11-06 15:42 ` Ric Wheeler
2008-11-06 15:57 ` David Woodhouse
2008-11-06 22:36 ` Dave Chinner
2008-11-06 22:55 ` Ric Wheeler
[not found] ` <491375E9.7020707@redhat.com>
2008-11-06 23:06 ` James Bottomley
2008-11-06 23:10 ` Ric Wheeler
2008-11-06 23:26 ` James Bottomley
2008-11-06 23:32 ` thin provisioned LUN support - T10 activity Black_David
2008-11-07 11:59 ` thin provisioned LUN support Artem Bityutskiy
2008-11-10 20:39 ` Aggregating discard requests in the filesystem Matthew Wilcox
2008-11-10 20:44 ` Chris Mason
2008-11-11 0:12 ` Brad Boyer
2008-11-11 15:25 ` jim owens
2008-11-11 16:40 ` thin provisioned LUN support Christoph Hellwig
2008-11-11 17:07 ` jim owens
2008-11-11 17:33 ` Christoph Hellwig
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=1226071230.8030.9.camel@localhost.localdomain \
--to=james.bottomley@hansenpartnership.com \
--cc=Black_David@emc.com \
--cc=coughlan@redhat.com \
--cc=dwmw2@infradead.org \
--cc=jens.axboe@oracle.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
--cc=matthew@wil.cx \
--cc=rwheeler@redhat.com \
/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