Hi Giorgio, On Tue, Sep 11, 2018 at 10:33:52PM +0200, Giorgio Dal Molin wrote: > Hi, > > today I've tried barebox v2018.09.0 on an EFI system. > It basically runs but I have problems when writing an fs image file > to a disk partition: > > > cp rootfs.img /dev/disk1.userland > > barebox v2018.09.0 returns a 'no space left on device' error. > > First of all I must ask if this is still the proper way to > write a content to a disk partition. Yes, it is. You found a bug. > > In case this should still work as expected here is a pseudo > backtrace of how the error happens on my system: > > commands/cp.c:do_cp() ret = copy_file(argv[i], argv[argc - 1], verbose); > lib/libfile.c:copy_file() dstfd = open(dst, mode); > fs/fs.c:open() error = fsdrv->truncate(&fsdev->dev, f, 0); > fs/devfs.c: devfs_truncate() > > in the call to devfs_truncate() I see cdev->ops->truncate == NULL > and f->fsdev->dev.num_resources == 0 and this makes the function > return -ENOSPC. > > Hope the report helps identify a problem. Yes, indeed, thanks. The problem was that with the switch to dentry cache implementation the files in /dev/ no longer appear as character devices but as regular files. the copy_file function then does a truncate on the files which fails. I just sent out a patch addressing this issue, please test. I would also recommend to take the second patch although this fixes another issue. Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox