Hi, I have some code to use the new mount API from user space. The kernel changes are just making the code use the fs_context logging feature. The sample userspace prog (fsopen.c) is just a PoC showing how mounting is done and how the mount errors are read. If you change the prog to use a wrong version for example (vers=4.0) you get this: $ gcc -o fsopen fsopen.c $ ./fsopen fsconfig(sfd, FSCONFIG_SET_STRING, "vers", "4.0", 0): Invalid argument kernel mount errors: e Unknown vers= option specified: 4.0 There are some cons to using this API, mainly that mount.cifs will have to encode more knowledge and processing of the user-provided option before passing it to the kernel. Where previously we would pass most options as-is to the kernel, making it easier to add new ones without patching mount.cifs; we know have to know if the option is a key=string, or key=int, or boolean (key/nokey) and call the appropriate FSCONFIG_SET_{STRING,FLAG,PATH,...}. The pros are that we process one option at a time and we can fail early with verbose, helpful messages to the user.