diff --git a/fs/ocfs2/aops.c b/fs/ocfs2/aops.c index 44db1808cdb598df6b91548410b3634480c06c31..0c2848a599c91ad44dd5d307e5a09a677534c4c3 100644 --- a/fs/ocfs2/aops.c +++ b/fs/ocfs2/aops.c @@ -771,7 +771,7 @@ static ssize_t ocfs2_direct_IO_write(struct kiocb *iocb, if (ret < 0) mlog_errno(ret); } - } else if (written < 0 && append_write && !is_overwrite && + } else if (written > 0 && append_write && !is_overwrite && !cluster_align) { u32 p_cpos = 0; u32 v_cpos = ocfs2_bytes_to_clusters(osb->sb, offset);