Lines Matching refs:offs
99 int ubifs_leb_read(const struct ubifs_info *c, int lnum, void *buf, int offs, in ubifs_leb_read() argument
104 err = ubi_read(c->ubi, lnum, buf, offs, len); in ubifs_leb_read()
111 len, lnum, offs, err); in ubifs_leb_read()
117 int ubifs_leb_write(struct ubifs_info *c, int lnum, const void *buf, int offs, in ubifs_leb_write() argument
126 err = ubi_leb_write(c->ubi, lnum, buf, offs, len); in ubifs_leb_write()
128 err = dbg_leb_write(c, lnum, buf, offs, len); in ubifs_leb_write()
131 len, lnum, offs, err); in ubifs_leb_write()
238 int offs, int quiet, int must_chk_crc) in ubifs_check_node() argument
244 ubifs_assert(lnum >= 0 && lnum < c->leb_cnt && offs >= 0); in ubifs_check_node()
245 ubifs_assert(!(offs & 7) && offs < c->leb_size); in ubifs_check_node()
264 if (node_len + offs > c->leb_size) in ubifs_check_node()
295 ubifs_err(c, "bad node at LEB %d:%d", lnum, offs); in ubifs_check_node()
504 wbuf->lnum, wbuf->offs, wbuf->used, dbg_jhead(wbuf->jhead)); in ubifs_wbuf_sync_nolock()
506 ubifs_assert(wbuf->offs + wbuf->size <= c->leb_size); in ubifs_wbuf_sync_nolock()
511 if (c->leb_size - wbuf->offs >= c->max_write_size) in ubifs_wbuf_sync_nolock()
512 ubifs_assert(!((wbuf->offs + wbuf->size) % c->max_write_size)); in ubifs_wbuf_sync_nolock()
525 err = ubifs_leb_write(c, wbuf->lnum, wbuf->buf, wbuf->offs, sync_len); in ubifs_wbuf_sync_nolock()
530 wbuf->offs += sync_len; in ubifs_wbuf_sync_nolock()
541 if (c->leb_size - wbuf->offs < c->max_write_size) in ubifs_wbuf_sync_nolock()
542 wbuf->size = c->leb_size - wbuf->offs; in ubifs_wbuf_sync_nolock()
543 else if (wbuf->offs & (c->max_write_size - 1)) in ubifs_wbuf_sync_nolock()
544 wbuf->size = ALIGN(wbuf->offs, c->max_write_size) - wbuf->offs; in ubifs_wbuf_sync_nolock()
554 c->leb_size - wbuf->offs, dirt); in ubifs_wbuf_sync_nolock()
568 int ubifs_wbuf_seek_nolock(struct ubifs_wbuf *wbuf, int lnum, int offs) in ubifs_wbuf_seek_nolock() argument
572 dbg_io("LEB %d:%d, jhead %s", lnum, offs, dbg_jhead(wbuf->jhead)); in ubifs_wbuf_seek_nolock()
574 ubifs_assert(offs >= 0 && offs <= c->leb_size); in ubifs_wbuf_seek_nolock()
575 ubifs_assert(offs % c->min_io_size == 0 && !(offs & 7)); in ubifs_wbuf_seek_nolock()
581 wbuf->offs = offs; in ubifs_wbuf_seek_nolock()
582 if (c->leb_size - wbuf->offs < c->max_write_size) in ubifs_wbuf_seek_nolock()
583 wbuf->size = c->leb_size - wbuf->offs; in ubifs_wbuf_seek_nolock()
584 else if (wbuf->offs & (c->max_write_size - 1)) in ubifs_wbuf_seek_nolock()
585 wbuf->size = ALIGN(wbuf->offs, c->max_write_size) - wbuf->offs; in ubifs_wbuf_seek_nolock()
682 dbg_jhead(wbuf->jhead), wbuf->lnum, wbuf->offs + wbuf->used); in ubifs_wbuf_write_nolock()
684 ubifs_assert(wbuf->offs >= 0 && wbuf->offs % c->min_io_size == 0); in ubifs_wbuf_write_nolock()
685 ubifs_assert(!(wbuf->offs & 7) && wbuf->offs <= c->leb_size); in ubifs_wbuf_write_nolock()
693 if (c->leb_size - wbuf->offs >= c->max_write_size) in ubifs_wbuf_write_nolock()
694 ubifs_assert(!((wbuf->offs + wbuf->size) % c->max_write_size)); in ubifs_wbuf_write_nolock()
696 if (c->leb_size - wbuf->offs - wbuf->used < aligned_len) { in ubifs_wbuf_write_nolock()
715 dbg_jhead(wbuf->jhead), wbuf->lnum, wbuf->offs); in ubifs_wbuf_write_nolock()
717 wbuf->offs, wbuf->size); in ubifs_wbuf_write_nolock()
722 wbuf->offs += wbuf->size; in ubifs_wbuf_write_nolock()
723 if (c->leb_size - wbuf->offs >= c->max_write_size) in ubifs_wbuf_write_nolock()
726 wbuf->size = c->leb_size - wbuf->offs; in ubifs_wbuf_write_nolock()
750 dbg_jhead(wbuf->jhead), wbuf->lnum, wbuf->offs); in ubifs_wbuf_write_nolock()
752 err = ubifs_leb_write(c, wbuf->lnum, wbuf->buf, wbuf->offs, in ubifs_wbuf_write_nolock()
757 wbuf->offs += wbuf->size; in ubifs_wbuf_write_nolock()
761 } else if (wbuf->offs & (c->max_write_size - 1)) { in ubifs_wbuf_write_nolock()
770 wbuf->size, wbuf->lnum, wbuf->offs); in ubifs_wbuf_write_nolock()
771 err = ubifs_leb_write(c, wbuf->lnum, buf, wbuf->offs, in ubifs_wbuf_write_nolock()
776 wbuf->offs += wbuf->size; in ubifs_wbuf_write_nolock()
792 wbuf->offs); in ubifs_wbuf_write_nolock()
794 wbuf->offs, n); in ubifs_wbuf_write_nolock()
797 wbuf->offs += n; in ubifs_wbuf_write_nolock()
812 if (c->leb_size - wbuf->offs >= c->max_write_size) in ubifs_wbuf_write_nolock()
815 wbuf->size = c->leb_size - wbuf->offs; in ubifs_wbuf_write_nolock()
823 int free = c->leb_size - wbuf->offs - wbuf->used; in ubifs_wbuf_write_nolock()
837 len, wbuf->lnum, wbuf->offs, err); in ubifs_wbuf_write_nolock()
859 int offs) in ubifs_write_node() argument
864 lnum, offs, dbg_ntype(((struct ubifs_ch *)buf)->node_type), len, in ubifs_write_node()
866 ubifs_assert(lnum >= 0 && lnum < c->leb_cnt && offs >= 0); in ubifs_write_node()
867 ubifs_assert(offs % c->min_io_size == 0 && offs < c->leb_size); in ubifs_write_node()
875 err = ubifs_leb_write(c, lnum, buf, offs, buf_len); in ubifs_write_node()
898 int lnum, int offs) in ubifs_read_node_wbuf() argument
904 dbg_io("LEB %d:%d, %s, length %d, jhead %s", lnum, offs, in ubifs_read_node_wbuf()
906 ubifs_assert(wbuf && lnum >= 0 && lnum < c->leb_cnt && offs >= 0); in ubifs_read_node_wbuf()
907 ubifs_assert(!(offs & 7) && offs < c->leb_size); in ubifs_read_node_wbuf()
911 overlap = (lnum == wbuf->lnum && offs + len > wbuf->offs); in ubifs_read_node_wbuf()
915 return ubifs_read_node(c, buf, type, len, lnum, offs); in ubifs_read_node_wbuf()
919 rlen = wbuf->offs - offs; in ubifs_read_node_wbuf()
924 memcpy(buf + rlen, wbuf->buf + offs + rlen - wbuf->offs, len - rlen); in ubifs_read_node_wbuf()
929 err = ubifs_leb_read(c, lnum, buf, offs, rlen, 0); in ubifs_read_node_wbuf()
940 err = ubifs_check_node(c, buf, lnum, offs, 0, 0); in ubifs_read_node_wbuf()
955 ubifs_err(c, "bad node at LEB %d:%d", lnum, offs); in ubifs_read_node_wbuf()
975 int lnum, int offs) in ubifs_read_node() argument
980 dbg_io("LEB %d:%d, %s, length %d", lnum, offs, dbg_ntype(type), len); in ubifs_read_node()
981 ubifs_assert(lnum >= 0 && lnum < c->leb_cnt && offs >= 0); in ubifs_read_node()
982 ubifs_assert(len >= UBIFS_CH_SZ && offs + len <= c->leb_size); in ubifs_read_node()
983 ubifs_assert(!(offs & 7) && offs < c->leb_size); in ubifs_read_node()
986 err = ubifs_leb_read(c, lnum, buf, offs, len, 0); in ubifs_read_node()
996 err = ubifs_check_node(c, buf, lnum, offs, 0, 0); in ubifs_read_node()
1012 offs, ubi_is_mapped(c->ubi, lnum)); in ubifs_read_node()
1045 wbuf->lnum = wbuf->offs = -1; in ubifs_wbuf_init()