From: Allison Henderson <achender@linux.vnet.ibm.com>
To: Lukas Czerner <lczerner@redhat.com>
Cc: linux-ext4@vger.kernel.org, tytso@mit.edu
Subject: Re: [PATCH 1/5] ext4: Remove restrictive checks for EOFBLOCKS_FL
Date: Wed, 21 Mar 2012 17:10:58 -0700 [thread overview]
Message-ID: <4F6A6E12.7050505@linux.vnet.ibm.com> (raw)
In-Reply-To: <1332314639-22875-1-git-send-email-lczerner@redhat.com>
On 03/21/2012 12:23 AM, Lukas Czerner wrote:
> We are going to remove the EOFBLOCKS_FL flag in the future, so this is
> the first part of the removal. We can not remove it entirely just now,
> since the e2fsck is still checking for it and it might cause headache to
> some people. Instead, remove the restrictive checks now and the rest
> later, when the new e2fsck code is out and common enough.
>
> This is also needed because punch hole already breaks the EOFBLOCKS_FL
> semantics, so it might cause the some troubles. So simply remove it.
>
> Signed-off-by: Lukas Czerner<lczerner@redhat.com>
Alrighty, I went over your set and it all looks good to me. Thx Lukas!
Allison Henderson
> ---
> fs/ext4/extents.c | 13 ++++++++-----
> fs/ext4/inode.c | 6 ++----
> 2 files changed, 10 insertions(+), 9 deletions(-)
>
> diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c
> index 9e10b82..06b0792 100644
> --- a/fs/ext4/extents.c
> +++ b/fs/ext4/extents.c
> @@ -3291,11 +3291,13 @@ static int check_eofblocks_fl(handle_t *handle, struct inode *inode,
> depth = ext_depth(inode);
> eh = path[depth].p_hdr;
>
> - if (unlikely(!eh->eh_entries)) {
> - EXT4_ERROR_INODE(inode, "eh->eh_entries == 0 and "
> - "EOFBLOCKS_FL set");
> - return -EIO;
> - }
> + /*
> + * We're going to remove EOFBLOCKS_FL entirely in future so we
> + * do not care for this case anymore. Simply remove the flag
> + * if there are no extents.
> + */
> + if (unlikely(!eh->eh_entries))
> + goto out;
> last_ex = EXT_LAST_EXTENT(eh);
> /*
> * We should clear the EOFBLOCKS_FL flag if we are writing the
> @@ -3319,6 +3321,7 @@ static int check_eofblocks_fl(handle_t *handle, struct inode *inode,
> for (i = depth-1; i>= 0; i--)
> if (path[i].p_idx != EXT_LAST_INDEX(path[i].p_hdr))
> return 0;
> +out:
> ext4_clear_inode_flag(inode, EXT4_INODE_EOFBLOCKS);
> return ext4_mark_inode_dirty(handle, inode);
> }
> diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
> index feaa82f..55f5b91 100644
> --- a/fs/ext4/inode.c
> +++ b/fs/ext4/inode.c
> @@ -4152,11 +4152,9 @@ int ext4_setattr(struct dentry *dentry, struct iattr *attr)
> }
>
> if (attr->ia_valid& ATTR_SIZE) {
> - if (attr->ia_size != i_size_read(inode)) {
> + if (attr->ia_size != i_size_read(inode))
> truncate_setsize(inode, attr->ia_size);
> - ext4_truncate(inode);
> - } else if (ext4_test_inode_flag(inode, EXT4_INODE_EOFBLOCKS))
> - ext4_truncate(inode);
> + ext4_truncate(inode);
> }
>
> if (!rc) {
prev parent reply other threads:[~2012-03-22 0:11 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-21 7:23 [PATCH 1/5] ext4: Remove restrictive checks for EOFBLOCKS_FL Lukas Czerner
2012-03-21 7:23 ` [PATCH 2/5] ext4: Correctly handle EOFBLOCKS flag in ext4_ext_punch_hole Lukas Czerner
2012-03-22 2:13 ` Ted Ts'o
2012-03-22 8:25 ` Lukas Czerner
2012-03-22 13:47 ` Ted Ts'o
2012-03-22 14:05 ` Lukas Czerner
2012-03-21 7:23 ` [PATCH 3/5] ext4: Allow punch hole beyond i_size Lukas Czerner
2012-03-21 7:23 ` [PATCH 4/5] ext4: Remove uneeded i_size handling Lukas Czerner
2012-03-21 7:23 ` [PATCH 5/5] ext4: Correct ext4_punch_hole return codes Lukas Czerner
2012-03-22 0:10 ` Allison Henderson [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=4F6A6E12.7050505@linux.vnet.ibm.com \
--to=achender@linux.vnet.ibm.com \
--cc=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 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.