[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1234898659-4686-1-git-send-email-dmonakhov@openvz.org>
Date: Tue, 17 Feb 2009 22:24:19 +0300
From: Dmitri Monakhov <dmonakhov@...nvz.org>
To: linux-ext4@...r.kernel.org
Cc: Dmitri Monakhov <dmonakhov@...nvz.org>
Subject: [PATCH] ext3/4: Clear pagep after write_begin() has failed
Seems there is no strict rule to for this case. In fact everybody
just ignored this variable after write_begin() has failed.
This was true until ext4_defrag_partial(). So let's follows simple
rule similar to block_write_begin().
Signed-off-by: Dmitri Monakhov <dmonakhov@...nvz.org>
---
fs/ext3/inode.c | 2 ++
fs/ext4/inode.c | 1 +
2 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/fs/ext3/inode.c b/fs/ext3/inode.c
index 5fa453b..7aa60db 100644
--- a/fs/ext3/inode.c
+++ b/fs/ext3/inode.c
@@ -1170,6 +1170,7 @@ retry:
if (IS_ERR(handle)) {
unlock_page(page);
page_cache_release(page);
+ *pagep = NULL;
ret = PTR_ERR(handle);
goto out;
}
@@ -1187,6 +1188,7 @@ write_begin_failed:
ext3_journal_stop(handle);
unlock_page(page);
page_cache_release(page);
+ *pagep = NULL;
/*
* block_write_begin may have instantiated a few blocks
* outside i_size. Trim these off again. Don't need
diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
index 658c4a7..0581c48 100644
--- a/fs/ext4/inode.c
+++ b/fs/ext4/inode.c
@@ -1388,6 +1388,7 @@ retry:
unlock_page(page);
ext4_journal_stop(handle);
page_cache_release(page);
+ *pagep = NULL;
/*
* block_write_begin may have instantiated a few blocks
* outside i_size. Trim these off again. Don't need
--
1.5.4.3
--
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