[$] Conventions for extensible system calls

Post Syndicated from original https://lwn.net/Articles/830666/rss

The kernel does not have just one system call to rename a file; instead,
there are three of them: rename(),
renameat(), and renameat2()
. Each was added when the
previous one proved unable to support a new feature. A similar story has
played out with a number of system calls: a feature is needed that doesn’t
fit into the existing interfaces, so a new one is created — again. At the
2020 Linux Plumbers Conference,
Christian Brauner and Aleksa Sarai ran a pair of sessions focused on the
creation of future-proof system calls that can be extended when the need
for new features arises.