Re: sysfs: write returns ENOMEM?

Pekka Enberg
2005-08-19T07:39:43Z

Hi Dmitry,

On 8/19/05, Dmitry Torokhov <dtor_core@ameritech.net> wrote:
> According to the SuS write() can not return ENOMEM, only ENOBUFS is allowed
> (surprisingly read() is allowed to use both ENOMEM and ENOBUFS):
>
> http://www.opengroup.org/onlinepubs/000095399/functions/write.html
>
> Should we adjust sysfs write to follow the standard?

Please note that sysfs is not the only one to do this. A quick peek
reveals XFS and CIFS returing ENOMEM for write() and there are
probably others as well. Perhaps we should replace ENOMEM with ENOBUFS
in vfs_write() instead?

linvfs_write
xfs_write
xfs_zero_eof
xfs_zero_last_block
xfs_iozero
-> Returns -ENOMEM

cifs_user_write
cifs_reopen_file
-> Returns -ENOMEM

Pekka