diff options
author | Sunil Mushran <sunil.mushran@oracle.com> | 2009-09-04 22:12:01 +0400 |
---|---|---|
committer | Joel Becker <joel.becker@oracle.com> | 2009-09-05 01:28:31 +0400 |
commit | 8379e7c46cc48f51197dd663fc6676f47f2a1e71 (patch) | |
tree | ee6ae04dd7014bfe311ea0f48a0aea734a96c2ed /fs/ocfs2/aops.c | |
parent | a1b08e75dff3dc18a88444803753e667bb1d126e (diff) | |
download | linux-8379e7c46cc48f51197dd663fc6676f47f2a1e71.tar.xz |
ocfs2: ocfs2_write_begin_nolock() should handle len=0
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>
Cc: stable@kernel.org
Signed-off-by: Joel Becker <joel.becker@oracle.com>
Diffstat (limited to 'fs/ocfs2/aops.c')
-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 b401654011a2..8a1e61545f41 100644 --- a/fs/ocfs2/aops.c +++ b/fs/ocfs2/aops.c @@ -1747,8 +1747,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; |