ocfs2: ocfs2_write_begin_nolock() should handle len=0
[~shefty/rdma-dev.git] / fs / ocfs2 / aops.c
index b401654011a2b64c4e55f87c7916e3badc07f68e..8a1e61545f4169de491eb00ee6c661ebf0054a30 100644 (file)
@@ -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;