From: Ted Ts'o <tytso@mit.edu>
To: Dmitry Monakhov <dmonakhov@openvz.org>
Cc: linux-ext4@vger.kernel.org, achender@linux.vnet.ibm.com
Subject: Re: [PATCH 5/6] ext4: fix punch_hole extend handler
Date: Tue, 25 Oct 2011 08:05:53 -0400 [thread overview]
Message-ID: <20111025120553.GF31921@thunk.org> (raw)
In-Reply-To: <1319144939-28801-6-git-send-email-dmonakhov@openvz.org>
On Fri, Oct 21, 2011 at 01:08:58AM +0400, Dmitry Monakhov wrote:
> Current implementation has following issues:
> - EOFBLOCK does not changed if necessery
> - ext4_ext_rm_leaf() may return -EAGAIN due to transaction restart
> - punched extent converted to uninitialized incorrectly, i dont understand
> why do we ever have to do that conversion, but once we do it let's do it
> in a right way.
> - fsync() logic is broken because ei->i_sync_tid was not updated
> - Last but not the least all: punch hole logic is sited directly
> in ext4_ext_map_blocks() on 3rd level of control, IMHO one can
> easily screw-up his eyes while invastigating that code. We have
> nothing to hide aren't we?
>
> This patch performs following changes:
> - Move punch hole logic to didicated function similar to uninitialized
> extent handlers.
> - Clear EOFBLOCK if necessery, unfortunately we can not reuse
> check_eofblock_fl() function because it purpose to handle file
> expansion, but in our case we have to recheck base invariant that:
> clear_eof_flag = (eof_block >= last_allocated_block)
> - Repeat punch hole after transaction restart.
> - Update inode sync transaction id on exit.
>
> Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org>
I'm really sorry, but this was too complicated for me to review for
this merge window. Maybe Allison or some of the people who worked on
the punch code could review this? Or maybe this could be broken up
into smaller patches?
Or I can look at this again for the next merge window, but this is too
complicated for me to understand (and the punch code is too new for me
to have an deep understanding for quick reviews). Sorry I didn't
review this sooner; between trying to get e2fsprogs 1.42 ready for
release and kernel.org recovery efforts, I got beind on my reviews.
Regards,
- Ted
next prev parent reply other threads:[~2011-10-25 12:05 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-10-20 21:08 [PATCH 0/6] ext4: cleanups and regression fixes for grow/shrink logic V2 Dmitry Monakhov
2011-10-20 21:08 ` [PATCH 1/6] ext4: cleanup ext4_ext_grow_indepth code Dmitry Monakhov
2011-10-22 5:27 ` Ted Ts'o
2011-10-20 21:08 ` [PATCH 2/6] ext4: move inode indepth shrink logic to didicated function Dmitry Monakhov
2011-10-25 8:01 ` Ted Ts'o
2011-10-28 10:47 ` Dmitry Monakhov
2011-10-20 21:08 ` [PATCH 3/6] ext4: Do not clear EOFBLOCKS_FL too soon Dmitry Monakhov
2011-10-25 8:18 ` Ted Ts'o
2011-10-25 11:57 ` Dmitry Monakhov
2011-10-20 21:08 ` [PATCH 4/6] ext4: remove messy logic from ext4_ext_rm_leaf Dmitry Monakhov
2011-10-25 11:44 ` Ted Ts'o
2011-10-20 21:08 ` [PATCH 5/6] ext4: fix punch_hole extend handler Dmitry Monakhov
2011-10-25 12:05 ` Ted Ts'o [this message]
2011-10-25 12:35 ` Dmitry Monakhov
2011-10-26 13:38 ` Ted Ts'o
2011-10-20 21:08 ` [PATCH 6/6] ext4: update EOFBLOCKS flag on fallocate properly Dmitry Monakhov
2011-10-25 12:22 ` Ted Ts'o
2011-10-28 21:40 ` Andreas Dilger
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=20111025120553.GF31921@thunk.org \
--to=tytso@mit.edu \
--cc=achender@linux.vnet.ibm.com \
--cc=dmonakhov@openvz.org \
--cc=linux-ext4@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).