Re: [RFC/PATCH 0/5] read/write on attribute w/o show/store should return -ENOSYS

From: Chris Wright
Date: Thu Apr 28 2005 - 12:41:40 EST


* Greg KH (gregkh@xxxxxxx) wrote:
> On Thu, Apr 28, 2005 at 12:30:09AM -0500, Dmitry Torokhov wrote:
> > Hi,
> >
> > Jean Delvare has noticed that if a driver happens to declare its
> > attribute as RW but doesn't provide store() method attempt to write
> > into such attribute will cause spinning process as most of the
> > attribute implementations return 0 in case of missing store causing
> > endless retries. In some cases missing show/store will return -EPERM,
> > -EACCESS or -EINVAL.
> >
> > I think we should unify implementations and have them all return -ENOSYS
> > (function not implemented) when corresponding method (show/store) is
> > missing.
>
> What is the POSIX standard for this? ENOSYS or EACCESS?

SuSv3 suggests EBADF, however we already do EINVAL at VFS for no write
op. Although, returning 0 (i.e. wrote zero bytes) is still meaningful
too.

> Or anyone have a link that I can look this up at?

http://www.opengroup.org/onlinepubs/000095399/functions/write.html

thanks,
-chris
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/