Lines Matching refs:offs

87 int ubifs_leb_read(const struct ubifs_info *c, int lnum, void *buf, int offs,  in ubifs_leb_read()  argument
92 err = ubi_read(c->ubi, lnum, buf, offs, len); in ubifs_leb_read()
99 len, lnum, offs, err); in ubifs_leb_read()
105 int ubifs_leb_write(struct ubifs_info *c, int lnum, const void *buf, int offs, in ubifs_leb_write() argument
114 err = ubi_leb_write(c->ubi, lnum, buf, offs, len); in ubifs_leb_write()
116 err = dbg_leb_write(c, lnum, buf, offs, len); in ubifs_leb_write()
119 len, lnum, offs, err); in ubifs_leb_write()
226 int offs, int quiet, int must_chk_crc) in ubifs_check_node() argument
232 ubifs_assert(c, lnum >= 0 && lnum < c->leb_cnt && offs >= 0); in ubifs_check_node()
233 ubifs_assert(c, !(offs & 7) && offs < c->leb_size); in ubifs_check_node()
252 if (node_len + offs > c->leb_size) in ubifs_check_node()
285 ubifs_err(c, "bad node at LEB %d:%d", lnum, offs); in ubifs_check_node()
289 int safe_len = min3(node_len, c->leb_size - offs, in ubifs_check_node()
559 wbuf->lnum, wbuf->offs, wbuf->used, dbg_jhead(wbuf->jhead)); in ubifs_wbuf_sync_nolock()
561 ubifs_assert(c, wbuf->offs + wbuf->size <= c->leb_size); in ubifs_wbuf_sync_nolock()
566 if (c->leb_size - wbuf->offs >= c->max_write_size) in ubifs_wbuf_sync_nolock()
567 ubifs_assert(c, !((wbuf->offs + wbuf->size) % c->max_write_size)); in ubifs_wbuf_sync_nolock()
580 err = ubifs_leb_write(c, wbuf->lnum, wbuf->buf, wbuf->offs, sync_len); in ubifs_wbuf_sync_nolock()
585 wbuf->offs += sync_len; in ubifs_wbuf_sync_nolock()
596 if (c->leb_size - wbuf->offs < c->max_write_size) in ubifs_wbuf_sync_nolock()
597 wbuf->size = c->leb_size - wbuf->offs; in ubifs_wbuf_sync_nolock()
598 else if (wbuf->offs & (c->max_write_size - 1)) in ubifs_wbuf_sync_nolock()
599 wbuf->size = ALIGN(wbuf->offs, c->max_write_size) - wbuf->offs; in ubifs_wbuf_sync_nolock()
609 c->leb_size - wbuf->offs, dirt); in ubifs_wbuf_sync_nolock()
623 int ubifs_wbuf_seek_nolock(struct ubifs_wbuf *wbuf, int lnum, int offs) in ubifs_wbuf_seek_nolock() argument
627 dbg_io("LEB %d:%d, jhead %s", lnum, offs, dbg_jhead(wbuf->jhead)); in ubifs_wbuf_seek_nolock()
629 ubifs_assert(c, offs >= 0 && offs <= c->leb_size); in ubifs_wbuf_seek_nolock()
630 ubifs_assert(c, offs % c->min_io_size == 0 && !(offs & 7)); in ubifs_wbuf_seek_nolock()
636 wbuf->offs = offs; in ubifs_wbuf_seek_nolock()
637 if (c->leb_size - wbuf->offs < c->max_write_size) in ubifs_wbuf_seek_nolock()
638 wbuf->size = c->leb_size - wbuf->offs; in ubifs_wbuf_seek_nolock()
639 else if (wbuf->offs & (c->max_write_size - 1)) in ubifs_wbuf_seek_nolock()
640 wbuf->size = ALIGN(wbuf->offs, c->max_write_size) - wbuf->offs; in ubifs_wbuf_seek_nolock()
737 dbg_jhead(wbuf->jhead), wbuf->lnum, wbuf->offs + wbuf->used); in ubifs_wbuf_write_nolock()
739 ubifs_assert(c, wbuf->offs >= 0 && wbuf->offs % c->min_io_size == 0); in ubifs_wbuf_write_nolock()
740 ubifs_assert(c, !(wbuf->offs & 7) && wbuf->offs <= c->leb_size); in ubifs_wbuf_write_nolock()
748 if (c->leb_size - wbuf->offs >= c->max_write_size) in ubifs_wbuf_write_nolock()
749 ubifs_assert(c, !((wbuf->offs + wbuf->size) % c->max_write_size)); in ubifs_wbuf_write_nolock()
751 if (c->leb_size - wbuf->offs - wbuf->used < aligned_len) { in ubifs_wbuf_write_nolock()
774 dbg_jhead(wbuf->jhead), wbuf->lnum, wbuf->offs); in ubifs_wbuf_write_nolock()
776 wbuf->offs, wbuf->size); in ubifs_wbuf_write_nolock()
781 wbuf->offs += wbuf->size; in ubifs_wbuf_write_nolock()
782 if (c->leb_size - wbuf->offs >= c->max_write_size) in ubifs_wbuf_write_nolock()
785 wbuf->size = c->leb_size - wbuf->offs; in ubifs_wbuf_write_nolock()
809 dbg_jhead(wbuf->jhead), wbuf->lnum, wbuf->offs); in ubifs_wbuf_write_nolock()
811 err = ubifs_leb_write(c, wbuf->lnum, wbuf->buf, wbuf->offs, in ubifs_wbuf_write_nolock()
816 wbuf->offs += wbuf->size; in ubifs_wbuf_write_nolock()
820 } else if (wbuf->offs & (c->max_write_size - 1)) { in ubifs_wbuf_write_nolock()
829 wbuf->size, wbuf->lnum, wbuf->offs); in ubifs_wbuf_write_nolock()
830 err = ubifs_leb_write(c, wbuf->lnum, buf, wbuf->offs, in ubifs_wbuf_write_nolock()
835 wbuf->offs += wbuf->size; in ubifs_wbuf_write_nolock()
852 wbuf->offs); in ubifs_wbuf_write_nolock()
858 wbuf->offs, m); in ubifs_wbuf_write_nolock()
861 wbuf->offs += m; in ubifs_wbuf_write_nolock()
879 err = ubifs_leb_write(c, wbuf->lnum, wbuf->buf, wbuf->offs, n); in ubifs_wbuf_write_nolock()
882 wbuf->offs += n; in ubifs_wbuf_write_nolock()
902 if (c->leb_size - wbuf->offs >= c->max_write_size) in ubifs_wbuf_write_nolock()
905 wbuf->size = c->leb_size - wbuf->offs; in ubifs_wbuf_write_nolock()
913 int free = c->leb_size - wbuf->offs - wbuf->used; in ubifs_wbuf_write_nolock()
927 len, wbuf->lnum, wbuf->offs, err); in ubifs_wbuf_write_nolock()
950 int offs, int hmac_offs) in ubifs_write_node_hmac() argument
955 lnum, offs, dbg_ntype(((struct ubifs_ch *)buf)->node_type), len, in ubifs_write_node_hmac()
957 ubifs_assert(c, lnum >= 0 && lnum < c->leb_cnt && offs >= 0); in ubifs_write_node_hmac()
958 ubifs_assert(c, offs % c->min_io_size == 0 && offs < c->leb_size); in ubifs_write_node_hmac()
969 err = ubifs_leb_write(c, lnum, buf, offs, buf_len); in ubifs_write_node_hmac()
991 int offs) in ubifs_write_node() argument
993 return ubifs_write_node_hmac(c, buf, len, lnum, offs, -1); in ubifs_write_node()
1012 int lnum, int offs) in ubifs_read_node_wbuf() argument
1018 dbg_io("LEB %d:%d, %s, length %d, jhead %s", lnum, offs, in ubifs_read_node_wbuf()
1020 ubifs_assert(c, wbuf && lnum >= 0 && lnum < c->leb_cnt && offs >= 0); in ubifs_read_node_wbuf()
1021 ubifs_assert(c, !(offs & 7) && offs < c->leb_size); in ubifs_read_node_wbuf()
1025 overlap = (lnum == wbuf->lnum && offs + len > wbuf->offs); in ubifs_read_node_wbuf()
1029 return ubifs_read_node(c, buf, type, len, lnum, offs); in ubifs_read_node_wbuf()
1033 rlen = wbuf->offs - offs; in ubifs_read_node_wbuf()
1038 memcpy(buf + rlen, wbuf->buf + offs + rlen - wbuf->offs, len - rlen); in ubifs_read_node_wbuf()
1043 err = ubifs_leb_read(c, lnum, buf, offs, rlen, 0); in ubifs_read_node_wbuf()
1054 err = ubifs_check_node(c, buf, lnum, offs, 0, 0); in ubifs_read_node_wbuf()
1069 ubifs_err(c, "bad node at LEB %d:%d", lnum, offs); in ubifs_read_node_wbuf()
1089 int lnum, int offs) in ubifs_read_node() argument
1094 dbg_io("LEB %d:%d, %s, length %d", lnum, offs, dbg_ntype(type), len); in ubifs_read_node()
1095 ubifs_assert(c, lnum >= 0 && lnum < c->leb_cnt && offs >= 0); in ubifs_read_node()
1096 ubifs_assert(c, len >= UBIFS_CH_SZ && offs + len <= c->leb_size); in ubifs_read_node()
1097 ubifs_assert(c, !(offs & 7) && offs < c->leb_size); in ubifs_read_node()
1100 err = ubifs_leb_read(c, lnum, buf, offs, len, 0); in ubifs_read_node()
1110 err = ubifs_check_node(c, buf, lnum, offs, 0, 0); in ubifs_read_node()
1126 offs, ubi_is_mapped(c->ubi, lnum)); in ubifs_read_node()
1159 wbuf->lnum = wbuf->offs = -1; in ubifs_wbuf_init()