Lines Matching refs:lnum

368  * @lnum: logical eraseblock number to read from
375 static int leb_read_sanity_check(struct ubi_volume_desc *desc, int lnum,
382 if (vol_id < 0 || vol_id >= ubi->vtbl_slots || lnum < 0 ||
383 lnum >= vol->used_ebs || offset < 0 || len < 0 ||
391 if (lnum == vol->used_ebs - 1 &&
405 * @lnum: logical eraseblock number to read from
411 * This function reads data from offset @offset of logical eraseblock @lnum and
429 int ubi_leb_read(struct ubi_volume_desc *desc, int lnum, char *buf, int offset,
436 dbg_gen("read %d bytes from LEB %d:%d:%d", len, vol_id, lnum, offset);
438 err = leb_read_sanity_check(desc, lnum, offset, len);
445 err = ubi_eba_read_leb(ubi, vol, lnum, buf, offset, len, check);
459 * @lnum: logical eraseblock number to read from
469 int ubi_leb_read_sg(struct ubi_volume_desc *desc, int lnum, struct ubi_sgl *sgl,
476 dbg_gen("read %d bytes from LEB %d:%d:%d", len, vol_id, lnum, offset);
478 err = leb_read_sanity_check(desc, lnum, offset, len);
485 err = ubi_eba_read_leb_sg(ubi, vol, sgl, lnum, offset, len, check);
499 * @lnum: logical eraseblock number to write to
505 * logical eraseblock @lnum.
521 int ubi_leb_write(struct ubi_volume_desc *desc, int lnum, const void *buf,
528 dbg_gen("write %d bytes to LEB %d:%d:%d", len, vol_id, lnum, offset);
536 if (lnum < 0 || lnum >= vol->reserved_pebs || offset < 0 || len < 0 ||
547 return ubi_eba_write_leb(ubi, vol, lnum, buf, offset, len);
554 * @lnum: logical eraseblock number to change
566 int ubi_leb_change(struct ubi_volume_desc *desc, int lnum, const void *buf,
573 dbg_gen("atomically write %d bytes to LEB %d:%d", len, vol_id, lnum);
581 if (lnum < 0 || lnum >= vol->reserved_pebs || len < 0 ||
591 return ubi_eba_atomic_leb_change(ubi, vol, lnum, buf, len);
598 * @lnum: logical eraseblock number
600 * This function un-maps logical eraseblock @lnum and synchronously erases the
607 int ubi_leb_erase(struct ubi_volume_desc *desc, int lnum)
613 dbg_gen("erase LEB %d:%d", vol->vol_id, lnum);
618 if (lnum < 0 || lnum >= vol->reserved_pebs)
624 err = ubi_eba_unmap_leb(ubi, vol, lnum);
628 return ubi_wl_flush(ubi, vol->vol_id, lnum);
635 * @lnum: logical eraseblock number
637 * This function un-maps logical eraseblock @lnum and schedules the
668 int ubi_leb_unmap(struct ubi_volume_desc *desc, int lnum)
673 dbg_gen("unmap LEB %d:%d", vol->vol_id, lnum);
678 if (lnum < 0 || lnum >= vol->reserved_pebs)
684 return ubi_eba_unmap_leb(ubi, vol, lnum);
691 * @lnum: logical eraseblock number
693 * This function maps an un-mapped logical eraseblock @lnum to a physical
695 * function the logical eraseblock @lnum will be empty (contain only %0xFF
704 int ubi_leb_map(struct ubi_volume_desc *desc, int lnum)
709 dbg_gen("unmap LEB %d:%d", vol->vol_id, lnum);
714 if (lnum < 0 || lnum >= vol->reserved_pebs)
720 if (vol->eba_tbl[lnum] >= 0)
723 return ubi_eba_write_leb(ubi, vol, lnum, NULL, 0, 0);
730 * @lnum: logical eraseblock number
732 * This function checks if logical eraseblock @lnum is mapped to a physical
743 int ubi_is_mapped(struct ubi_volume_desc *desc, int lnum)
747 dbg_gen("test LEB %d:%d", vol->vol_id, lnum);
749 if (lnum < 0 || lnum >= vol->reserved_pebs)
755 return vol->eba_tbl[lnum] >= 0;
785 * @lnum: logical eraseblock number to flush for
793 int ubi_flush(int ubi_num, int vol_id, int lnum)
802 err = ubi_wl_flush(ubi, vol_id, lnum);