summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2013-07-19 13:58:27 +0200
committerAl Viro <viro@zeniv.linux.org.uk>2013-09-04 04:52:47 +0200
commitecde28237e10de3750a97579f42bc2ec65b8a0e1 (patch)
treefb893491060703f58c982ed73a6c5c4886188bb4
parentdon't bother with passing superblock to oprofile_create_stats_files() (diff)
downloadlinux-ecde28237e10de3750a97579f42bc2ec65b8a0e1.tar.xz
linux-ecde28237e10de3750a97579f42bc2ec65b8a0e1.zip
oprofilefs_mkdir() doesn't need superblock argument
it's always equal to ->d_sb of the second argument (parent dentry), due to either being literally that, or ->d_sb of parent's parent. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
-rw-r--r--arch/alpha/oprofile/common.c2
-rw-r--r--arch/avr32/oprofile/op_model_avr32.c2
-rw-r--r--arch/mips/oprofile/common.c2
-rw-r--r--arch/powerpc/oprofile/common.c2
-rw-r--r--arch/s390/oprofile/init.c6
-rw-r--r--arch/x86/oprofile/nmi_int.c2
-rw-r--r--arch/x86/oprofile/op_model_amd.c4
-rw-r--r--drivers/oprofile/oprofile_perf.c2
-rw-r--r--drivers/oprofile/oprofile_stats.c4
-rw-r--r--drivers/oprofile/oprofilefs.c15
-rw-r--r--include/linux/oprofile.h3
11 files changed, 21 insertions, 23 deletions
diff --git a/arch/alpha/oprofile/common.c b/arch/alpha/oprofile/common.c
index d79bf68caee2..a44608b697ac 100644
--- a/arch/alpha/oprofile/common.c
+++ b/arch/alpha/oprofile/common.c
@@ -115,7 +115,7 @@ op_axp_create_files(struct dentry *root)
char buf[4];
snprintf(buf, sizeof buf, "%d", i);
- dir = oprofilefs_mkdir(root->d_sb, root, buf);
+ dir = oprofilefs_mkdir(root, buf);
oprofilefs_create_ulong(root->d_sb, dir, "enabled", &ctr[i].enabled);
oprofilefs_create_ulong(root->d_sb, dir, "event", &ctr[i].event);
diff --git a/arch/avr32/oprofile/op_model_avr32.c b/arch/avr32/oprofile/op_model_avr32.c
index 80a06158da82..7d920a41b441 100644
--- a/arch/avr32/oprofile/op_model_avr32.c
+++ b/arch/avr32/oprofile/op_model_avr32.c
@@ -105,7 +105,7 @@ static int avr32_perf_counter_create_files(struct dentry *root)
for (i = 0; i < NR_counter; i++) {
snprintf(filename, sizeof(filename), "%u", i);
- dir = oprofilefs_mkdir(root->d_sb, root, filename);
+ dir = oprofilefs_mkdir(root, filename);
oprofilefs_create_ulong(root->d_sb, dir, "enabled",
&counter[i].enabled);
diff --git a/arch/mips/oprofile/common.c b/arch/mips/oprofile/common.c
index 7439ae2df05c..755caf04656e 100644
--- a/arch/mips/oprofile/common.c
+++ b/arch/mips/oprofile/common.c
@@ -42,7 +42,7 @@ static int op_mips_create_files(struct dentry *root)
char buf[4];
snprintf(buf, sizeof buf, "%d", i);
- dir = oprofilefs_mkdir(root->d_sb, root, buf);
+ dir = oprofilefs_mkdir(root, buf);
oprofilefs_create_ulong(root->d_sb, dir, "enabled", &ctr[i].enabled);
oprofilefs_create_ulong(root->d_sb, dir, "event", &ctr[i].event);
diff --git a/arch/powerpc/oprofile/common.c b/arch/powerpc/oprofile/common.c
index addc62317f45..60a286b367fc 100644
--- a/arch/powerpc/oprofile/common.c
+++ b/arch/powerpc/oprofile/common.c
@@ -160,7 +160,7 @@ static int op_powerpc_create_files(struct dentry *root)
char buf[4];
snprintf(buf, sizeof buf, "%d", i);
- dir = oprofilefs_mkdir(root->d_sb, root, buf);
+ dir = oprofilefs_mkdir(root, buf);
oprofilefs_create_ulong(root->d_sb, dir, "enabled", &ctr[i].enabled);
oprofilefs_create_ulong(root->d_sb, dir, "event", &ctr[i].event);
diff --git a/arch/s390/oprofile/init.c b/arch/s390/oprofile/init.c
index 712d57bb783a..5ae06db7ec58 100644
--- a/arch/s390/oprofile/init.c
+++ b/arch/s390/oprofile/init.c
@@ -350,7 +350,7 @@ static int oprofile_create_hwsampling_files(struct dentry *root)
{
struct dentry *dir;
- dir = oprofilefs_mkdir(root->d_sb, root, "timer");
+ dir = oprofilefs_mkdir(root, "timer");
if (!dir)
return -EINVAL;
@@ -375,7 +375,7 @@ static int oprofile_create_hwsampling_files(struct dentry *root)
* and can only be set to 0.
*/
- dir = oprofilefs_mkdir(root->d_sb, root, "0");
+ dir = oprofilefs_mkdir(root, "0");
if (!dir)
return -EINVAL;
@@ -395,7 +395,7 @@ static int oprofile_create_hwsampling_files(struct dentry *root)
* space tools. The /dev/oprofile/hwsampling fs is
* provided in that case.
*/
- dir = oprofilefs_mkdir(root->d_sb, root, "hwsampling");
+ dir = oprofilefs_mkdir(root, "hwsampling");
if (!dir)
return -EINVAL;
diff --git a/arch/x86/oprofile/nmi_int.c b/arch/x86/oprofile/nmi_int.c
index 483f02b8c1a8..8bb2de6e103c 100644
--- a/arch/x86/oprofile/nmi_int.c
+++ b/arch/x86/oprofile/nmi_int.c
@@ -420,7 +420,7 @@ static int nmi_create_files(struct dentry *root)
continue;
snprintf(buf, sizeof(buf), "%d", i);
- dir = oprofilefs_mkdir(root->d_sb, root, buf);
+ dir = oprofilefs_mkdir(root, buf);
oprofilefs_create_ulong(root->d_sb, dir, "enabled", &counter_config[i].enabled);
oprofilefs_create_ulong(root->d_sb, dir, "event", &counter_config[i].event);
oprofilefs_create_ulong(root->d_sb, dir, "count", &counter_config[i].count);
diff --git a/arch/x86/oprofile/op_model_amd.c b/arch/x86/oprofile/op_model_amd.c
index 34e16c2fe357..99131435ea32 100644
--- a/arch/x86/oprofile/op_model_amd.c
+++ b/arch/x86/oprofile/op_model_amd.c
@@ -479,7 +479,7 @@ static int setup_ibs_files(struct dentry *root)
ibs_config.max_cnt_op = 250000;
if (ibs_caps & IBS_CAPS_FETCHSAM) {
- dir = oprofilefs_mkdir(root->d_sb, root, "ibs_fetch");
+ dir = oprofilefs_mkdir(root, "ibs_fetch");
oprofilefs_create_ulong(root->d_sb, dir, "enable",
&ibs_config.fetch_enabled);
oprofilefs_create_ulong(root->d_sb, dir, "max_count",
@@ -489,7 +489,7 @@ static int setup_ibs_files(struct dentry *root)
}
if (ibs_caps & IBS_CAPS_OPSAM) {
- dir = oprofilefs_mkdir(root->d_sb, root, "ibs_op");
+ dir = oprofilefs_mkdir(root, "ibs_op");
oprofilefs_create_ulong(root->d_sb, dir, "enable",
&ibs_config.op_enabled);
oprofilefs_create_ulong(root->d_sb, dir, "max_count",
diff --git a/drivers/oprofile/oprofile_perf.c b/drivers/oprofile/oprofile_perf.c
index 52ad942df04e..923a245774fa 100644
--- a/drivers/oprofile/oprofile_perf.c
+++ b/drivers/oprofile/oprofile_perf.c
@@ -147,7 +147,7 @@ static int oprofile_perf_create_files(struct dentry *root)
char buf[4];
snprintf(buf, sizeof buf, "%d", i);
- dir = oprofilefs_mkdir(root->d_sb, root, buf);
+ dir = oprofilefs_mkdir(root, buf);
oprofilefs_create_ulong(root->d_sb, dir, "enabled", &counter_config[i].enabled);
oprofilefs_create_ulong(root->d_sb, dir, "event", &counter_config[i].event);
oprofilefs_create_ulong(root->d_sb, dir, "count", &counter_config[i].count);
diff --git a/drivers/oprofile/oprofile_stats.c b/drivers/oprofile/oprofile_stats.c
index 627dce478311..8cf2fa9710a4 100644
--- a/drivers/oprofile/oprofile_stats.c
+++ b/drivers/oprofile/oprofile_stats.c
@@ -46,14 +46,14 @@ void oprofile_create_stats_files(struct dentry *root)
char buf[10];
int i;
- dir = oprofilefs_mkdir(root->d_sb, root, "stats");
+ dir = oprofilefs_mkdir(root, "stats");
if (!dir)
return;
for_each_possible_cpu(i) {
cpu_buf = &per_cpu(op_cpu_buffer, i);
snprintf(buf, 10, "cpu%d", i);
- cpudir = oprofilefs_mkdir(root->d_sb, dir, buf);
+ cpudir = oprofilefs_mkdir(dir, buf);
/* Strictly speaking access to these ulongs is racy,
* but we can't simply lock them, and they are
diff --git a/drivers/oprofile/oprofilefs.c b/drivers/oprofile/oprofilefs.c
index 2e2dd5ca7211..6a345724637f 100644
--- a/drivers/oprofile/oprofilefs.c
+++ b/drivers/oprofile/oprofilefs.c
@@ -211,28 +211,27 @@ int oprofilefs_create_file_perm(struct super_block *sb, struct dentry *root,
}
-struct dentry *oprofilefs_mkdir(struct super_block *sb,
- struct dentry *root, char const *name)
+struct dentry *oprofilefs_mkdir(struct dentry *parent, char const *name)
{
struct dentry *dentry;
struct inode *inode;
- mutex_lock(&root->d_inode->i_mutex);
- dentry = d_alloc_name(root, name);
+ mutex_lock(&parent->d_inode->i_mutex);
+ dentry = d_alloc_name(parent, name);
if (!dentry) {
- mutex_unlock(&root->d_inode->i_mutex);
+ mutex_unlock(&parent->d_inode->i_mutex);
return NULL;
}
- inode = oprofilefs_get_inode(sb, S_IFDIR | 0755);
+ inode = oprofilefs_get_inode(parent->d_sb, S_IFDIR | 0755);
if (!inode) {
dput(dentry);
- mutex_unlock(&root->d_inode->i_mutex);
+ mutex_unlock(&parent->d_inode->i_mutex);
return NULL;
}
inode->i_op = &simple_dir_inode_operations;
inode->i_fop = &simple_dir_operations;
d_add(dentry, inode);
- mutex_unlock(&root->d_inode->i_mutex);
+ mutex_unlock(&parent->d_inode->i_mutex);
return dentry;
}
diff --git a/include/linux/oprofile.h b/include/linux/oprofile.h
index 8a906b4034a7..957877e7a408 100644
--- a/include/linux/oprofile.h
+++ b/include/linux/oprofile.h
@@ -144,8 +144,7 @@ int oprofilefs_create_ro_atomic(struct super_block * sb, struct dentry * root,
char const * name, atomic_t * val);
/** create a directory */
-struct dentry * oprofilefs_mkdir(struct super_block * sb, struct dentry * root,
- char const * name);
+struct dentry *oprofilefs_mkdir(struct dentry *parent, char const *name);
/**
* Write the given asciz string to the given user buffer @buf, updating *offset