From: Eric Sandeen <sandeen@redhat.com>
To: number9652 <number9652@yahoo.com>
Cc: Theodore Tso <tytso@mit.edu>,
ext4 development <linux-ext4@vger.kernel.org>
Subject: Re: [PATCH] libext2fs: write only core inode in update_path()
Date: Wed, 17 Jun 2009 16:36:30 -0500 [thread overview]
Message-ID: <4A3961DE.2050507@redhat.com> (raw)
In-Reply-To: <429929.18438.qm@web43515.mail.sp1.yahoo.com>
number9652 wrote:
>> number9652 wrote:
>>> --- On Wed, 6/17/09, Eric Sandeen wrote: right way to fix it,
>>> however. I am concerned
>> that I may have
>>> basically broken write_inode_full on any inode with
>> extents. For
>>> example, there is another call to write_inode_full in
>> extent.c that
>>> might exhibit this same problem. I think the
>> right fix would be to
>>> return to reading the full inode into memory in the
>> extent_open
>>
>> If this is the case (that it's broken now), then we really need
>> something in the regression suite to catch it - all tests pass in
>> 1.41.6 ....
>>
>> -Eric
>>
> I was too general in my statement above about what it broke. I think
> (didn't test) if a program follows this path:
> extent_open(...,*handle) write_inode_full(...,handle->inode,...) that
> it will read uninitialized memory in write_inode_full. It seems
> clear that all previously written code assumes that this path is
> valid, and fixing all that to not assume that would seemingly be much
> more than just what your patch fixes and require more time to test.
> If you only use read/write_inode_full, everything is still okay.
>
> I think that in this case, even when only using the handle to read
> the inode, we want to have the full inode available (by
> handle->inode) so it is possible (for example) to check the file
> creation time with the returned handle structure.
Seems reasonable to me ...
FWIW, I have Yet Another Case where resize is corrupting the larger
inode, even with this fix and/or my fix.
Still digging into it, sigh.
-Eric
next prev parent reply other threads:[~2009-06-17 21:36 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-17 21:32 [PATCH] libext2fs: write only core inode in update_path() number9652
2009-06-17 21:36 ` Eric Sandeen [this message]
2009-06-17 22:46 ` Theodore Tso
-- strict thread matches above, loose matches on Subject: below --
2009-06-17 20:11 number9652
2009-06-17 20:43 ` Eric Sandeen
2009-06-16 22:38 Something wrong with extent-based journal creation Eric Sandeen
2009-06-17 0:57 ` [PATCH] libext2fs: write only core inode in update_path() Eric Sandeen
2009-06-17 15:35 ` Theodore Tso
2009-06-17 15:50 ` Eric Sandeen
2009-06-17 22:50 ` Theodore Tso
2009-06-17 23:00 ` Eric Sandeen
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=4A3961DE.2050507@redhat.com \
--to=sandeen@redhat.com \
--cc=linux-ext4@vger.kernel.org \
--cc=number9652@yahoo.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.