Lines Matching refs:ubi

31 #include "ubi.h"
35 * @ubi: UBI device description object
41 static int set_update_marker(struct ubi_device *ubi, struct ubi_volume *vol)
49 ubi_assert(ubi->vtbl[vol->vol_id].upd_marker);
54 vtbl_rec = ubi->vtbl[vol->vol_id];
57 mutex_lock(&ubi->device_mutex);
58 err = ubi_change_vtbl_record(ubi, vol->vol_id, &vtbl_rec);
60 mutex_unlock(&ubi->device_mutex);
66 * @ubi: UBI device description object
74 static int clear_update_marker(struct ubi_device *ubi, struct ubi_volume *vol,
82 vtbl_rec = ubi->vtbl[vol->vol_id];
97 mutex_lock(&ubi->device_mutex);
98 err = ubi_change_vtbl_record(ubi, vol->vol_id, &vtbl_rec);
100 mutex_unlock(&ubi->device_mutex);
106 * @ubi: UBI device description object
114 int ubi_start_update(struct ubi_device *ubi, struct ubi_volume *vol,
123 vol->upd_buf = vmalloc(ubi->leb_size);
127 err = set_update_marker(ubi, vol);
133 err = ubi_eba_unmap_leb(ubi, vol, i);
138 err = ubi_wl_flush(ubi, UBI_ALL, UBI_ALL);
143 err = clear_update_marker(ubi, vol, 0);
161 * @ubi: UBI device description object
168 int ubi_start_leb_change(struct ubi_device *ubi, struct ubi_volume *vol,
176 return ubi_eba_atomic_leb_change(ubi, vol, req->lnum, NULL, 0);
183 vol->upd_buf = vmalloc(ALIGN((int)req->bytes, ubi->min_io_size));
192 * @ubi: UBI device description object
219 static int write_leb(struct ubi_device *ubi, struct ubi_volume *vol, int lnum,
225 int l = ALIGN(len, ubi->min_io_size);
228 len = ubi_calc_data_len(ubi, buf, l);
234 err = ubi_eba_write_leb(ubi, vol, lnum, buf, 0, len);
246 err = ubi_eba_write_leb_st(ubi, vol, lnum, buf, len, used_ebs);
254 * @ubi: UBI device description object
265 int ubi_more_update_data(struct ubi_device *ubi, struct ubi_volume *vol,
273 if (ubi->ro_mode)
309 err = write_leb(ubi, vol, lnum, vol->upd_buf, flush_len,
337 err = write_leb(ubi, vol, lnum, vol->upd_buf,
351 err = ubi_wl_flush(ubi, UBI_ALL, UBI_ALL);
355 err = clear_update_marker(ubi, vol, vol->upd_bytes);
368 * @ubi: UBI device description object
380 int ubi_more_leb_change_data(struct ubi_device *ubi, struct ubi_volume *vol,
388 if (ubi->ro_mode)
401 int len = ALIGN((int)vol->upd_bytes, ubi->min_io_size);
405 len = ubi_calc_data_len(ubi, vol->upd_buf, len);
406 err = ubi_eba_atomic_leb_change(ubi, vol, vol->ch_lnum,