diff options
author | Sunil Mushran <sunil.mushran@oracle.com> | 2009-09-04 11:12:01 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2009-09-08 20:34:12 -0700 |
commit | e38d22518cad8f3e1805bf17482b8bd2a5ec7de0 (patch) | |
tree | ab42864355488fcf2511eaeba5d2d010b0ce93ea | |
parent | 94a92d5f9ece6fb4bb9e23114413c5f1dcf305ef (diff) |
ocfs2: ocfs2_write_begin_nolock() should handle len=0
commit 8379e7c46cc48f51197dd663fc6676f47f2a1e71 upstream.
Bug introduced by mainline commit e7432675f8ca868a4af365759a8d4c3779a3d922
The bug causes ocfs2_write_begin_nolock() to oops when len=0.
Signed-off-by: Sunil Mushran <sunil.mushran@oracle.com>
Signed-off-by: Joel Becker <joel.becker@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r-- | fs/ocfs2/aops.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/ocfs2/aops.c b/fs/ocfs2/aops.c index 122fb7978f60..044990a47855 100644 --- a/fs/ocfs2/aops.c +++ b/fs/ocfs2/aops.c @@ -1746,8 +1746,8 @@ int ocfs2_write_begin_nolock(struct address_space *mapping, * we know zeros will only be needed in the first and/or last cluster. */ if (clusters_to_alloc || extents_to_split || - wc->w_desc[0].c_needs_zero || - wc->w_desc[wc->w_clen - 1].c_needs_zero) + (wc->w_clen && (wc->w_desc[0].c_needs_zero || + wc->w_desc[wc->w_clen - 1].c_needs_zero))) cluster_of_pages = 1; else cluster_of_pages = 0; |