[PATCH] UBI: block: Use ENOSYS as return value when CONFIG_UBIBLOCK=n

Ezequiel Garcia ezequiel.garcia at free-electrons.com
Tue Mar 4 07:14:47 EST 2014


On Tue, Mar 04, 2014 at 01:49:51PM +0200, Artem Bityutskiy wrote:
> On Tue, 2014-03-04 at 07:57 -0300, Ezequiel Garcia wrote:
> > In order to have a way of distinguishing an invalid ioctl from a
> > not supported (but otherwise valid) ioctl, this commit changes the
> > return value of the ioctl stubs from ENOTTY to ENOSYS.
> 
> Sounds logical, no objections, except it is curious if this is something
> you invented or this is a general rule in the Linux kernel? If it is,
> may be you can point to some discussions, or give some example or other
> source of this knowledge? I just want to be educated a bit. Thanks!
> 

Yes, I think it's a pretty extended kernel practice to return -ENOSYS when
a function is not built or either not implemented.

A good number of headers in include/linux/ use -ENOSYS as the return value
for the !CONFIG_FEATURE stubs.

$ git grep ENOSYS include/linux/  | wc -l
172

And of course, the syscall ABI returns -ENOSYS for unimplemented system calls.
-- 
Ezequiel García, Free Electrons
Embedded Linux, Kernel and Android Engineering
http://free-electrons.com



More information about the linux-mtd mailing list