Lines Matching refs:offs
93 int ubifs_leb_read(const struct ubifs_info *c, int lnum, void *buf, int offs, in ubifs_leb_read() argument
98 err = ubi_read(c->ubi, lnum, buf, offs, len); in ubifs_leb_read()
105 len, lnum, offs, err); in ubifs_leb_read()
111 int ubifs_leb_write(struct ubifs_info *c, int lnum, const void *buf, int offs, in ubifs_leb_write() argument
120 err = ubi_leb_write(c->ubi, lnum, buf, offs, len); in ubifs_leb_write()
123 err = dbg_leb_write(c, lnum, buf, offs, len); in ubifs_leb_write()
127 len, lnum, offs, err); in ubifs_leb_write()
240 int offs, int quiet, int must_chk_crc) in ubifs_check_node() argument
246 ubifs_assert(lnum >= 0 && lnum < c->leb_cnt && offs >= 0); in ubifs_check_node()
247 ubifs_assert(!(offs & 7) && offs < c->leb_size); in ubifs_check_node()
266 if (node_len + offs > c->leb_size) in ubifs_check_node()
297 ubifs_err(c, "bad node at LEB %d:%d", lnum, offs); in ubifs_check_node()
510 wbuf->lnum, wbuf->offs, wbuf->used, dbg_jhead(wbuf->jhead)); in ubifs_wbuf_sync_nolock()
512 ubifs_assert(wbuf->offs + wbuf->size <= c->leb_size); in ubifs_wbuf_sync_nolock()
517 if (c->leb_size - wbuf->offs >= c->max_write_size) in ubifs_wbuf_sync_nolock()
518 ubifs_assert(!((wbuf->offs + wbuf->size) % c->max_write_size)); in ubifs_wbuf_sync_nolock()
531 err = ubifs_leb_write(c, wbuf->lnum, wbuf->buf, wbuf->offs, sync_len); in ubifs_wbuf_sync_nolock()
536 wbuf->offs += sync_len; in ubifs_wbuf_sync_nolock()
547 if (c->leb_size - wbuf->offs < c->max_write_size) in ubifs_wbuf_sync_nolock()
548 wbuf->size = c->leb_size - wbuf->offs; in ubifs_wbuf_sync_nolock()
549 else if (wbuf->offs & (c->max_write_size - 1)) in ubifs_wbuf_sync_nolock()
550 wbuf->size = ALIGN(wbuf->offs, c->max_write_size) - wbuf->offs; in ubifs_wbuf_sync_nolock()
560 c->leb_size - wbuf->offs, dirt); in ubifs_wbuf_sync_nolock()
574 int ubifs_wbuf_seek_nolock(struct ubifs_wbuf *wbuf, int lnum, int offs) in ubifs_wbuf_seek_nolock() argument
578 dbg_io("LEB %d:%d, jhead %s", lnum, offs, dbg_jhead(wbuf->jhead)); in ubifs_wbuf_seek_nolock()
580 ubifs_assert(offs >= 0 && offs <= c->leb_size); in ubifs_wbuf_seek_nolock()
581 ubifs_assert(offs % c->min_io_size == 0 && !(offs & 7)); in ubifs_wbuf_seek_nolock()
587 wbuf->offs = offs; in ubifs_wbuf_seek_nolock()
588 if (c->leb_size - wbuf->offs < c->max_write_size) in ubifs_wbuf_seek_nolock()
589 wbuf->size = c->leb_size - wbuf->offs; in ubifs_wbuf_seek_nolock()
590 else if (wbuf->offs & (c->max_write_size - 1)) in ubifs_wbuf_seek_nolock()
591 wbuf->size = ALIGN(wbuf->offs, c->max_write_size) - wbuf->offs; in ubifs_wbuf_seek_nolock()
689 dbg_jhead(wbuf->jhead), wbuf->lnum, wbuf->offs + wbuf->used); in ubifs_wbuf_write_nolock()
691 ubifs_assert(wbuf->offs >= 0 && wbuf->offs % c->min_io_size == 0); in ubifs_wbuf_write_nolock()
692 ubifs_assert(!(wbuf->offs & 7) && wbuf->offs <= c->leb_size); in ubifs_wbuf_write_nolock()
700 if (c->leb_size - wbuf->offs >= c->max_write_size) in ubifs_wbuf_write_nolock()
701 ubifs_assert(!((wbuf->offs + wbuf->size) % c->max_write_size)); in ubifs_wbuf_write_nolock()
703 if (c->leb_size - wbuf->offs - wbuf->used < aligned_len) { in ubifs_wbuf_write_nolock()
722 dbg_jhead(wbuf->jhead), wbuf->lnum, wbuf->offs); in ubifs_wbuf_write_nolock()
724 wbuf->offs, wbuf->size); in ubifs_wbuf_write_nolock()
729 wbuf->offs += wbuf->size; in ubifs_wbuf_write_nolock()
730 if (c->leb_size - wbuf->offs >= c->max_write_size) in ubifs_wbuf_write_nolock()
733 wbuf->size = c->leb_size - wbuf->offs; in ubifs_wbuf_write_nolock()
757 dbg_jhead(wbuf->jhead), wbuf->lnum, wbuf->offs); in ubifs_wbuf_write_nolock()
759 err = ubifs_leb_write(c, wbuf->lnum, wbuf->buf, wbuf->offs, in ubifs_wbuf_write_nolock()
764 wbuf->offs += wbuf->size; in ubifs_wbuf_write_nolock()
768 } else if (wbuf->offs & (c->max_write_size - 1)) { in ubifs_wbuf_write_nolock()
777 wbuf->size, wbuf->lnum, wbuf->offs); in ubifs_wbuf_write_nolock()
778 err = ubifs_leb_write(c, wbuf->lnum, buf, wbuf->offs, in ubifs_wbuf_write_nolock()
783 wbuf->offs += wbuf->size; in ubifs_wbuf_write_nolock()
799 wbuf->offs); in ubifs_wbuf_write_nolock()
801 wbuf->offs, n); in ubifs_wbuf_write_nolock()
804 wbuf->offs += n; in ubifs_wbuf_write_nolock()
819 if (c->leb_size - wbuf->offs >= c->max_write_size) in ubifs_wbuf_write_nolock()
822 wbuf->size = c->leb_size - wbuf->offs; in ubifs_wbuf_write_nolock()
830 int free = c->leb_size - wbuf->offs - wbuf->used; in ubifs_wbuf_write_nolock()
844 len, wbuf->lnum, wbuf->offs, err); in ubifs_wbuf_write_nolock()
866 int offs) in ubifs_write_node() argument
871 lnum, offs, dbg_ntype(((struct ubifs_ch *)buf)->node_type), len, in ubifs_write_node()
873 ubifs_assert(lnum >= 0 && lnum < c->leb_cnt && offs >= 0); in ubifs_write_node()
874 ubifs_assert(offs % c->min_io_size == 0 && offs < c->leb_size); in ubifs_write_node()
882 err = ubifs_leb_write(c, lnum, buf, offs, buf_len); in ubifs_write_node()
906 int lnum, int offs) in ubifs_read_node_wbuf() argument
912 dbg_io("LEB %d:%d, %s, length %d, jhead %s", lnum, offs, in ubifs_read_node_wbuf()
914 ubifs_assert(wbuf && lnum >= 0 && lnum < c->leb_cnt && offs >= 0); in ubifs_read_node_wbuf()
915 ubifs_assert(!(offs & 7) && offs < c->leb_size); in ubifs_read_node_wbuf()
919 overlap = (lnum == wbuf->lnum && offs + len > wbuf->offs); in ubifs_read_node_wbuf()
923 return ubifs_read_node(c, buf, type, len, lnum, offs); in ubifs_read_node_wbuf()
927 rlen = wbuf->offs - offs; in ubifs_read_node_wbuf()
932 memcpy(buf + rlen, wbuf->buf + offs + rlen - wbuf->offs, len - rlen); in ubifs_read_node_wbuf()
937 err = ubifs_leb_read(c, lnum, buf, offs, rlen, 0); in ubifs_read_node_wbuf()
948 err = ubifs_check_node(c, buf, lnum, offs, 0, 0); in ubifs_read_node_wbuf()
963 ubifs_err(c, "bad node at LEB %d:%d", lnum, offs); in ubifs_read_node_wbuf()
983 int lnum, int offs) in ubifs_read_node() argument
988 dbg_io("LEB %d:%d, %s, length %d", lnum, offs, dbg_ntype(type), len); in ubifs_read_node()
989 ubifs_assert(lnum >= 0 && lnum < c->leb_cnt && offs >= 0); in ubifs_read_node()
990 ubifs_assert(len >= UBIFS_CH_SZ && offs + len <= c->leb_size); in ubifs_read_node()
991 ubifs_assert(!(offs & 7) && offs < c->leb_size); in ubifs_read_node()
994 err = ubifs_leb_read(c, lnum, buf, offs, len, 0); in ubifs_read_node()
1004 err = ubifs_check_node(c, buf, lnum, offs, 0, 0); in ubifs_read_node()
1020 offs, ubi_is_mapped(c->ubi, lnum)); in ubifs_read_node()
1053 wbuf->lnum = wbuf->offs = -1; in ubifs_wbuf_init()