Skip to content

Commit

Permalink
xfs: use super s_id instead of struct xfs_mount m_fsname
Browse files Browse the repository at this point in the history
Eliminate struct xfs_mount field m_fsname by using the super block s_id
field directly.

Signed-off-by: Ian Kent <raven@themaw.net>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
  • Loading branch information
raven-au authored and djwong committed Nov 5, 2019
1 parent f676c75 commit e1d3d21
Show file tree
Hide file tree
Showing 8 changed files with 22 additions and 31 deletions.
2 changes: 1 addition & 1 deletion fs/xfs/xfs_error.c
Original file line number Diff line number Diff line change
Expand Up @@ -257,7 +257,7 @@ xfs_errortag_test(

xfs_warn_ratelimited(mp,
"Injecting error (%s) at file %s, line %d, on filesystem \"%s\"",
expression, file, line, mp->m_fsname);
expression, file, line, mp->m_super->s_id);
return true;
}

Expand Down
2 changes: 1 addition & 1 deletion fs/xfs/xfs_log.c
Original file line number Diff line number Diff line change
Expand Up @@ -1526,7 +1526,7 @@ xlog_alloc_log(

log->l_ioend_workqueue = alloc_workqueue("xfs-log/%s",
WQ_MEM_RECLAIM | WQ_FREEZABLE | WQ_HIGHPRI, 0,
mp->m_fsname);
mp->m_super->s_id);
if (!log->l_ioend_workqueue)
goto out_free_iclog;

Expand Down
4 changes: 2 additions & 2 deletions fs/xfs/xfs_message.c
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ __xfs_printk(
const struct xfs_mount *mp,
struct va_format *vaf)
{
if (mp && mp->m_fsname) {
printk("%sXFS (%s): %pV\n", level, mp->m_fsname, vaf);
if (mp && mp->m_super) {
printk("%sXFS (%s): %pV\n", level, mp->m_super->s_id, vaf);
return;
}
printk("%sXFS: %pV\n", level, vaf);
Expand Down
5 changes: 3 additions & 2 deletions fs/xfs/xfs_mount.c
Original file line number Diff line number Diff line change
Expand Up @@ -667,7 +667,8 @@ xfs_mountfs(
/* enable fail_at_unmount as default */
mp->m_fail_unmount = true;

error = xfs_sysfs_init(&mp->m_kobj, &xfs_mp_ktype, NULL, mp->m_fsname);
error = xfs_sysfs_init(&mp->m_kobj, &xfs_mp_ktype,
NULL, mp->m_super->s_id);
if (error)
goto out;

Expand Down Expand Up @@ -1241,7 +1242,7 @@ xfs_mod_fdblocks(
printk_once(KERN_WARNING
"Filesystem \"%s\": reserve blocks depleted! "
"Consider increasing reserve pool size.",
mp->m_fsname);
mp->m_super->s_id);
fdblocks_enospc:
spin_unlock(&mp->m_sb_lock);
return -ENOSPC;
Expand Down
1 change: 0 additions & 1 deletion fs/xfs/xfs_mount.h
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,6 @@ typedef struct xfs_mount {
struct percpu_counter m_delalloc_blks;

struct xfs_buf *m_sb_bp; /* buffer for superblock */
char *m_fsname; /* filesystem name */
char *m_rtname; /* realtime device name */
char *m_logname; /* external log device name */
int m_bsize; /* fs logical block size */
Expand Down
2 changes: 1 addition & 1 deletion fs/xfs/xfs_pnfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ xfs_fs_get_uuid(

printk_once(KERN_NOTICE
"XFS (%s): using experimental pNFS feature, use at your own risk!\n",
mp->m_fsname);
mp->m_super->s_id);

if (*len < sizeof(uuid_t))
return -EINVAL;
Expand Down
35 changes: 13 additions & 22 deletions fs/xfs/xfs_super.c
Original file line number Diff line number Diff line change
Expand Up @@ -161,14 +161,6 @@ xfs_parseargs(
substring_t args[MAX_OPT_ARGS];
int size = 0;

/*
* set up the mount name first so all the errors will refer to the
* correct device.
*/
mp->m_fsname = kstrndup(sb->s_id, MAXNAMELEN, GFP_KERNEL);
if (!mp->m_fsname)
return -ENOMEM;

/*
* Copy binary VFS mount flags we are interested in.
*/
Expand Down Expand Up @@ -778,33 +770,33 @@ xfs_init_mount_workqueues(
struct xfs_mount *mp)
{
mp->m_buf_workqueue = alloc_workqueue("xfs-buf/%s",
WQ_MEM_RECLAIM|WQ_FREEZABLE, 1, mp->m_fsname);
WQ_MEM_RECLAIM|WQ_FREEZABLE, 1, mp->m_super->s_id);
if (!mp->m_buf_workqueue)
goto out;

mp->m_unwritten_workqueue = alloc_workqueue("xfs-conv/%s",
WQ_MEM_RECLAIM|WQ_FREEZABLE, 0, mp->m_fsname);
WQ_MEM_RECLAIM|WQ_FREEZABLE, 0, mp->m_super->s_id);
if (!mp->m_unwritten_workqueue)
goto out_destroy_buf;

mp->m_cil_workqueue = alloc_workqueue("xfs-cil/%s",
WQ_MEM_RECLAIM | WQ_FREEZABLE | WQ_UNBOUND,
0, mp->m_fsname);
0, mp->m_super->s_id);
if (!mp->m_cil_workqueue)
goto out_destroy_unwritten;

mp->m_reclaim_workqueue = alloc_workqueue("xfs-reclaim/%s",
WQ_MEM_RECLAIM|WQ_FREEZABLE, 0, mp->m_fsname);
WQ_MEM_RECLAIM|WQ_FREEZABLE, 0, mp->m_super->s_id);
if (!mp->m_reclaim_workqueue)
goto out_destroy_cil;

mp->m_eofblocks_workqueue = alloc_workqueue("xfs-eofblocks/%s",
WQ_MEM_RECLAIM|WQ_FREEZABLE, 0, mp->m_fsname);
WQ_MEM_RECLAIM|WQ_FREEZABLE, 0, mp->m_super->s_id);
if (!mp->m_eofblocks_workqueue)
goto out_destroy_reclaim;

mp->m_sync_workqueue = alloc_workqueue("xfs-sync/%s", WQ_FREEZABLE, 0,
mp->m_fsname);
mp->m_super->s_id);
if (!mp->m_sync_workqueue)
goto out_destroy_eofb;

