From 3cd330570636201746cc051c7e62416b7389d976 Mon Sep 17 00:00:00 2001 From: Alexander Belyakov Date: Fri, 17 Oct 2008 19:19:13 +0400 Subject: [PATCH] --- yaml --- r: 116040 b: refs/heads/master c: 5bf1723723487ddb0b9c9641b6559da96b27cc93 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/fs/jffs2/nodemgmt.c | 4 ++++ trunk/fs/jffs2/wbuf.c | 5 +---- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 7465134f8e86..1436dced3bf7 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 43b5693d404127697d62962def8c1bfe3a89811a +refs/heads/master: 5bf1723723487ddb0b9c9641b6559da96b27cc93 diff --git a/trunk/fs/jffs2/nodemgmt.c b/trunk/fs/jffs2/nodemgmt.c index a9bf9603c1ba..0875b60b4bf7 100644 --- a/trunk/fs/jffs2/nodemgmt.c +++ b/trunk/fs/jffs2/nodemgmt.c @@ -261,6 +261,10 @@ static int jffs2_find_nextblock(struct jffs2_sb_info *c) jffs2_sum_reset_collected(c->summary); /* reset collected summary */ + /* adjust write buffer offset, else we get a non contiguous write bug */ + if (!(c->wbuf_ofs % c->sector_size) && !c->wbuf_len) + c->wbuf_ofs = 0xffffffff; + D1(printk(KERN_DEBUG "jffs2_find_nextblock(): new nextblock = 0x%08x\n", c->nextblock->offset)); return 0; diff --git a/trunk/fs/jffs2/wbuf.c b/trunk/fs/jffs2/wbuf.c index 0e78b00035e4..d9a721e6db70 100644 --- a/trunk/fs/jffs2/wbuf.c +++ b/trunk/fs/jffs2/wbuf.c @@ -679,10 +679,7 @@ 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 */ - 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_ofs += c->wbuf_pagesize; c->wbuf_len = 0; return 0; }