Searched refs:wbuf (Results 1 - 21 of 21) sorted by relevance

/fs/ubifs/
H A Dio.c50 * 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 Dgc.c84 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 Djournal.c118 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 Dmisc.h132 * @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 Dlog.c65 * 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 Dtnc_misc.c463 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 Drecovery.c420 * 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 Dubifs.h670 * @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 Dtnc.c1627 * 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 Dsuper.c467 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 Dcommit.c131 err = ubifs_wbuf_sync(&c->jheads[i].wbuf);
H A Ddebug.c620 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 Dlprops.c1279 err = ubifs_wbuf_sync(&c->jheads[i].wbuf);
H A Dreplay.c156 err = ubifs_wbuf_seek_nolock(&c->jheads[b->bud->jhead].wbuf,
/fs/jffs2/
H A Dwbuf.c60 /* 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 DMakefile13 jffs2-$(CONFIG_JFFS2_FS_WRITEBUFFER) += wbuf.o
H A Djffs2_fs_sb.h101 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 Dos-linux.h102 #define jffs2_is_writebuffered(c) (c->wbuf != NULL)
114 /* wbuf.c */
/fs/jbd/
H A Dcommit.c158 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 Dcommit.c376 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 Djournal.c554 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

Completed in 854 milliseconds