Lines Matching refs:desc

57 static int get_exclusive(struct ubi_volume_desc *desc)  in get_exclusive()  argument
60 struct ubi_volume *vol = desc->vol; in get_exclusive()
71 err = desc->mode; in get_exclusive()
72 desc->mode = UBI_EXCLUSIVE; in get_exclusive()
84 static void revoke_exclusive(struct ubi_volume_desc *desc, int mode) in revoke_exclusive() argument
86 struct ubi_volume *vol = desc->vol; in revoke_exclusive()
90 ubi_assert(vol->exclusive == 1 && desc->mode == UBI_EXCLUSIVE); in revoke_exclusive()
102 desc->mode = mode; in revoke_exclusive()
107 struct ubi_volume_desc *desc; in vol_cdev_open() local
122 desc = ubi_open_volume(ubi_num, vol_id, mode); in vol_cdev_open()
123 if (IS_ERR(desc)) in vol_cdev_open()
124 return PTR_ERR(desc); in vol_cdev_open()
126 file->private_data = desc; in vol_cdev_open()
132 struct ubi_volume_desc *desc = file->private_data; in vol_cdev_release() local
133 struct ubi_volume *vol = desc->vol; in vol_cdev_release()
136 vol->ubi->ubi_num, vol->vol_id, desc->mode); in vol_cdev_release()
152 ubi_close_volume(desc); in vol_cdev_release()
158 struct ubi_volume_desc *desc = file->private_data; in vol_cdev_llseek() local
159 struct ubi_volume *vol = desc->vol; in vol_cdev_llseek()
173 struct ubi_volume_desc *desc = file->private_data; in vol_cdev_fsync() local
174 struct ubi_device *ubi = desc->vol->ubi; in vol_cdev_fsync()
187 struct ubi_volume_desc *desc = file->private_data; in vol_cdev_read() local
188 struct ubi_volume *vol = desc->vol; in vol_cdev_read()
264 struct ubi_volume_desc *desc = file->private_data; in vol_cdev_direct_write() local
265 struct ubi_volume *vol = desc->vol; in vol_cdev_direct_write()
340 struct ubi_volume_desc *desc = file->private_data; in vol_cdev_write() local
341 struct ubi_volume *vol = desc->vol; in vol_cdev_write()
366 revoke_exclusive(desc, UBI_READWRITE); in vol_cdev_write()
381 revoke_exclusive(desc, UBI_READWRITE); in vol_cdev_write()
391 struct ubi_volume_desc *desc = file->private_data; in vol_cdev_ioctl() local
392 struct ubi_volume *vol = desc->vol; in vol_cdev_ioctl()
413 if (desc->mode == UBI_READONLY) { in vol_cdev_ioctl()
425 err = get_exclusive(desc); in vol_cdev_ioctl()
432 revoke_exclusive(desc, UBI_READWRITE); in vol_cdev_ioctl()
449 if (desc->mode == UBI_READONLY || in vol_cdev_ioctl()
461 err = get_exclusive(desc); in vol_cdev_ioctl()
467 revoke_exclusive(desc, UBI_READWRITE); in vol_cdev_ioctl()
482 if (desc->mode == UBI_READONLY || in vol_cdev_ioctl()
512 err = ubi_leb_map(desc, req.lnum); in vol_cdev_ioctl()
526 err = ubi_leb_unmap(desc, lnum); in vol_cdev_ioctl()
540 err = ubi_is_mapped(desc, lnum); in vol_cdev_ioctl()
558 desc->vol->direct_writes = !!req.value; in vol_cdev_ioctl()
573 ubi_get_volume_info(desc, &vi); in vol_cdev_ioctl()
583 ubi_get_volume_info(desc, &vi); in vol_cdev_ioctl()
738 re->desc = ubi_open_volume(ubi->ubi_num, vol_id, UBI_METAONLY); in rename_volumes()
739 if (IS_ERR(re->desc)) { in rename_volumes()
740 err = PTR_ERR(re->desc); in rename_volumes()
748 if (re->desc->vol->name_len == name_len && in rename_volumes()
749 !memcmp(re->desc->vol->name, name, name_len)) { in rename_volumes()
750 ubi_close_volume(re->desc); in rename_volumes()
759 vol_id, re->desc->vol->name, name); in rename_volumes()
767 struct ubi_volume_desc *desc; in rename_volumes() local
777 if (re->new_name_len == re1->desc->vol->name_len && in rename_volumes()
778 !memcmp(re->new_name, re1->desc->vol->name, in rename_volumes()
779 re1->desc->vol->name_len)) { in rename_volumes()
792 desc = ubi_open_volume_nm(ubi->ubi_num, re->new_name, in rename_volumes()
794 if (IS_ERR(desc)) { in rename_volumes()
795 err = PTR_ERR(desc); in rename_volumes()
809 ubi_close_volume(desc); in rename_volumes()
814 re1->desc = desc; in rename_volumes()
817 re1->desc->vol->vol_id, re1->desc->vol->name); in rename_volumes()
826 ubi_close_volume(re->desc); in rename_volumes()
838 struct ubi_volume_desc *desc; in ubi_cdev_ioctl() local
890 desc = ubi_open_volume(ubi->ubi_num, vol_id, UBI_EXCLUSIVE); in ubi_cdev_ioctl()
891 if (IS_ERR(desc)) { in ubi_cdev_ioctl()
892 err = PTR_ERR(desc); in ubi_cdev_ioctl()
897 err = ubi_remove_volume(desc, 0); in ubi_cdev_ioctl()
905 ubi_close_volume(desc); in ubi_cdev_ioctl()
926 desc = ubi_open_volume(ubi->ubi_num, req.vol_id, UBI_EXCLUSIVE); in ubi_cdev_ioctl()
927 if (IS_ERR(desc)) { in ubi_cdev_ioctl()
928 err = PTR_ERR(desc); in ubi_cdev_ioctl()
932 pebs = div_u64(req.bytes + desc->vol->usable_leb_size - 1, in ubi_cdev_ioctl()
933 desc->vol->usable_leb_size); in ubi_cdev_ioctl()
936 err = ubi_resize_volume(desc, pebs); in ubi_cdev_ioctl()
938 ubi_close_volume(desc); in ubi_cdev_ioctl()