From: Gao Xiang <gaoxiang25@huawei.com>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Chao Yu <yuchao0@huawei.com>, <devel@driverdev.osuosl.org>
Cc: LKML <linux-kernel@vger.kernel.org>,
<linux-erofs@lists.ozlabs.org>, "Chao Yu" <chao@kernel.org>,
Miao Xie <miaoxie@huawei.com>, <weidu.du@huawei.com>,
Fang Wei <fangwei1@huawei.com>, Gao Xiang <gaoxiang25@huawei.com>
Subject: [PATCH v2 10/22] staging: erofs: kill sbi->dev_name
Date: Wed, 31 Jul 2019 23:57:40 +0800 [thread overview]
Message-ID: <20190731155752.210602-11-gaoxiang25@huawei.com> (raw)
In-Reply-To: <20190731155752.210602-1-gaoxiang25@huawei.com>
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: Al Viro <viro@zeniv.linux.org.uk>
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
---
drivers/staging/erofs/internal.h | 2 --
drivers/staging/erofs/super.c | 54 +++++---------------------------
2 files changed, 7 insertions(+), 49 deletions(-)
diff --git a/drivers/staging/erofs/internal.h b/drivers/staging/erofs/internal.h
index e149cf9fc23f..5e1ef2b5a458 100644
--- a/drivers/staging/erofs/internal.h
+++ b/drivers/staging/erofs/internal.h
@@ -113,8 +113,6 @@ struct erofs_sb_info {
u8 volume_name[16]; /* volume name */
u32 requirements;
- char *dev_name;
-
unsigned int mount_opt;
#ifdef CONFIG_EROFS_FAULT_INJECTION
diff --git a/drivers/staging/erofs/super.c b/drivers/staging/erofs/super.c
index 7e6fe9cd45e7..bfb6e1e09781 100644
--- a/drivers/staging/erofs/super.c
+++ b/drivers/staging/erofs/super.c
@@ -362,15 +362,13 @@ static struct inode *erofs_init_managed_cache(struct super_block *sb)
#endif
-static int erofs_read_super(struct super_block *sb,
- const char *dev_name,
- void *data, int silent)
+static int erofs_fill_super(struct super_block *sb, void *data, int silent)
{
struct inode *inode;
struct erofs_sb_info *sbi;
int err = -EINVAL;
- infoln("read_super, device -> %s", dev_name);
+ infoln("fill_super, device -> %s", sb->s_id);
infoln("options -> %s", (char *)data);
if (unlikely(!sb_set_blocksize(sb, EROFS_BLKSIZ))) {
@@ -448,30 +446,16 @@ static int erofs_read_super(struct super_block *sb,
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);
if (!silent)
- infoln("mounted on %s with opts: %s.", dev_name,
- (char *)data);
+ infoln("mounted on %s with opts: %s.", sb->s_id, (char *)data);
return 0;
/*
* please add a label for each exit point and use
* the following name convention, thus new features
* can be integrated easily without renaming labels.
*/
-err_devname:
- dput(sb->s_root);
- sb->s_root = NULL;
err_iget:
#ifdef EROFS_FS_HAS_MANAGED_CACHE
iput(sbi->managed_cache);
@@ -499,8 +483,7 @@ static void erofs_put_super(struct super_block *sb)
WARN_ON(sb->s_magic != EROFS_SUPER_MAGIC);
- infoln("unmounted for %s", sbi->dev_name);
- __putname(sbi->dev_name);
+ infoln("unmounted for %s", sb->s_id);
erofs_shrinker_unregister(sb);
#ifdef EROFS_FS_HAS_MANAGED_CACHE
@@ -510,33 +493,10 @@ static void erofs_put_super(struct super_block *sb)
sb->s_fs_info = NULL;
}
-
-struct erofs_mount_private {
- 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)
+static struct dentry *erofs_mount(struct file_system_type *fs_type, int flags,
+ const char *dev_name, void *data)
{
- struct erofs_mount_private priv = {
- .dev_name = dev_name,
- .options = data
- };
-
- return mount_bdev(fs_type, flags, dev_name,
- &priv, erofs_fill_super);
+ return mount_bdev(fs_type, flags, dev_name, data, erofs_fill_super);
}
static struct file_system_type erofs_fs_type = {
--
2.17.1
next prev parent reply other threads:[~2019-07-31 15:58 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-07-31 15:57 [PATCH v2 00/22] staging: erofs: updates according to erofs-outofstaging v4 Gao Xiang
2019-07-31 15:57 ` [PATCH v2 01/22] staging: erofs: update source file headers Gao Xiang
2019-07-31 15:57 ` [PATCH v2 02/22] staging: erofs: rename source files for better understanding Gao Xiang
2019-07-31 15:57 ` [PATCH v2 03/22] staging: erofs: fix dummy functions erofs_{get,list}xattr Gao Xiang
2019-07-31 15:57 ` [PATCH v2 04/22] staging: erofs: keep up erofs_fs.h with erofs-outofstaging patchset Gao Xiang
2019-07-31 15:57 ` [PATCH v2 05/22] staging: erofs: sunset erofs_workstn_{lock,unlock} Gao Xiang
2019-07-31 15:57 ` [PATCH v2 06/22] staging: erofs: clean up internal.h Gao Xiang
2019-07-31 15:57 ` [PATCH v2 07/22] staging: erofs: remove redundant #include "internal.h" Gao Xiang
2019-08-01 1:32 ` Chao Yu
2019-07-31 15:57 ` [PATCH v2 08/22] staging: erofs: kill CONFIG_EROFS_FS_IO_MAX_RETRIES Gao Xiang
2019-08-01 1:33 ` Chao Yu
2019-07-31 15:57 ` [PATCH v2 09/22] staging: erofs: clean up shrinker stuffs Gao Xiang
2019-07-31 15:57 ` Gao Xiang [this message]
2019-07-31 15:57 ` [PATCH v2 11/22] staging: erofs: kill all failure handling in fill_super() Gao Xiang
2019-07-31 15:57 ` [PATCH v2 12/22] staging: erofs: drop __GFP_NOFAIL for managed inode Gao Xiang
2019-08-01 1:39 ` Chao Yu
2019-07-31 15:57 ` [PATCH v2 13/22] staging: erofs: refine erofs_allocpage() Gao Xiang
2019-07-31 15:57 ` [PATCH v2 14/22] staging: erofs: kill CONFIG_EROFS_FS_USE_VM_MAP_RAM Gao Xiang
2019-07-31 15:57 ` [PATCH v2 15/22] staging: erofs: tidy up zpvec.h Gao Xiang
2019-07-31 15:57 ` [PATCH v2 16/22] staging: erofs: remove redundant braces in inode.c Gao Xiang
2019-07-31 15:57 ` [PATCH v2 17/22] staging: erofs: tidy up decompression frontend Gao Xiang
2019-07-31 15:57 ` [PATCH v2 18/22] staging: erofs: remove clusterbits in sbi Gao Xiang
2019-07-31 15:57 ` [PATCH v2 19/22] staging: erofs: turn cache strategies into mount options Gao Xiang
2019-07-31 15:57 ` [PATCH v2 20/22] staging: erofs: tidy up utils.c Gao Xiang
2019-07-31 15:57 ` [PATCH v2 21/22] staging: erofs: update super.c Gao Xiang
2019-07-31 15:57 ` [PATCH v2 22/22] staging: erofs: update Kconfig Gao Xiang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190731155752.210602-11-gaoxiang25@huawei.com \
--to=gaoxiang25@huawei.com \
--cc=chao@kernel.org \
--cc=devel@driverdev.osuosl.org \
--cc=fangwei1@huawei.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-erofs@lists.ozlabs.org \
--cc=linux-kernel@vger.kernel.org \
--cc=miaoxie@huawei.com \
--cc=weidu.du@huawei.com \
--cc=yuchao0@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®