Re: [PATCH resubmit 1/1] Add additional error text for missing mount.cifs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 23 Apr 2014 14:40:56 -0400
Mike Pagano <mpagano@xxxxxxxxxx> wrote:

> If a cifs mount is attempted without mount.cifs present on the
> system the following appears via dmesg:
> 
> [   25.949378] CIFS VFS: No username specified
> 
> The purpose of this patch is to better inform the user of the
> possible cause of the error and show a potential solution.
> 
> The output for this error condition will look approximately like this:
> 
> [   11.183392] CIFS VFS: No username specified. Could not find 
> /sbin/mount.cifs. Please ensure your system has this userspace program
> installed.
> 
> Signed-off-by: Mike Pagano <mpagano@xxxxxxxxxx>
> ---
>  fs/cifs/connect.c | 11 ++++++++++-
>  1 file changed, 10 insertions(+), 1 deletion(-)
> 
> diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c
> index 8813ff7..2091709 100644
> --- a/fs/cifs/connect.c
> +++ b/fs/cifs/connect.c
> @@ -3359,6 +3359,7 @@ cifs_setup_volume_info(struct smb_vol *volume_info, char *mount_data,
>             const char *devname)
>  {
>     int rc = 0;
> +   struct path path;
> 
>     if (cifs_parse_mount_options(mount_data, devname, volume_info))
>         return -EINVAL;
> @@ -3371,7 +3372,15 @@ cifs_setup_volume_info(struct smb_vol *volume_info, char *mount_data,
>         /* BB fixme parse for domain name here */
>         cifs_dbg(FYI, "Username: %s\n", volume_info->username);
>     } else {
> -       cifs_dbg(VFS, "No username specified\n");
> +   /* As an extra step, check for missing /sbin/mount.cifs. Append
> +      to error message as we cannot guarantee the location of this
> +      binary in userspace */
> +       if (kern_path("/sbin/mount.cifs", 0, &path)) {

Ugh, no -- a pathwalk has no business here, IMO.

> +           cifs_dbg(VFS, "No username specified. Could not find /sbin/mount.cifs. Please ensure your system has this userspace program installed.\n");
> +       }
> +       else {
> +           cifs_dbg(VFS, "No username specified\n");
> +       }
>     /* In userspace mount helper we can get user name from alternate
>        locations such as env variables and files on disk */
>         return -EINVAL;
> --
> 1.8.3.2
> --
> To unsubscribe from this list: send the line "unsubscribe linux-cifs" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

I dunno. This doesn't seem like it's fixing a real problem to me.

While we highly recommend that people use the mount helper. It's not
specifically *required* per-se. If you can roll up the right mount
options and hand them to the kernel then there's no real problem.

If you really want this sort of warning, why not put it
into /bin/mount? Then you could even output the warning message to the
terminal instead of the kernel's ring buffer.

-- 
Jeff Layton <jlayton@xxxxxxxxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-cifs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux