True, to be more precise, the GNU C library has it in the sysdeps/unix/mkdir.c file:
[..]
char *cmd = __alloca (80 + strlen (path));
(mkdir command line parsing)
status = system (cmd);
[..]
That's right, it just relays. I'm not sure how it gets to the kernel. I suspect with a system call somewhere.
What I know is that it arrives in the kernel, in the fs source files: namei.c for the vfs part and <fs-name>/namei.c for filesystem specific implementations (that are called by the vfs code in the end, I guess).
Ps. Feel free to correct me. I only concluded this by poking around the sources a bit, not into kernel development myself.
That's a fallback mechanism, used by glibc on any "unix" system that doesn't have a more specific implementation deeper in the sysdeps/ hierarchy (there's a Linux one that defers to the syscall somewhere in there).
[..] char *cmd = __alloca (80 + strlen (path)); (mkdir command line parsing) status = system (cmd); [..]
That's right, it just relays. I'm not sure how it gets to the kernel. I suspect with a system call somewhere.
What I know is that it arrives in the kernel, in the fs source files: namei.c for the vfs part and <fs-name>/namei.c for filesystem specific implementations (that are called by the vfs code in the end, I guess).
Ps. Feel free to correct me. I only concluded this by poking around the sources a bit, not into kernel development myself.