From: "Lukáš Czerner" <lczerner@redhat.com>
To: "Theodore Ts'o" <tytso@mit.edu>
Cc: linux-ext4@vger.kernel.org
Subject: Re: [PATCH 1/2] ext4: Remove arbitrary block value in __es_remove_extent()
Date: Fri, 18 Apr 2014 13:24:04 +0200 (CEST) [thread overview]
Message-ID: <alpine.LFD.2.00.1404181323100.2128@localhost.localdomain> (raw)
In-Reply-To: <20140418111826.GA26437@thunk.org>
[-- Attachment #1: Type: TEXT/PLAIN, Size: 2541 bytes --]
On Fri, 18 Apr 2014, Theodore Ts'o wrote:
> Date: Fri, 18 Apr 2014 07:18:26 -0400
> From: Theodore Ts'o <tytso@mit.edu>
> To: Lukáš Czerner <lczerner@redhat.com>
> Cc: linux-ext4@vger.kernel.org
> Subject: Re: [PATCH 1/2] ext4: Remove arbitrary block value in
> __es_remove_extent()
>
> On Fri, Apr 18, 2014 at 11:22:12AM +0200, Lukáš Czerner wrote:
> > Aside from the fact that this is totally undocumented and there is
> > not even comment on what is that all about in couple of years we
> > might actually get file systems big enough that this would not be an
> > I/O error anymore (that might be a bit of a stretch).
>
> Well, do you have some suggestions about what might be a good place to
> document something like this? My assumption is that it's something
> that would be used by developers after a bug had been reported, so
> presumably it would be someplace in the source code.
>
> And I used "0x7FDEADBEEF" deliberately so that it would be a extremely
> unlikely we would have file systems that big (we're approximately 512
> PB, and honestly, if we had fixed all of the scaling limits such that
> it was sane to think someone would want to be using ext4 with a file
> system that big --- well, that would be a very nice problem to have
> :-)
Indeed :)
>
> > But mainly this value is only going to be used if it is delayed
> > extent or a hole which implies that it has not been mapped and
> > pblock does not contain anything valid. And if we really screwed it
> > up and tried to use pblock of extent which is a hole or delayed
> > extent, then it would not help us anyway since the only place that
> > we actually set this is when splitting extent on removal.
> >
> > Now I can see that in ext4_da_map_blocks() we're actually using ~0
> > value for the pblock which is a bit better I think as long as we're
> > using this reliably. So I'll resend the patch which will make sure
> > that we're using ~0 reliably when storin delayed, or hole extents in
> > the extent status tree. Does that make sense ?
>
> So the technique that we're using in mballoc.c is that we use
> different illegal flag values depending on where the bad value was
> introduced:
>
> % grep "debug value" fs/ext4/mballoc.c
> ex.fe_logical = 0xDEADFA11; /* debug value */
> ex.fe_logical = 0xDEADC0DE; /* debug value */
> ex.fe_logical = 0xDEADF00D; /* debug value */
>
> I think it might be useful to do the same for the physical blocks in
> the extent_status tree.
>
> - Ted
I agree. I'll send a patch.
Thanks!
-Lukas
prev parent reply other threads:[~2014-04-18 11:24 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-15 18:08 [PATCH 1/2] ext4: Remove arbitrary block value in __es_remove_extent() Lukas Czerner
2014-04-15 18:08 ` [PATCH 2/2] ext4: Use EXT_MAX_BLOCKS in ext4_es_can_be_merged() Lukas Czerner
2014-04-23 7:27 ` Zheng Liu
2014-05-13 2:25 ` [2/2] " Theodore Ts'o
2014-04-17 16:19 ` [PATCH 1/2] ext4: Remove arbitrary block value in __es_remove_extent() Theodore Ts'o
2014-04-18 9:22 ` Lukáš Czerner
2014-04-18 11:18 ` Theodore Ts'o
2014-04-18 11:24 ` Lukáš Czerner [this message]
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=alpine.LFD.2.00.1404181323100.2128@localhost.localdomain \
--to=lczerner@redhat.com \
--cc=linux-ext4@vger.kernel.org \
--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