Hello Giorgio, Am Mittwoch, den 05.10.2016, 15:23 +0200 schrieb [email protected]: > Hi, > > I noticed that the commit id c087e0804f0290e9886899e8a3cccb07c4ce088b flagged > static > UBI volumes as DEVFS_IS_CHARACTER_DEV. > > A consequence of this flag is that commands like: > > # cp /dev/nand0.ubi_volumes.ubi.my_static_vol file > > will not work because the cp command will see a src file (the static UBI > volume) with a size > of -1 (FILE_SIZE_STREAM) and keep on reading from the volume until a flood of > "UBI assert failed in ubi_eba_read_leb at 359" asserts comes out of the > console. > > I tried to comment out the flag assignment, just to see what happen: > > int ubi_volume_cdev_add(struct ubi_device *ubi, struct ubi_volume *vol) > { > ... > cdev->size = vol->used_bytes; > > // if (vol->vol_type == UBI_STATIC_VOLUME) > // cdev->flags = DEVFS_IS_CHARACTER_DEV; > > cdev->dev = &vol->dev; > ... > > and then the cp command worked than as expected. > > Could someone shortly confirm that the DEVFS_IS_CHARACTER_DEV flag for static > UBI volumes > is really needed (to avoid some other problems that my superficial test does > not triggers) ?
the size of a static ubi volume device is equal to the image size you flashed. When you create a new static ubi volume the size is 0, as it is empty. We need the chardev flag to be able to update the static ubi volume or barebox will complain that there is not enough space. Regards, Teresa > > giorgio > > > Giorgio, [email protected] > > _______________________________________________ > barebox mailing list > [email protected] > http://lists.infradead.org/mailman/listinfo/barebox _______________________________________________ barebox mailing list [email protected] http://lists.infradead.org/mailman/listinfo/barebox
