mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-26 19:00:25 +00:00
cifs: update super_operations to show_devname
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 <stfrench@microsoft.com> Reviewed-by: Shyam Prasad N <sprasad@microsoft.com>
This commit is contained in:
parent
5c4b642141
commit
653a5efb84
1 changed files with 21 additions and 0 deletions
|
@ -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)
|
||||
|
|
Loading…
Reference in a new issue