X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=fs%2Fjffs2%2Fwbuf.c;h=91d1d0f1c66c72c1d0c925d383f8e2a02973e2c4;hb=532df780a2012ad75b3f078647f229c4dabd99d1;hp=c556e85a565cea44fbceca308514fa51e5c80c3e;hpb=805f53f085346b6765eda02820721a14ce0d644f;p=linux-2.6 diff --git a/fs/jffs2/wbuf.c b/fs/jffs2/wbuf.c index c556e85a56..91d1d0f1c6 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) memset(c->wbuf,0xff,c->wbuf_pagesize); /* adjust write buffer offset, else we get a non contiguous write bug */ - c->wbuf_ofs += c->wbuf_pagesize; + if (SECTOR_ADDR(c->wbuf_ofs) == SECTOR_ADDR(c->wbuf_ofs+c->wbuf_pagesize)) + c->wbuf_ofs += c->wbuf_pagesize; + else + c->wbuf_ofs = 0xffffffff; c->wbuf_len = 0; return 0; }