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()
374 err = ubi_check_volume(ubi, vol->vol_id); in vol_cdev_write()
379 ubi_warn(ubi, "volume %d on UBI device %d is corrupted", in vol_cdev_write()
380 vol->vol_id, ubi->ubi_num); in vol_cdev_write()
384 ubi_volume_notify(ubi, vol, UBI_VOLUME_UPDATED); in vol_cdev_write()
397 struct ubi_device *ubi = vol->ubi; in vol_cdev_ioctl() local
433 err = ubi_start_update(ubi, vol, bytes); in vol_cdev_ioctl()
435 ubi_volume_notify(ubi, vol, UBI_VOLUME_UPDATED); in vol_cdev_ioctl()
469 err = ubi_start_leb_change(ubi, vol, &req); in vol_cdev_ioctl()
498 err = ubi_eba_unmap_leb(ubi, vol, lnum); in vol_cdev_ioctl()
502 err = ubi_wl_flush(ubi, UBI_ALL, UBI_ALL); in vol_cdev_ioctl()
561 mutex_lock(&ubi->device_mutex); in vol_cdev_ioctl()
563 mutex_unlock(&ubi->device_mutex); in vol_cdev_ioctl()
606 static int verify_mkvol_req(const struct ubi_device *ubi, in verify_mkvol_req() argument
615 if ((req->vol_id < 0 || req->vol_id >= ubi->vtbl_slots) && in verify_mkvol_req()
636 if (req->alignment > ubi->leb_size) in verify_mkvol_req()
639 n = req->alignment & (ubi->min_io_size - 1); in verify_mkvol_req()
658 ubi_err(ubi, "bad volume creation request"); in verify_mkvol_req()
670 static int verify_rsvol_req(const struct ubi_device *ubi, in verify_rsvol_req() argument
676 if (req->vol_id < 0 || req->vol_id >= ubi->vtbl_slots) in verify_rsvol_req()
692 static int rename_volumes(struct ubi_device *ubi, in rename_volumes() argument
708 req->ents[i].vol_id >= ubi->vtbl_slots) in rename_volumes()
724 ubi_err(ubi, "duplicated volume id %d", in rename_volumes()
729 ubi_err(ubi, "duplicated volume name \"%s\"", in rename_volumes()
749 re->desc = ubi_open_volume(ubi->ubi_num, vol_id, UBI_METAONLY); in rename_volumes()
752 ubi_err(ubi, "cannot open volume %d, error %d", in rename_volumes()
803 desc = ubi_open_volume_nm(ubi->ubi_num, re->new_name, in rename_volumes()
812 ubi_err(ubi, "cannot open volume \"%s\", error %d", in rename_volumes()
831 mutex_lock(&ubi->device_mutex); in rename_volumes()
832 err = ubi_rename_volumes(ubi, &rename_list); in rename_volumes()
833 mutex_unlock(&ubi->device_mutex); in rename_volumes()
848 struct ubi_device *ubi; in ubi_cdev_ioctl() local
855 ubi = ubi_get_by_major(imajor(file->f_mapping->host)); in ubi_cdev_ioctl()
856 if (!ubi) in ubi_cdev_ioctl()
872 err = verify_mkvol_req(ubi, &req); in ubi_cdev_ioctl()
876 mutex_lock(&ubi->device_mutex); in ubi_cdev_ioctl()
877 err = ubi_create_volume(ubi, &req); in ubi_cdev_ioctl()
878 mutex_unlock(&ubi->device_mutex); in ubi_cdev_ioctl()
901 desc = ubi_open_volume(ubi->ubi_num, vol_id, UBI_EXCLUSIVE); in ubi_cdev_ioctl()
907 mutex_lock(&ubi->device_mutex); in ubi_cdev_ioctl()
909 mutex_unlock(&ubi->device_mutex); in ubi_cdev_ioctl()
933 err = verify_rsvol_req(ubi, &req); in ubi_cdev_ioctl()
937 desc = ubi_open_volume(ubi->ubi_num, req.vol_id, UBI_EXCLUSIVE); in ubi_cdev_ioctl()
946 mutex_lock(&ubi->device_mutex); in ubi_cdev_ioctl()
948 mutex_unlock(&ubi->device_mutex); in ubi_cdev_ioctl()
972 err = rename_volumes(ubi, req); in ubi_cdev_ioctl()
982 ubi_put_device(ubi); in ubi_cdev_ioctl()