• Home
  • Raw
  • Download

Lines Matching refs:ubi

36 static struct ubi_device *ubi;  variable
54 static void display_volume_info(struct ubi_device *ubi) in display_volume_info() argument
58 for (i = 0; i < (ubi->vtbl_slots + 1); i++) { in display_volume_info()
59 if (!ubi->volumes[i]) in display_volume_info()
61 ubi_dump_vol_info(ubi->volumes[i]); in display_volume_info()
65 static void display_ubi_info(struct ubi_device *ubi) in display_ubi_info() argument
67 ubi_msg("MTD device name: \"%s\"", ubi->mtd->name); in display_ubi_info()
68 ubi_msg("MTD device size: %llu MiB", ubi->flash_size >> 20); in display_ubi_info()
70 ubi->peb_size, ubi->peb_size >> 10); in display_ubi_info()
71 ubi_msg("logical eraseblock size: %d bytes", ubi->leb_size); in display_ubi_info()
72 ubi_msg("number of good PEBs: %d", ubi->good_peb_count); in display_ubi_info()
73 ubi_msg("number of bad PEBs: %d", ubi->bad_peb_count); in display_ubi_info()
74 ubi_msg("smallest flash I/O unit: %d", ubi->min_io_size); in display_ubi_info()
76 ubi->vid_hdr_offset, ubi->vid_hdr_aloffset); in display_ubi_info()
77 ubi_msg("data offset: %d", ubi->leb_start); in display_ubi_info()
78 ubi_msg("max. allowed volumes: %d", ubi->vtbl_slots); in display_ubi_info()
82 ubi->vol_count - UBI_INT_VOL_COUNT); in display_ubi_info()
83 ubi_msg("available PEBs: %d", ubi->avail_pebs); in display_ubi_info()
84 ubi_msg("total number of reserved PEBs: %d", ubi->rsvd_pebs); in display_ubi_info()
86 ubi->beb_rsvd_pebs); in display_ubi_info()
87 ubi_msg("max/mean erase counter: %d/%d", ubi->max_ec, ubi->mean_ec); in display_ubi_info()
93 display_volume_info(ubi); in ubi_info()
95 display_ubi_info(ubi); in ubi_info()
109 for (i = 0; i < (ubi->vtbl_slots + 1); i++) { in ubi_check()
110 if (!ubi->volumes[i]) in ubi_check()
113 if (!ubi_check_volumename(ubi->volumes[i], name)) in ubi_check()
121 static int verify_mkvol_req(const struct ubi_device *ubi, in verify_mkvol_req() argument
130 if ((req->vol_id < 0 || req->vol_id >= ubi->vtbl_slots) && in verify_mkvol_req()
147 if (req->alignment > ubi->leb_size) in verify_mkvol_req()
150 n = req->alignment % ubi->min_io_size; in verify_mkvol_req()
184 err = verify_mkvol_req(ubi, &req); in ubi_create_vol()
192 return ubi_create_volume(ubi, &req); in ubi_create_vol()
200 for (i = 0; i < ubi->vtbl_slots; i++) { in ubi_find_volume()
201 vol = ubi->volumes[i]; in ubi_find_volume()
221 if (ubi->ro_mode) { in ubi_remove_vol()
227 err = ubi_change_vtbl_record(ubi, vol->vol_id, NULL); in ubi_remove_vol()
234 err = ubi_eba_unmap_leb(ubi, vol, i); in ubi_remove_vol()
240 ubi->volumes[vol->vol_id]->eba_tbl = NULL; in ubi_remove_vol()
241 ubi->volumes[vol->vol_id] = NULL; in ubi_remove_vol()
243 ubi->rsvd_pebs -= reserved_pebs; in ubi_remove_vol()
244 ubi->avail_pebs += reserved_pebs; in ubi_remove_vol()
245 i = ubi->beb_rsvd_level - ubi->beb_rsvd_pebs; in ubi_remove_vol()
247 i = ubi->avail_pebs >= i ? i : ubi->avail_pebs; in ubi_remove_vol()
248 ubi->avail_pebs -= i; in ubi_remove_vol()
249 ubi->rsvd_pebs += i; in ubi_remove_vol()
250 ubi->beb_rsvd_pebs += i; in ubi_remove_vol()
254 ubi->vol_count -= 1; in ubi_remove_vol()
258 ubi_err(ubi, "cannot remove volume %s, error %d", volume, err); in ubi_remove_vol()
273 err = ubi_more_update_data(ubi, vol, buf, size); in ubi_volume_continue_write()
282 err = ubi_check_volume(ubi, vol->vol_id); in ubi_volume_continue_write()
287 ubi_warn(ubi, "volume %d on UBI device %d is corrupt", in ubi_volume_continue_write()
288 vol->vol_id, ubi->ubi_num); in ubi_volume_continue_write()
310 rsvd_bytes = vol->reserved_pebs * (ubi->leb_size - vol->data_pad); in ubi_volume_begin_write()
316 err = ubi_start_update(ubi, vol, full_size); in ubi_volume_begin_write()
366 tbuf_size = ALIGN(size, ubi->min_io_size); in ubi_volume_read()
382 err = ubi_eba_read_leb(ubi, vol, lnum, tbuf, off, len, 0); in ubi_volume_read()
517 ubi = ubi_devices[0]; in ubi_part()
614 size = (int64_t)ubi->avail_pebs * ubi->leb_size; in do_ubi()
689 ubi, 6, 1, do_ubi,