Expand Down Expand Up @@ -1009,10 +1001,9 @@ xfs_fs_drop_inode(
}

STATIC void
xfs_free_fsname(
xfs_free_names(
struct xfs_mount *mp)
{
kfree(mp->m_fsname);
kfree(mp->m_rtname);
kfree(mp->m_logname);
}
Expand Down Expand Up @@ -1189,7 +1180,7 @@ xfs_test_remount_options(

tmp_mp->m_super = sb;
error = xfs_parseargs(tmp_mp, options);
xfs_free_fsname(tmp_mp);
xfs_free_names(tmp_mp);
kmem_free(tmp_mp);

return error;
Expand Down Expand Up @@ -1555,7 +1546,7 @@ xfs_fs_fill_super(

error = xfs_parseargs(mp, (char *)data);
if (error)
goto out_free_fsname;
goto out_free_names;

sb_min_blocksize(sb, BBSIZE);
sb->s_xattr = xfs_xattr_handlers;
Expand All @@ -1582,7 +1573,7 @@ xfs_fs_fill_super(

error = xfs_open_devices(mp);
if (error)
goto out_free_fsname;
goto out_free_names;

error = xfs_init_mount_workqueues(mp);
if (error)
Expand Down Expand Up @@ -1719,9 +1710,9 @@ xfs_fs_fill_super(
xfs_destroy_mount_workqueues(mp);
out_close_devices:
xfs_close_devices(mp);
out_free_fsname:
out_free_names:
sb->s_fs_info = NULL;
xfs_free_fsname(mp);
xfs_free_names(mp);
kfree(mp);
out:
return error;
Expand Down Expand Up @@ -1753,7 +1744,7 @@ xfs_fs_put_super(
xfs_close_devices(mp);

sb->s_fs_info = NULL;
xfs_free_fsname(mp);
xfs_free_names(mp);
kfree(mp);
}

Expand Down
2 changes: 1 addition & 1 deletion fs/xfs/xfs_trans_ail.c
Original file line number Diff line number Diff line change
Expand Up @@ -836,7 +836,7 @@ xfs_trans_ail_init(
init_waitqueue_head(&ailp->ail_empty);

ailp->ail_task = kthread_run(xfsaild, ailp, "xfsaild/%s",
ailp->ail_mount->m_fsname);
ailp->ail_mount->m_super->s_id);
if (IS_ERR(ailp->ail_task))
goto out_free_ailp;

Expand Down

0 comments on commit e1d3d21

Please sign in to comment.