Lines Matching refs:len
44 static int is_empty(void *buf, int len) in is_empty() argument
49 for (i = 0; i < len; i++) in is_empty()
76 int err, offs, len; in get_master_node() local
90 len = c->leb_size; in get_master_node()
98 len -= sz; in get_master_node()
106 len += sz; in get_master_node()
107 ret = ubifs_scan_a_node(c, buf, len, lnum, offs, 1); in get_master_node()
112 len += sz; in get_master_node()
113 ret = ubifs_scan_a_node(c, buf, len, lnum, offs, 1); in get_master_node()
131 len -= sz; in get_master_node()
136 if (!is_empty(buf, min_t(int, len, sz))) { in get_master_node()
142 len -= sz; in get_master_node()
146 if (!is_empty(buf, len)) in get_master_node()
398 int *offs, int *len) in clean_buf() argument
416 *len -= pad_len; in clean_buf()
431 static int no_more_nodes(const struct ubifs_info *c, void *buf, int len, in no_more_nodes() argument
436 if (len > UBIFS_DATA_NODE_SZ) { in no_more_nodes()
438 int dlen = le32_to_cpu(ch->len); in no_more_nodes()
453 len -= skip; in no_more_nodes()
454 while (len > 8) { in no_more_nodes()
460 ret = ubifs_scan_a_node(c, buf, len, lnum, offs, 1); in no_more_nodes()
468 if (next_offs && offs + le32_to_cpu(ch->len) <= in no_more_nodes()
478 len -= 8; in no_more_nodes()
500 endpt = snod->offs + snod->len; in fix_unclean_leb()
526 int len = ALIGN(endpt, c->min_io_size); in fix_unclean_leb() local
535 if (len > endpt) { in fix_unclean_leb()
536 int pad_len = len - ALIGN(endpt, 8); in fix_unclean_leb()
539 void *buf = sleb->buf + len - pad_len; in fix_unclean_leb()
544 err = ubi_leb_change(c->ubi, lnum, sleb->buf, len, in fix_unclean_leb()
599 int err, len = c->leb_size - offs, need_clean = 0, quiet = 1; in ubifs_recover_leb() local
613 while (len >= 8) { in ubifs_recover_leb()
617 lnum, offs, len); in ubifs_recover_leb()
625 ret = ubifs_scan_a_node(c, buf, len, lnum, offs, quiet); in ubifs_recover_leb()
635 node_len = ALIGN(le32_to_cpu(ch->len), 8); in ubifs_recover_leb()
638 len -= node_len; in ubifs_recover_leb()
646 len -= ret; in ubifs_recover_leb()
651 if (!is_empty(buf, len)) { in ubifs_recover_leb()
654 clean_buf(c, &buf, lnum, &offs, &len); in ubifs_recover_leb()
663 clean_buf(c, &buf, lnum, &offs, &len); in ubifs_recover_leb()
670 if (no_more_nodes(c, buf, len, lnum, offs)) { in ubifs_recover_leb()
671 clean_buf(c, &buf, lnum, &offs, &len); in ubifs_recover_leb()
697 if (!empty_chkd && !is_empty(buf, len)) { in ubifs_recover_leb()
699 clean_buf(c, &buf, lnum, &offs, &len); in ubifs_recover_leb()
711 len = c->leb_size - offs; in ubifs_recover_leb()
712 clean_buf(c, &buf, lnum, &offs, &len); in ubifs_recover_leb()
717 clean_buf(c, &buf, lnum, &offs, &len); in ubifs_recover_leb()
863 int len, err, need_clean = 0; in recover_head() local
866 len = c->min_io_size; in recover_head()
868 len = 512; in recover_head()
869 if (offs + len > c->leb_size) in recover_head()
870 len = c->leb_size - offs; in recover_head()
872 if (!len) in recover_head()
876 err = ubi_read(c->ubi, lnum, sbuf, offs, len); in recover_head()
882 while (len--) in recover_head()
953 int err, lnum = ucleb->lnum, offs = 0, len = ucleb->endpt, quiet = 1; in clean_an_unclean_leb() local
956 dbg_rcvry("LEB %d len %d", lnum, len); in clean_an_unclean_leb()
958 if (len == 0) { in clean_an_unclean_leb()
966 err = ubi_read(c->ubi, lnum, buf, offs, len); in clean_an_unclean_leb()
970 while (len >= 8) { in clean_an_unclean_leb()
976 ret = ubifs_scan_a_node(c, buf, len, lnum, offs, quiet); in clean_an_unclean_leb()
983 node_len = ALIGN(le32_to_cpu(ch->len), 8); in clean_an_unclean_leb()
986 len -= node_len; in clean_an_unclean_leb()
994 len -= ret; in clean_an_unclean_leb()
1015 len = ALIGN(ucleb->endpt, c->min_io_size); in clean_an_unclean_leb()
1016 if (len > ucleb->endpt) { in clean_an_unclean_leb()
1017 int pad_len = len - ALIGN(ucleb->endpt, 8); in clean_an_unclean_leb()
1020 buf = c->sbuf + len - pad_len; in clean_an_unclean_leb()
1026 err = ubi_leb_change(c->ubi, lnum, sbuf, len, UBI_UNKNOWN); in clean_an_unclean_leb()
1402 int err, lnum, offs, len; in fix_size_in_place() local
1425 len = le32_to_cpu(ino->ch.len); in fix_size_in_place()
1426 crc = crc32(UBIFS_CRC32_INIT, (void *)ino + 8, len - 8); in fix_size_in_place()
1430 len = c->leb_size - 1; in fix_size_in_place()
1431 while (p[len] == 0xff) in fix_size_in_place()
1432 len -= 1; in fix_size_in_place()
1433 len = ALIGN(len + 1, c->min_io_size); in fix_size_in_place()
1435 err = ubi_leb_change(c->ubi, lnum, c->sbuf, len, UBI_UNKNOWN); in fix_size_in_place()