Lines Matching refs:ubi
62 spin_lock(&vol->ubi->volumes_lock); in get_exclusive()
66 ubi_err(vol->ubi, "%d users for volume %d", users, vol->vol_id); in get_exclusive()
74 spin_unlock(&vol->ubi->volumes_lock); in get_exclusive()
88 spin_lock(&vol->ubi->volumes_lock); in revoke_exclusive()
100 spin_unlock(&vol->ubi->volumes_lock); in revoke_exclusive()
136 vol->ubi->ubi_num, vol->vol_id, desc->mode); in vol_cdev_release()
139 ubi_warn(vol->ubi, "update of volume %d not finished, volume is damaged", in vol_cdev_release()
146 vol->upd_received, vol->upd_bytes, vol->ubi->ubi_num, in vol_cdev_release()
163 ubi_err(vol->ubi, "updating"); in vol_cdev_llseek()
174 struct ubi_device *ubi = desc->vol->ubi; in vol_cdev_fsync() local
178 err = ubi_sync(ubi->ubi_num); in vol_cdev_fsync()
189 struct ubi_device *ubi = vol->ubi; in vol_cdev_read() local
198 ubi_err(vol->ubi, "updating"); in vol_cdev_read()
202 ubi_err(vol->ubi, "damaged volume, update marker is set"); in vol_cdev_read()
216 tbuf_size = ALIGN(count, ubi->min_io_size); in vol_cdev_read()
230 err = ubi_eba_read_leb(ubi, vol, lnum, tbuf, off, len, 0); in vol_cdev_read()
266 struct ubi_device *ubi = vol->ubi; in vol_cdev_direct_write() local
281 if (off & (ubi->min_io_size - 1)) { in vol_cdev_direct_write()
282 ubi_err(ubi, "unaligned position"); in vol_cdev_direct_write()
290 if (count & (ubi->min_io_size - 1)) { in vol_cdev_direct_write()
291 ubi_err(ubi, "unaligned write length"); in vol_cdev_direct_write()
297 tbuf_size = ALIGN(count, ubi->min_io_size); in vol_cdev_direct_write()
316 err = ubi_eba_write_leb(ubi, vol, lnum, tbuf, off, len); in vol_cdev_direct_write()
342 struct ubi_device *ubi = vol->ubi; in vol_cdev_write() local
348 err = ubi_more_update_data(ubi, vol, buf, count); in vol_cdev_write()
350 err = ubi_more_leb_change_data(ubi, vol, buf, count); in vol_cdev_write()
353 ubi_err(ubi, "cannot accept more %zd bytes of data, error %d", in vol_cdev_write()
370 err = ubi_check_volume(ubi, vol->vol_id); in vol_cdev_write()
375 ubi_warn(ubi, "volume %d on UBI device %d is corrupted", in vol_cdev_write()
376 vol->vol_id, ubi->ubi_num); in vol_cdev_write()
380 ubi_volume_notify(ubi, vol, UBI_VOLUME_UPDATED); in vol_cdev_write()
393 struct ubi_device *ubi = vol->ubi; in vol_cdev_ioctl() local
419 ubi->leb_size-vol->data_pad; in vol_cdev_ioctl()
429 err = ubi_start_update(ubi, vol, bytes); in vol_cdev_ioctl()
431 ubi_volume_notify(ubi, vol, UBI_VOLUME_UPDATED); in vol_cdev_ioctl()
465 err = ubi_start_leb_change(ubi, vol, &req); in vol_cdev_ioctl()
494 err = ubi_eba_unmap_leb(ubi, vol, lnum); in vol_cdev_ioctl()
498 err = ubi_wl_flush(ubi, UBI_ALL, UBI_ALL); in vol_cdev_ioctl()
557 mutex_lock(&ubi->device_mutex); in vol_cdev_ioctl()
559 mutex_unlock(&ubi->device_mutex); in vol_cdev_ioctl()
602 static int verify_mkvol_req(const struct ubi_device *ubi, in verify_mkvol_req() argument
611 if ((req->vol_id < 0 || req->vol_id >= ubi->vtbl_slots) && in verify_mkvol_req()
625 if (req->alignment > ubi->leb_size) in verify_mkvol_req()
628 n = req->alignment & (ubi->min_io_size - 1); in verify_mkvol_req()
647 ubi_err(ubi, "bad volume creation request"); in verify_mkvol_req()
659 static int verify_rsvol_req(const struct ubi_device *ubi, in verify_rsvol_req() argument
665 if (req->vol_id < 0 || req->vol_id >= ubi->vtbl_slots) in verify_rsvol_req()
681 static int rename_volumes(struct ubi_device *ubi, in rename_volumes() argument
697 req->ents[i].vol_id >= ubi->vtbl_slots) in rename_volumes()
713 ubi_err(ubi, "duplicated volume id %d", in rename_volumes()
718 ubi_err(ubi, "duplicated volume name \"%s\"", in rename_volumes()
738 re->desc = ubi_open_volume(ubi->ubi_num, vol_id, UBI_METAONLY); in rename_volumes()
741 ubi_err(ubi, "cannot open volume %d, error %d", in rename_volumes()
792 desc = ubi_open_volume_nm(ubi->ubi_num, re->new_name, in rename_volumes()
801 ubi_err(ubi, "cannot open volume \"%s\", error %d", in rename_volumes()
820 mutex_lock(&ubi->device_mutex); in rename_volumes()
821 err = ubi_rename_volumes(ubi, &rename_list); in rename_volumes()
822 mutex_unlock(&ubi->device_mutex); in rename_volumes()
837 struct ubi_device *ubi; in ubi_cdev_ioctl() local
844 ubi = ubi_get_by_major(imajor(file->f_mapping->host)); in ubi_cdev_ioctl()
845 if (!ubi) in ubi_cdev_ioctl()
861 err = verify_mkvol_req(ubi, &req); in ubi_cdev_ioctl()
865 mutex_lock(&ubi->device_mutex); in ubi_cdev_ioctl()
866 err = ubi_create_volume(ubi, &req); in ubi_cdev_ioctl()
867 mutex_unlock(&ubi->device_mutex); in ubi_cdev_ioctl()
890 desc = ubi_open_volume(ubi->ubi_num, vol_id, UBI_EXCLUSIVE); in ubi_cdev_ioctl()
896 mutex_lock(&ubi->device_mutex); in ubi_cdev_ioctl()
898 mutex_unlock(&ubi->device_mutex); in ubi_cdev_ioctl()
922 err = verify_rsvol_req(ubi, &req); in ubi_cdev_ioctl()
926 desc = ubi_open_volume(ubi->ubi_num, req.vol_id, UBI_EXCLUSIVE); in ubi_cdev_ioctl()
935 mutex_lock(&ubi->device_mutex); in ubi_cdev_ioctl()
937 mutex_unlock(&ubi->device_mutex); in ubi_cdev_ioctl()
961 err = rename_volumes(ubi, req); in ubi_cdev_ioctl()
971 ubi_put_device(ubi); in ubi_cdev_ioctl()