Commit 9e794de5 authored by Gao Xiang's avatar Gao Xiang Committed by Greg Kroah-Hartman

staging: erofs: kill sbi->dev_name

As Al said, "the only use of sbi->dev_name is debugging
printks and all of those have sb->s_id available, with
device name stored in there.  Which makes the whole
thing bloody weird".

sbi->dev_name was used for our debugging use and it's
better to just use s_id in community and delete
the whole erofs_mount_private stuff.
Suggested-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
Reviewed-by: default avatarChao Yu <yuchao0@huawei.com>
Signed-off-by: default avatarGao Xiang <gaoxiang25@huawei.com>
Link: https://lore.kernel.org/r/20190731155752.210602-11-gaoxiang25@huawei.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 22fe04a7
...@@ -113,8 +113,6 @@ struct erofs_sb_info { ...@@ -113,8 +113,6 @@ struct erofs_sb_info {
u8 volume_name[16]; /* volume name */ u8 volume_name[16]; /* volume name */
u32 requirements; u32 requirements;
char *dev_name;
unsigned int mount_opt; unsigned int mount_opt;
#ifdef CONFIG_EROFS_FAULT_INJECTION #ifdef CONFIG_EROFS_FAULT_INJECTION
......
...@@ -362,15 +362,13 @@ static struct inode *erofs_init_managed_cache(struct super_block *sb) ...@@ -362,15 +362,13 @@ static struct inode *erofs_init_managed_cache(struct super_block *sb)
#endif #endif
static int erofs_read_super(struct super_block *sb, static int erofs_fill_super(struct super_block *sb, void *data, int silent)
const char *dev_name,
void *data, int silent)
{ {
struct inode *inode; struct inode *inode;
struct erofs_sb_info *sbi; struct erofs_sb_info *sbi;
int err = -EINVAL; int err = -EINVAL;
infoln("read_super, device -> %s", dev_name); infoln("fill_super, device -> %s", sb->s_id);
infoln("options -> %s", (char *)data); infoln("options -> %s", (char *)data);
if (unlikely(!sb_set_blocksize(sb, EROFS_BLKSIZ))) { if (unlikely(!sb_set_blocksize(sb, EROFS_BLKSIZ))) {
...@@ -448,30 +446,16 @@ static int erofs_read_super(struct super_block *sb, ...@@ -448,30 +446,16 @@ static int erofs_read_super(struct super_block *sb,
goto err_iget; goto err_iget;
} }
/* save the device name to sbi */
sbi->dev_name = __getname();
if (!sbi->dev_name) {
err = -ENOMEM;
goto err_devname;
}
snprintf(sbi->dev_name, PATH_MAX, "%s", dev_name);
sbi->dev_name[PATH_MAX - 1] = '\0';
erofs_shrinker_register(sb); erofs_shrinker_register(sb);
if (!silent) if (!silent)
infoln("mounted on %s with opts: %s.", dev_name, infoln("mounted on %s with opts: %s.", sb->s_id, (char *)data);
(char *)data);
return 0; return 0;
/* /*
* please add a label for each exit point and use * please add a label for each exit point and use
* the following name convention, thus new features * the following name convention, thus new features
* can be integrated easily without renaming labels. * can be integrated easily without renaming labels.
*/ */
err_devname:
dput(sb->s_root);
sb->s_root = NULL;
err_iget: err_iget:
#ifdef EROFS_FS_HAS_MANAGED_CACHE #ifdef EROFS_FS_HAS_MANAGED_CACHE
iput(sbi->managed_cache); iput(sbi->managed_cache);
...@@ -499,8 +483,7 @@ static void erofs_put_super(struct super_block *sb) ...@@ -499,8 +483,7 @@ static void erofs_put_super(struct super_block *sb)
WARN_ON(sb->s_magic != EROFS_SUPER_MAGIC); WARN_ON(sb->s_magic != EROFS_SUPER_MAGIC);
infoln("unmounted for %s", sbi->dev_name); infoln("unmounted for %s", sb->s_id);
__putname(sbi->dev_name);
erofs_shrinker_unregister(sb); erofs_shrinker_unregister(sb);
#ifdef EROFS_FS_HAS_MANAGED_CACHE #ifdef EROFS_FS_HAS_MANAGED_CACHE
...@@ -510,33 +493,10 @@ static void erofs_put_super(struct super_block *sb) ...@@ -510,33 +493,10 @@ static void erofs_put_super(struct super_block *sb)
sb->s_fs_info = NULL; sb->s_fs_info = NULL;
} }
static struct dentry *erofs_mount(struct file_system_type *fs_type, int flags,
struct erofs_mount_private { const char *dev_name, void *data)
const char *dev_name;
char *options;
};
/* support mount_bdev() with options */
static int erofs_fill_super(struct super_block *sb,
void *_priv, int silent)
{
struct erofs_mount_private *priv = _priv;
return erofs_read_super(sb, priv->dev_name,
priv->options, silent);
}
static struct dentry *erofs_mount(
struct file_system_type *fs_type, int flags,
const char *dev_name, void *data)
{ {
struct erofs_mount_private priv = { return mount_bdev(fs_type, flags, dev_name, data, erofs_fill_super);
.dev_name = dev_name,
.options = data
};
return mount_bdev(fs_type, flags, dev_name,
&priv, erofs_fill_super);
} }
static struct file_system_type erofs_fs_type = { static struct file_system_type erofs_fs_type = {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment