[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1319821210-7374-5-git-send-email-dmonakhov@openvz.org>
Date: Fri, 28 Oct 2011 21:00:07 +0400
From: Dmitry Monakhov <dmonakhov@...nvz.org>
To: linux-ext4@...r.kernel.org
Cc: achender@...ux.vnet.ibm.com, tytso@....edu,
Dmitry Monakhov <dmonakhov@...nvz.org>
Subject: [PATCH 4/7] ext4: punch_hole fix extent conversion
Currently punched extent converted to uninitialized incorrectly,
in fact i'm not shure whenever we actually need that conversion,
but if we do that let's do it right.
Signed-off-by: Dmitry Monakhov <dmonakhov@...nvz.org>
---
fs/ext4/extents.c | 9 ++++++++-
1 files changed, 8 insertions(+), 1 deletions(-)
diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c
index 02dfe38..0365173 100644
--- a/fs/ext4/extents.c
+++ b/fs/ext4/extents.c
@@ -3275,8 +3275,15 @@ ext4_ext_handle_punched_extent(handle_t *handle, struct inode *inode,
ex = path[path->p_depth].p_ext;
}
- ext4_ext_mark_uninitialized(ex);
+ err = ext4_ext_get_access(handle, inode, path + path->p_depth);
+ if (err)
+ goto out;
ext4_ext_invalidate_cache(inode);
+ ext4_ext_mark_uninitialized(ex);
+ err = ext4_ext_dirty(handle, inode, path + path->p_depth);
+ if (err)
+ goto out;
+
err = ext4_ext_rm_leaf(handle, inode, path, &partial_cluster,
map->m_lblk, map->m_lblk + punched_out);
if (!err && ext4_ext_try_shrink(handle, inode))
--
1.7.1
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists