diff options
-rw-r--r-- | fs/jffs2/wbuf.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/fs/jffs2/wbuf.c b/fs/jffs2/wbuf.c index c556e85a565c..91d1d0f1c66c 100644 --- a/fs/jffs2/wbuf.c +++ b/fs/jffs2/wbuf.c | |||
@@ -637,7 +637,10 @@ static int __jffs2_flush_wbuf(struct jffs2_sb_info *c, int pad) | |||
637 | 637 | ||
638 | memset(c->wbuf,0xff,c->wbuf_pagesize); | 638 | memset(c->wbuf,0xff,c->wbuf_pagesize); |
639 | /* adjust write buffer offset, else we get a non contiguous write bug */ | 639 | /* adjust write buffer offset, else we get a non contiguous write bug */ |
640 | c->wbuf_ofs += c->wbuf_pagesize; | 640 | if (SECTOR_ADDR(c->wbuf_ofs) == SECTOR_ADDR(c->wbuf_ofs+c->wbuf_pagesize)) |
641 | c->wbuf_ofs += c->wbuf_pagesize; | ||
642 | else | ||
643 | c->wbuf_ofs = 0xffffffff; | ||
641 | c->wbuf_len = 0; | 644 | c->wbuf_len = 0; |
642 | return 0; | 645 | return 0; |
643 | } | 646 | } |