Lines Matching refs:req
440 struct ubi_leb_change_req req; in vol_cdev_ioctl() local
442 err = copy_from_user(&req, argp, in vol_cdev_ioctl()
457 if (req.lnum < 0 || req.lnum >= vol->reserved_pebs || in vol_cdev_ioctl()
458 req.bytes < 0 || req.bytes > vol->usable_leb_size) in vol_cdev_ioctl()
465 err = ubi_start_leb_change(ubi, vol, &req); in vol_cdev_ioctl()
466 if (req.bytes == 0) in vol_cdev_ioctl()
505 struct ubi_map_req req; in vol_cdev_ioctl() local
507 err = copy_from_user(&req, argp, sizeof(struct ubi_map_req)); in vol_cdev_ioctl()
512 err = ubi_leb_map(desc, req.lnum); in vol_cdev_ioctl()
547 struct ubi_set_vol_prop_req req; in vol_cdev_ioctl() local
549 err = copy_from_user(&req, argp, in vol_cdev_ioctl()
555 switch (req.property) { in vol_cdev_ioctl()
558 desc->vol->direct_writes = !!req.value; in vol_cdev_ioctl()
603 const struct ubi_mkvol_req *req) in verify_mkvol_req() argument
607 if (req->bytes < 0 || req->alignment < 0 || req->vol_type < 0 || in verify_mkvol_req()
608 req->name_len < 0) in verify_mkvol_req()
611 if ((req->vol_id < 0 || req->vol_id >= ubi->vtbl_slots) && in verify_mkvol_req()
612 req->vol_id != UBI_VOL_NUM_AUTO) in verify_mkvol_req()
615 if (req->alignment == 0) in verify_mkvol_req()
618 if (req->bytes == 0) in verify_mkvol_req()
621 if (req->vol_type != UBI_DYNAMIC_VOLUME && in verify_mkvol_req()
622 req->vol_type != UBI_STATIC_VOLUME) 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()
629 if (req->alignment != 1 && n) in verify_mkvol_req()
632 if (!req->name[0] || !req->name_len) in verify_mkvol_req()
635 if (req->name_len > UBI_VOL_NAME_MAX) { in verify_mkvol_req()
640 n = strnlen(req->name, req->name_len + 1); in verify_mkvol_req()
641 if (n != req->name_len) in verify_mkvol_req()
648 ubi_dump_mkvol_req(req); in verify_mkvol_req()
660 const struct ubi_rsvol_req *req) in verify_rsvol_req() argument
662 if (req->bytes <= 0) in verify_rsvol_req()
665 if (req->vol_id < 0 || req->vol_id >= ubi->vtbl_slots) in verify_rsvol_req()
682 struct ubi_rnvol_req *req) in rename_volumes() argument
688 if (req->count < 0 || req->count > UBI_MAX_RNVOL) in rename_volumes()
691 if (req->count == 0) in rename_volumes()
695 for (i = 0; i < req->count; i++) { in rename_volumes()
696 if (req->ents[i].vol_id < 0 || in rename_volumes()
697 req->ents[i].vol_id >= ubi->vtbl_slots) in rename_volumes()
699 if (req->ents[i].name_len < 0) in rename_volumes()
701 if (req->ents[i].name_len > UBI_VOL_NAME_MAX) in rename_volumes()
703 req->ents[i].name[req->ents[i].name_len] = '\0'; in rename_volumes()
704 n = strlen(req->ents[i].name); in rename_volumes()
705 if (n != req->ents[i].name_len) in rename_volumes()
710 for (i = 0; i < req->count - 1; i++) { in rename_volumes()
711 for (n = i + 1; n < req->count; n++) { in rename_volumes()
712 if (req->ents[i].vol_id == req->ents[n].vol_id) { in rename_volumes()
714 req->ents[i].vol_id); in rename_volumes()
717 if (!strcmp(req->ents[i].name, req->ents[n].name)) { in rename_volumes()
719 req->ents[i].name); in rename_volumes()
727 for (i = 0; i < req->count; i++) { in rename_volumes()
728 int vol_id = req->ents[i].vol_id; in rename_volumes()
729 int name_len = req->ents[i].name_len; in rename_volumes()
730 const char *name = req->ents[i].name; in rename_volumes()
852 struct ubi_mkvol_req req; in ubi_cdev_ioctl() local
855 err = copy_from_user(&req, argp, sizeof(struct ubi_mkvol_req)); in ubi_cdev_ioctl()
861 err = verify_mkvol_req(ubi, &req); in ubi_cdev_ioctl()
866 err = ubi_create_volume(ubi, &req); in ubi_cdev_ioctl()
871 err = put_user(req.vol_id, (__user int32_t *)argp); in ubi_cdev_ioctl()
913 struct ubi_rsvol_req req; in ubi_cdev_ioctl() local
916 err = copy_from_user(&req, argp, sizeof(struct ubi_rsvol_req)); 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()
932 pebs = div_u64(req.bytes + desc->vol->usable_leb_size - 1, in ubi_cdev_ioctl()
945 struct ubi_rnvol_req *req; in ubi_cdev_ioctl() local
948 req = kmalloc(sizeof(struct ubi_rnvol_req), GFP_KERNEL); in ubi_cdev_ioctl()
949 if (!req) { in ubi_cdev_ioctl()
954 err = copy_from_user(req, argp, sizeof(struct ubi_rnvol_req)); in ubi_cdev_ioctl()
957 kfree(req); in ubi_cdev_ioctl()
961 err = rename_volumes(ubi, req); in ubi_cdev_ioctl()
962 kfree(req); in ubi_cdev_ioctl()
988 struct ubi_attach_req req; in ctrl_cdev_ioctl() local
992 err = copy_from_user(&req, argp, sizeof(struct ubi_attach_req)); in ctrl_cdev_ioctl()
998 if (req.mtd_num < 0 || in ctrl_cdev_ioctl()
999 (req.ubi_num < 0 && req.ubi_num != UBI_DEV_NUM_AUTO)) { in ctrl_cdev_ioctl()
1004 mtd = get_mtd_device(NULL, req.mtd_num); in ctrl_cdev_ioctl()
1015 err = ubi_attach_mtd_dev(mtd, req.ubi_num, req.vid_hdr_offset, in ctrl_cdev_ioctl()
1016 req.max_beb_per1024); in ctrl_cdev_ioctl()