]> Git Repo - linux.git/commitdiff
cifs: update super_operations to show_devname
authorSteve French <[email protected]>
Tue, 15 Dec 2020 02:08:10 +0000 (20:08 -0600)
committerSteve French <[email protected]>
Tue, 15 Dec 2020 21:12:51 +0000 (15:12 -0600)
This is needed so that we display the correct //server/share vs
\\server\share in /proc/mounts for the device name (in the new
mount API).

Signed-off-by: Steve French <[email protected]>
Reviewed-by: Shyam Prasad N <[email protected]>
fs/cifs/cifsfs.c

index 4c385eeecc051c3d854b24b62df265769a7121df..a19387fe8b47492146e204276294165bcfb0c2ec 100644 (file)
@@ -462,6 +462,25 @@ cifs_show_cache_flavor(struct seq_file *s, struct cifs_sb_info *cifs_sb)
                seq_puts(s, "loose");
 }
 
+/*
+ * cifs_show_devname() is used so we show the mount device name with correct
+ * format (e.g. forward slashes vs. back slashes) in /proc/mounts
+ */
+static int cifs_show_devname(struct seq_file *m, struct dentry *root)
+{
+       struct cifs_sb_info *cifs_sb = CIFS_SB(root->d_sb);
+       char *devname = kstrdup(cifs_sb->ctx->UNC, GFP_KERNEL);
+
+       if (devname == NULL)
+               seq_puts(m, "none");
+       else {
+               convert_delimiter(devname, '/');
+               seq_puts(m, devname);
+               kfree(devname);
+       }
+       return 0;
+}
+
 /*
  * cifs_show_options() is for displaying mount options in /proc/mounts.
  * Not all settable options are displayed but most of the important
@@ -695,6 +714,8 @@ static const struct super_operations cifs_super_ops = {
        .free_inode = cifs_free_inode,
        .drop_inode     = cifs_drop_inode,
        .evict_inode    = cifs_evict_inode,
+/*     .show_path      = cifs_show_path, */ /* Would we ever need show path? */
+       .show_devname   = cifs_show_devname,
 /*     .delete_inode   = cifs_delete_inode,  */  /* Do not need above
        function unless later we add lazy close of inodes or unless the
        kernel forgets to call us with the same number of releases (closes)
This page took 0.055927 seconds and 4 git commands to generate.