Lines Matching refs:ubi

48 static int set_update_marker(struct ubi_device *ubi, struct ubi_volume *vol)  in set_update_marker()  argument
56 ubi_assert(ubi->vtbl[vol->vol_id].upd_marker); in set_update_marker()
61 vtbl_rec = ubi->vtbl[vol->vol_id]; in set_update_marker()
64 mutex_lock(&ubi->device_mutex); in set_update_marker()
65 err = ubi_change_vtbl_record(ubi, vol->vol_id, &vtbl_rec); in set_update_marker()
67 mutex_unlock(&ubi->device_mutex); in set_update_marker()
81 static int clear_update_marker(struct ubi_device *ubi, struct ubi_volume *vol, in clear_update_marker() argument
89 vtbl_rec = ubi->vtbl[vol->vol_id]; in clear_update_marker()
104 mutex_lock(&ubi->device_mutex); in clear_update_marker()
105 err = ubi_change_vtbl_record(ubi, vol->vol_id, &vtbl_rec); in clear_update_marker()
107 mutex_unlock(&ubi->device_mutex); in clear_update_marker()
121 int ubi_start_update(struct ubi_device *ubi, struct ubi_volume *vol, in ubi_start_update() argument
130 vol->upd_buf = vmalloc(ubi->leb_size); in ubi_start_update()
134 err = set_update_marker(ubi, vol); in ubi_start_update()
140 err = ubi_eba_unmap_leb(ubi, vol, i); in ubi_start_update()
146 err = ubi_wl_flush(ubi, UBI_ALL, UBI_ALL); in ubi_start_update()
150 err = clear_update_marker(ubi, vol, 0); in ubi_start_update()
175 int ubi_start_leb_change(struct ubi_device *ubi, struct ubi_volume *vol, in ubi_start_leb_change() argument
183 return ubi_eba_atomic_leb_change(ubi, vol, req->lnum, NULL, 0); in ubi_start_leb_change()
226 static int write_leb(struct ubi_device *ubi, struct ubi_volume *vol, int lnum, in write_leb() argument
232 int l = ALIGN(len, ubi->min_io_size); in write_leb()
235 len = ubi_calc_data_len(ubi, buf, l); in write_leb()
241 err = ubi_eba_write_leb(ubi, vol, lnum, buf, 0, len); in write_leb()
253 err = ubi_eba_write_leb_st(ubi, vol, lnum, buf, len, used_ebs); in write_leb()
272 int ubi_more_update_data(struct ubi_device *ubi, struct ubi_volume *vol, in ubi_more_update_data() argument
285 if (ubi->ro_mode) in ubi_more_update_data()
321 err = write_leb(ubi, vol, lnum, vol->upd_buf, flush_len, in ubi_more_update_data()
349 err = write_leb(ubi, vol, lnum, vol->upd_buf, in ubi_more_update_data()
363 err = ubi_wl_flush(ubi, UBI_ALL, UBI_ALL); in ubi_more_update_data()
367 err = clear_update_marker(ubi, vol, vol->upd_bytes); in ubi_more_update_data()
392 int ubi_more_leb_change_data(struct ubi_device *ubi, struct ubi_volume *vol, in ubi_more_leb_change_data() argument
400 if (ubi->ro_mode) in ubi_more_leb_change_data()
413 int len = ALIGN((int)vol->upd_bytes, ubi->min_io_size); in ubi_more_leb_change_data()
417 len = ubi_calc_data_len(ubi, vol->upd_buf, len); in ubi_more_leb_change_data()
418 err = ubi_eba_atomic_leb_change(ubi, vol, vol->ch_lnum, in ubi_more_leb_change_data()