/fs/ubifs/ |
H A D | io.c | 50 * have to make sure that the write-buffer offset (@wbuf->offs) becomes aligned 52 * write-buffer size (@wbuf->size). 440 struct ubifs_wbuf *wbuf = container_of(timer, struct ubifs_wbuf, timer); local 442 dbg_io("jhead %s", dbg_jhead(wbuf->jhead)); 443 wbuf->need_sync = 1; 444 wbuf->c->need_wbuf_sync = 1; 445 ubifs_wake_up_bgt(wbuf->c); 451 * @wbuf: write-buffer descriptor 453 static void new_wbuf_timer_nolock(struct ubifs_wbuf *wbuf) argument 455 ubifs_assert(!hrtimer_active(&wbuf 472 cancel_wbuf_timer_nolock(struct ubifs_wbuf *wbuf) argument 493 ubifs_wbuf_sync_nolock(struct ubifs_wbuf *wbuf) argument 568 ubifs_wbuf_seek_nolock(struct ubifs_wbuf *wbuf, int lnum, int offs) argument 619 struct ubifs_wbuf *wbuf = &c->jheads[i].wbuf; local 650 struct ubifs_wbuf *wbuf = &c->jheads[i].wbuf; local 675 ubifs_wbuf_write_nolock(struct ubifs_wbuf *wbuf, void *buf, int len) argument 897 ubifs_read_node_wbuf(struct ubifs_wbuf *wbuf, void *buf, int type, int len, int lnum, int offs) argument 1028 ubifs_wbuf_init(struct ubifs_info *c, struct ubifs_wbuf *wbuf) argument 1076 ubifs_wbuf_add_ino_nolock(struct ubifs_wbuf *wbuf, ino_t inum) argument 1096 wbuf_has_ino(struct ubifs_wbuf *wbuf, ino_t inum) argument 1125 struct ubifs_wbuf *wbuf = &c->jheads[i].wbuf; local [all...] |
H A D | gc.c | 84 struct ubifs_wbuf *wbuf = &c->jheads[GCHD].wbuf; local 88 wbuf->lnum, wbuf->offs + wbuf->used, gc_lnum, 89 c->leb_size - wbuf->offs - wbuf->used); 91 err = ubifs_wbuf_sync_nolock(wbuf); 103 err = ubifs_wbuf_sync_nolock(wbuf); 112 err = ubifs_wbuf_seek_nolock(wbuf, gc_lnu 321 move_node(struct ubifs_info *c, struct ubifs_scan_leb *sleb, struct ubifs_scan_node *snod, struct ubifs_wbuf *wbuf) argument 353 struct ubifs_wbuf *wbuf = &c->jheads[GCHD].wbuf; local 473 struct ubifs_wbuf *wbuf = &c->jheads[GCHD].wbuf; local 652 struct ubifs_wbuf *wbuf = &c->jheads[GCHD].wbuf; local 921 struct ubifs_wbuf *wbuf; local [all...] |
H A D | journal.c | 118 struct ubifs_wbuf *wbuf = &c->jheads[jhead].wbuf; local 128 mutex_lock_nested(&wbuf->io_mutex, wbuf->jhead); 135 avail = c->leb_size - wbuf->offs - wbuf->used; 136 if (wbuf->lnum != -1 && avail >= len) 157 mutex_unlock(&wbuf->io_mutex); 168 * because we dropped @wbuf->io_mutex, so try once 182 mutex_lock_nested(&wbuf 258 struct ubifs_wbuf *wbuf = &c->jheads[jhead].wbuf; local 290 struct ubifs_wbuf *wbuf = &c->jheads[jhead].wbuf; local 619 struct ubifs_wbuf *wbuf = &c->jheads[BASEHD].wbuf; local 1018 struct ubifs_wbuf *wbuf = &c->jheads[BASEHD].wbuf; local 1426 struct ubifs_wbuf *wbuf = &c->jheads[BASEHD].wbuf; local [all...] |
H A D | misc.h | 132 * @wbuf: write-buffer to synchronize 137 static inline int ubifs_wbuf_sync(struct ubifs_wbuf *wbuf) argument 141 mutex_lock_nested(&wbuf->io_mutex, wbuf->jhead); 142 err = ubifs_wbuf_sync_nolock(wbuf); 143 mutex_unlock(&wbuf->io_mutex);
|
H A D | log.c | 65 * ubifs_get_wbuf - get the wbuf associated with a LEB, if there is one. 69 * This functions returns the wbuf for @lnum or %NULL if there is not one. 91 return &c->jheads[jhead].wbuf; 311 struct ubifs_wbuf *wbuf; local 315 wbuf = &c->jheads[bud->jhead].wbuf; 317 if (wbuf->lnum == bud->lnum) { 322 c->cmt_bud_bytes += wbuf->offs - bud->start; 325 wbuf->offs - bud->start, c->cmt_bud_bytes); 326 bud->start = wbuf [all...] |
H A D | tnc_misc.c | 463 struct ubifs_wbuf *wbuf; local 469 wbuf = ubifs_get_wbuf(c, zbr->lnum); 470 if (wbuf) 471 err = ubifs_read_node_wbuf(wbuf, node, type, zbr->len,
|
H A D | recovery.c | 420 * the last wbuf written. After that should be empty space. 1178 struct ubifs_wbuf *wbuf = &c->jheads[GCHD].wbuf; local 1182 dbg_rcvry("GC head LEB %d, offs %d", wbuf->lnum, wbuf->offs); 1185 if (wbuf->lnum == -1 || wbuf->offs == c->leb_size) 1188 err = ubifs_find_dirty_leb(c, &lp, wbuf->offs, 2); 1198 ubifs_assert(lp.free + lp.dirty >= wbuf->offs); 1210 mutex_lock_nested(&wbuf [all...] |
H A D | ubifs.h | 670 * @need_sync: non-zero if the timer expired and the wbuf needs sync'ing 672 * @inodes: stores the inode numbers of the nodes which are in wbuf 723 * @wbuf: head's write-buffer 730 struct ubifs_wbuf wbuf; member in struct:ubifs_jhead 1487 int ubifs_wbuf_write_nolock(struct ubifs_wbuf *wbuf, void *buf, int len); 1488 int ubifs_wbuf_seek_nolock(struct ubifs_wbuf *wbuf, int lnum, int offs); 1489 int ubifs_wbuf_init(struct ubifs_info *c, struct ubifs_wbuf *wbuf); 1492 int ubifs_read_node_wbuf(struct ubifs_wbuf *wbuf, void *buf, int type, int len, 1502 int ubifs_wbuf_sync_nolock(struct ubifs_wbuf *wbuf); 1504 void ubifs_wbuf_add_ino_nolock(struct ubifs_wbuf *wbuf, ino_ [all...] |
H A D | tnc.c | 1627 * read_wbuf - bulk-read from a LEB with a wbuf. 1628 * @wbuf: wbuf that may overlap the read 1636 static int read_wbuf(struct ubifs_wbuf *wbuf, void *buf, int len, int lnum, argument 1639 const struct ubifs_info *c = wbuf->c; 1643 ubifs_assert(wbuf && lnum >= 0 && lnum < c->leb_cnt && offs >= 0); 1647 spin_lock(&wbuf->lock); 1648 overlap = (lnum == wbuf->lnum && offs + len > wbuf->offs); 1651 spin_unlock(&wbuf 1738 struct ubifs_wbuf *wbuf; local [all...] |
H A D | super.c | 467 err = ubifs_wbuf_sync(&c->jheads[i].wbuf); 807 err = ubifs_wbuf_init(c, &c->jheads[i].wbuf); 811 c->jheads[i].wbuf.sync_callback = &bud_wbuf_callback; 812 c->jheads[i].wbuf.jhead = i; 820 c->jheads[GCHD].wbuf.no_timer = 1; 836 kfree(c->jheads[i].wbuf.buf); 837 kfree(c->jheads[i].wbuf.inodes); 1730 ubifs_wbuf_sync(&c->jheads[i].wbuf); 1798 ubifs_wbuf_sync(&c->jheads[i].wbuf); 1820 hrtimer_cancel(&c->jheads[i].wbuf [all...] |
H A D | commit.c | 131 err = ubifs_wbuf_sync(&c->jheads[i].wbuf);
|
H A D | debug.c | 620 dbg_jhead(c->jheads[i].wbuf.jhead), 621 c->jheads[i].wbuf.lnum); 721 lp->lnum == c->jheads[i].wbuf.lnum) { 2520 } else if (c->jheads && lnum == c->jheads[GCHD].wbuf.lnum) {
|
H A D | lprops.c | 1279 err = ubifs_wbuf_sync(&c->jheads[i].wbuf);
|
H A D | replay.c | 156 err = ubifs_wbuf_seek_nolock(&c->jheads[b->bud->jhead].wbuf,
|
/fs/jffs2/ |
H A D | wbuf.c | 60 /* Look to see if the inode in question is pending in the wbuf */ 260 c->wbuf, c->wbuf_pagesize, 0); 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. */ 332 dbg_noderef("wbuf recover %08x-%08x (%d bytes in %d nodes)\n", 342 pr_crit("Malloc failure in wbuf recovery. Data loss ensues.\n"); 357 pr_crit("Old data are already lost in wbuf recovery. Data loss ensues.\n"); 375 /* It wasn't. Go on and try to recover nodes complete in the wbuf */ 377 dbg_noderef("wbuf no [all...] |
H A D | Makefile | 13 jffs2-$(CONFIG_JFFS2_FS_WRITEBUFFER) += wbuf.o
|
H A D | jffs2_fs_sb.h | 101 struct list_head erasable_pending_wbuf_list; /* Blocks which need erasing but only after the current wbuf is flushed */ 124 uint32_t wbuf_pagesize; /* 0 for NOR and other flashes with no wbuf */ 130 unsigned char *wbuf; /* Write-behind buffer for NAND flash */ member in struct:jffs2_sb_info
|
H A D | os-linux.h | 102 #define jffs2_is_writebuffered(c) (c->wbuf != NULL) 114 /* wbuf.c */
|
/fs/jbd/ |
H A D | commit.c | 158 static void journal_do_submit_data(struct buffer_head **wbuf, int bufs, argument 164 wbuf[i]->b_end_io = end_buffer_write_sync; 175 _submit_bh(write_op, wbuf[i], 1 << BIO_SNAP_STABLE); 190 struct buffer_head **wbuf = journal->j_wbuf; local 225 journal_do_submit_data(wbuf, bufs, write_op); 250 wbuf[bufs++] = bh; 258 journal_do_submit_data(wbuf, bufs, write_op); 285 journal_do_submit_data(wbuf, bufs, write_op); 300 struct buffer_head **wbuf = journal->j_wbuf; local 586 wbuf[buf [all...] |
/fs/jbd2/ |
H A D | commit.c | 376 struct buffer_head **wbuf = journal->j_wbuf; local 641 wbuf[bufs++] = descriptor; 679 jh, &wbuf[bufs], blocknr); 684 jbd2_file_log_bh(&io_bufs, wbuf[bufs]); 698 jbd2_block_tag_csum_set(journal, tag, wbuf[bufs], 729 struct buffer_head *bh = wbuf[i];
|
/fs/logfs/ |
H A D | journal.c | 554 void *wbuf) 570 memcpy(wbuf, page_address(page) + page_ofs, super->s_writesize); 553 write_wbuf(struct super_block *sb, struct logfs_area *area, void *wbuf) argument
|