Re: [PATCH 07/14] Implement fsopen() to prepare for a mount
From: David Howells
Date: Thu May 11 2017 - 10:30:57 EST
Sargun Dhillon <sargun@xxxxxxxxx> wrote:
> Instead of string based configuration, does it perhaps make sense to
> pass in structured mount data? Something like:
I don't think it helps particularly.
> enum mount_command_id {
> MOUNT_OPTION_STR,
> MOUNT_SET_USER_NS
> };
>
> struct mount_attr {
> __u64 command_id;
> union {
> char option_str[4095];
> char mount_source[PATH_MAX];
Why limit the option size to 4096? I can see situations where it might be
necessary to hand in a bigger blob - giving cifs a Microsoft Kerberos PAC for
example.
> struct {
> __u32 user_ns_fd
There are more than just that namespace that could be relevant.
> }
> }
> }
>
> It seems a lot less error prone to me.
Not really. The only real difference is how one selects what action is
intended and how one determines the length. write() has a length parameter.
David