diff options
author | Ahmad Fatoum <a.fatoum@pengutronix.de> | 2023-02-02 14:27:34 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2023-02-03 08:59:51 +0100 |
commit | 0275cbae004d3f8510589d486645cd5d205cc525 (patch) | |
tree | 397787f4ebc953cba84e319efd20fc4910e23b21 /dts/Bindings/sound/fsl,rpmsg.yaml | |
parent | b885cfc731c710eaf1efd55211b4b62fa5ade166 (diff) | |
download | barebox-0275cbae004d3f8510589d486645cd5d205cc525.tar.gz barebox-0275cbae004d3f8510589d486645cd5d205cc525.tar.xz |
fs: align write return codes with POSIX
Writing past end of a file results in a cryptic error code:
barebox@board:/ cp /dev/zero /dev/mmc0.part
write: Operation not permitted
cp: Operation not permitted
Because the cdev's truncate is not implemented and as such partition
can't be increased in size. POSIX specifies EPERM as the correct return
code for truncate(2) in such a situation, but for write(2) it is ENOSPC.
Thus most truncate callbacks in barebox instead return ENOSPC, when
according to POSIX, EPERM would have been the correct error code to
propagate.
Switching all truncate drivers is a bit more involved, so for now let's
treat EPERM and ENOSPC instead when truncate fails to enlarge a file.
Reported-by: Marco Felsch <m.felsch@pengutronix.de>
Reviewed-by: Marco Felsch <m.felsch@pengutronix.de>
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Link: https://lore.barebox.org/20230202132734.314110-1-a.fatoum@pengutronix.de
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'dts/Bindings/sound/fsl,rpmsg.yaml')
0 files changed, 0 insertions, 0 deletions