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@xxxxxxxxxx> --- 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@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html