ext4_da_write_begin needs to call journal_stop before returning,
if the page allocation fails.
Signed-off-by: Eric Sandeen <[email protected]>
---
Index: linux-2.6/fs/ext4/inode.c
===================================================================
--- linux-2.6.orig/fs/ext4/inode.c 2008-07-29 17:18:26.000000000 -0500
+++ linux-2.6/fs/ext4/inode.c 2008-07-31 12:21:03.866229084 -0500
@@ -2280,8 +2280,11 @@ retry:
}
page = __grab_cache_page(mapping, index);
- if (!page)
- return -ENOMEM;
+ if (!page) {
+ ext4_journal_stop(handle);
+ ret = -ENOMEM;
+ goto out;
+ }
*pagep = page;
ret = block_write_begin(file, mapping, pos, len, flags, pagep, fsdata,
在 2008-07-31四的 12:23 -0500,Eric Sandeen写道:
> ext4_da_write_begin needs to call journal_stop before returning,
> if the page allocation fails.
>
> Signed-off-by: Eric Sandeen <[email protected]>
Ackd-by: Mingming Cao <[email protected]>
> ---
>
> Index: linux-2.6/fs/ext4/inode.c
> ===================================================================
> --- linux-2.6.orig/fs/ext4/inode.c 2008-07-29 17:18:26.000000000 -0500
> +++ linux-2.6/fs/ext4/inode.c 2008-07-31 12:21:03.866229084 -0500
> @@ -2280,8 +2280,11 @@ retry:
> }
>
> page = __grab_cache_page(mapping, index);
> - if (!page)
> - return -ENOMEM;
> + if (!page) {
> + ext4_journal_stop(handle);
> + ret = -ENOMEM;
> + goto out;
> + }
> *pagep = page;
>
> ret = block_write_begin(file, mapping, pos, len, flags, pagep, fsdata,
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html