Lines Matching full:wbuf
60 /* Look to see if the inode in question is pending in the wbuf */ in jffs2_wbuf_pending_for_ino()
260 c->wbuf, c->wbuf_pagesize, 0); in jffs2_verify_write()
272 /* Recover from failure to write wbuf. Recover the nodes up to the
273 * wbuf, not the one which we were starting to try to write. */
297 node which ends before the wbuf starts, or which is obsolete. */ in jffs2_wbuf_recover()
332 dbg_noderef("wbuf recover %08x-%08x (%d bytes in %d nodes)\n", in jffs2_wbuf_recover()
342 pr_crit("Malloc failure in wbuf recovery. Data loss ensues.\n"); in jffs2_wbuf_recover()
357 pr_crit("Old data are already lost in wbuf recovery. Data loss ensues.\n"); in jffs2_wbuf_recover()
375 /* It wasn't. Go on and try to recover nodes complete in the wbuf */ in jffs2_wbuf_recover()
377 dbg_noderef("wbuf now recover %08x-%08x (%d bytes in %d nodes)\n", in jffs2_wbuf_recover()
381 /* Read succeeded. Copy the remaining data from the wbuf */ in jffs2_wbuf_recover()
382 memcpy(buf + (c->wbuf_ofs - start), c->wbuf, end - c->wbuf_ofs); in jffs2_wbuf_recover()
386 Either 'buf' contains the data, or we find it in the wbuf */ in jffs2_wbuf_recover()
391 pr_warn("Failed to allocate space for wbuf recovery. Data loss ensues.\n"); in jffs2_wbuf_recover()
401 pr_warn("Failed to allocate node refs for wbuf recovery. Data loss ensues.\n"); in jffs2_wbuf_recover()
410 that this is just because the wbuf itself is completely in jffs2_wbuf_recover()
414 unsigned char *rewrite_buf = buf?:c->wbuf; in jffs2_wbuf_recover()
417 jffs2_dbg(1, "Write 0x%x bytes at 0x%08x in wbuf recover\n", in jffs2_wbuf_recover()
434 pr_crit("Recovery of wbuf failed due to a second write error\n"); in jffs2_wbuf_recover()
442 pr_notice("Recovery of wbuf succeeded to %08x\n", ofs); in jffs2_wbuf_recover()
446 memmove(c->wbuf, rewrite_buf + towrite, c->wbuf_len); in jffs2_wbuf_recover()
451 memcpy(c->wbuf, buf, end-start); in jffs2_wbuf_recover()
453 memmove(c->wbuf, c->wbuf + (start - c->wbuf_ofs), end - start); in jffs2_wbuf_recover()
518 (void *)(buf?:c->wbuf) + (ref_offset(raw) - start)); in jffs2_wbuf_recover()
566 jffs2_dbg(1, "wbuf recovery completed OK. wbuf_ofs 0x%08x, len 0x%x\n", in jffs2_wbuf_recover()
596 if (!c->wbuf_len) /* already checked c->wbuf above */ in __jffs2_flush_wbuf()
614 memset(c->wbuf + c->wbuf_len, 0, c->wbuf_pagesize - c->wbuf_len); in __jffs2_flush_wbuf()
617 struct jffs2_unknown_node *padnode = (void *)(c->wbuf + c->wbuf_len); in __jffs2_flush_wbuf()
639 &retlen, c->wbuf); in __jffs2_flush_wbuf()
649 } else if ((ret = jffs2_verify_write(c, c->wbuf, c->wbuf_ofs))) { in __jffs2_flush_wbuf()
668 pr_crit("jffs2_flush_wbuf(): Accounting error. wbuf at 0x%08x has 0x%03x bytes, 0x%03x left.\n", in __jffs2_flush_wbuf()
691 memset(c->wbuf,0xff,c->wbuf_pagesize); in __jffs2_flush_wbuf()
710 if (!c->wbuf) in jffs2_flush_wbuf_gc()
715 jffs2_dbg(1, "Ino #%d not pending in wbuf. Returning\n", ino); in jffs2_flush_wbuf_gc()
729 /* retry flushing wbuf in case jffs2_wbuf_recover in jffs2_flush_wbuf_gc()
730 left some data in the wbuf */ in jffs2_flush_wbuf_gc()
747 /* retry flushing wbuf in case jffs2_wbuf_recover in jffs2_flush_wbuf_gc()
748 left some data in the wbuf */ in jffs2_flush_wbuf_gc()
768 if (!c->wbuf) in jffs2_flush_wbuf_pad()
773 /* retry - maybe wbuf recover left some data in wbuf. */ in jffs2_flush_wbuf_pad()
789 memcpy(c->wbuf + c->wbuf_len, buf, len); in jffs2_fill_wbuf()
813 memset(c->wbuf,0xff,c->wbuf_pagesize); in jffs2_flash_writev()
826 jffs2_dbg(1, "%s(): to 0x%lx causes flush of wbuf at 0x%08x\n", in jffs2_flash_writev()
842 pr_crit("wbuf was previously %08x-%08x\n", in jffs2_flash_writev()
900 * If there's a remainder in the wbuf and it's a non-GC write, in jffs2_flash_writev()
901 * remember that the wbuf affects this ino in jffs2_flash_writev()
920 * At this point we have no problem, c->wbuf is empty. However in jffs2_flash_writev()
1010 memcpy(buf+orbf,c->wbuf+owbf,lwbf); in jffs2_flash_read()
1207 c->wbuf = kmalloc(c->wbuf_pagesize, GFP_KERNEL); in jffs2_nand_flash_setup()
1208 if (!c->wbuf) in jffs2_nand_flash_setup()
1213 kfree(c->wbuf); in jffs2_nand_flash_setup()
1221 kfree(c->wbuf); in jffs2_nand_flash_setup()
1233 kfree(c->wbuf); in jffs2_nand_flash_cleanup()
1268 c->wbuf = kmalloc(c->wbuf_pagesize, GFP_KERNEL); in jffs2_dataflash_setup()
1269 if (!c->wbuf) in jffs2_dataflash_setup()
1275 kfree(c->wbuf); in jffs2_dataflash_setup()
1290 kfree(c->wbuf); in jffs2_dataflash_cleanup()
1305 c->wbuf = kmalloc(c->wbuf_pagesize, GFP_KERNEL); in jffs2_nor_wbuf_flash_setup()
1306 if (!c->wbuf) in jffs2_nor_wbuf_flash_setup()
1312 kfree(c->wbuf); in jffs2_nor_wbuf_flash_setup()
1323 kfree(c->wbuf); in jffs2_nor_wbuf_flash_cleanup()
1338 c->wbuf = kmalloc(c->wbuf_pagesize, GFP_KERNEL); in jffs2_ubivol_setup()
1339 if (!c->wbuf) in jffs2_ubivol_setup()
1349 kfree(c->wbuf); in jffs2_ubivol_cleanup()