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

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

 



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)) {
+           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




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

  Powered by Linux