static struct selected_dev ubi_dev;
#ifdef CONFIG_CMD_UBIFS
-int ubifs_is_mounted(void);
-void cmd_ubifs_umount(void);
+#include <ubifs_uboot.h>
#endif
static void display_volume_info(struct ubi_device *ubi)
unsigned long long tmp;
struct ubi_volume *vol;
loff_t offp = 0;
+ size_t len_read;
vol = ubi_find_volume(volume);
if (vol == NULL)
size = vol->used_bytes;
}
+ printf("Read %zu bytes from volume %s to %p\n", size, volume, buf);
+
if (vol->corrupted)
printf("read from corrupted volume %d", vol->vol_id);
if (offp + size > vol->used_bytes)
tmp = offp;
off = do_div(tmp, vol->usable_leb_size);
lnum = tmp;
+ len_read = size;
do {
if (off + len >= vol->usable_leb_size)
len = vol->usable_leb_size - off;
len = size > tbuf_size ? tbuf_size : size;
} while (size);
+ if (!size)
+ env_set_hex("filesize", len_read);
+
free(tbuf);
return err;
}
vid_header_offset);
if (err) {
printf("UBI init error %d\n", err);
+ printf("Please check, if the correct MTD partition is used (size big enough?)\n");
ubi_dev.selected = 0;
return err;
}
}
if (argc == 3) {
- printf("Read %lld bytes from volume %s to %lx\n", size,
- argv[3], addr);
-
return ubi_volume_read(argv[3], (char *)addr, size);
}
}