Re: Why is CONFIG_FHANDLE an option??

From: Al Viro
Date: Fri Jun 10 2011 - 18:40:08 EST


On Sat, Jun 11, 2011 at 12:14:02AM +0200, Jesper Juhl wrote:
> Hello
>
> I just configured a new kernel based on a recent git checkout and when I
> had copied in my old configuration and did a "make oldconfig"I was greeted
> with
>
> open by fhandle syscalls (FHANDLE) [N/y/?] (NEW)
>
> Ok, so I read the help text description and learn that it's about two new
> syscalls - open_by_handle_at(2) and name_to_handle_at(2).
>
> My first thought at this point was "why are new syscalls even an option"?
>
> Syscalls are in my oppinion ABI - having optional syscalls is just about
> as bad as removing a syscall. It basically means that users cannot know if
> the syscall is there and will need to test (it's bad enough having to
> check the kernel version, having to check for specific syscalls as well
> is just, well, annoying at best).
>
> Why are we making these optional?

Why not? Software needs to test *anyway*, since it might run on earlier
kernels. And "does that syscall return -ENOSYS" is self-documenting,
while "is the version higher than $MAGIC_NUMBER" is *not*. Especially since
there's such thing as backports.

If you need to check that syscall is there, _check_ _it_. Don't breed
dependencies on version numbers.
--
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/