2019-12-23 14:34:16

by Chen Wandun

[permalink] [raw]
Subject: [PATCH next] ceph: Fix debugfs_simple_attr.cocci warnings

Use DEFINE_DEBUGFS_ATTRIBUTE rather than DEFINE_SIMPLE_ATTRIBUTE
for debugfs files.

Semantic patch information:
Rationale: DEFINE_SIMPLE_ATTRIBUTE + debugfs_create_file()
imposes some significant overhead as compared to
DEFINE_DEBUGFS_ATTRIBUTE + debugfs_create_file_unsafe().

Signed-off-by: Chen Wandun <[email protected]>
---
fs/ceph/debugfs.c | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/fs/ceph/debugfs.c b/fs/ceph/debugfs.c
index c281f32..60a0f1a 100644
--- a/fs/ceph/debugfs.c
+++ b/fs/ceph/debugfs.c
@@ -243,8 +243,8 @@ static int congestion_kb_get(void *data, u64 *val)
return 0;
}

-DEFINE_SIMPLE_ATTRIBUTE(congestion_kb_fops, congestion_kb_get,
- congestion_kb_set, "%llu\n");
+DEFINE_DEBUGFS_ATTRIBUTE(congestion_kb_fops, congestion_kb_get,
+ congestion_kb_set, "%llu\n");


void ceph_fs_debugfs_cleanup(struct ceph_fs_client *fsc)
@@ -264,11 +264,11 @@ void ceph_fs_debugfs_init(struct ceph_fs_client *fsc)

dout("ceph_fs_debugfs_init\n");
fsc->debugfs_congestion_kb =
- debugfs_create_file("writeback_congestion_kb",
- 0600,
- fsc->client->debugfs_dir,
- fsc,
- &congestion_kb_fops);
+ debugfs_create_file_unsafe("writeback_congestion_kb",
+ 0600,
+ fsc->client->debugfs_dir,
+ fsc,
+ &congestion_kb_fops);

snprintf(name, sizeof(name), "../../bdi/%s",
dev_name(fsc->sb->s_bdi->dev));
--
2.7.4


2020-01-06 15:00:33

by Ilya Dryomov

[permalink] [raw]
Subject: Re: [PATCH next] ceph: Fix debugfs_simple_attr.cocci warnings

On Mon, Dec 23, 2019 at 3:32 PM Chen Wandun <[email protected]> wrote:
>
> Use DEFINE_DEBUGFS_ATTRIBUTE rather than DEFINE_SIMPLE_ATTRIBUTE
> for debugfs files.
>
> Semantic patch information:
> Rationale: DEFINE_SIMPLE_ATTRIBUTE + debugfs_create_file()
> imposes some significant overhead as compared to
> DEFINE_DEBUGFS_ATTRIBUTE + debugfs_create_file_unsafe().
>
> Signed-off-by: Chen Wandun <[email protected]>
> ---
> fs/ceph/debugfs.c | 14 +++++++-------
> 1 file changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/fs/ceph/debugfs.c b/fs/ceph/debugfs.c
> index c281f32..60a0f1a 100644
> --- a/fs/ceph/debugfs.c
> +++ b/fs/ceph/debugfs.c
> @@ -243,8 +243,8 @@ static int congestion_kb_get(void *data, u64 *val)
> return 0;
> }
>
> -DEFINE_SIMPLE_ATTRIBUTE(congestion_kb_fops, congestion_kb_get,
> - congestion_kb_set, "%llu\n");
> +DEFINE_DEBUGFS_ATTRIBUTE(congestion_kb_fops, congestion_kb_get,
> + congestion_kb_set, "%llu\n");
>
>
> void ceph_fs_debugfs_cleanup(struct ceph_fs_client *fsc)
> @@ -264,11 +264,11 @@ void ceph_fs_debugfs_init(struct ceph_fs_client *fsc)
>
> dout("ceph_fs_debugfs_init\n");
> fsc->debugfs_congestion_kb =
> - debugfs_create_file("writeback_congestion_kb",
> - 0600,
> - fsc->client->debugfs_dir,
> - fsc,
> - &congestion_kb_fops);
> + debugfs_create_file_unsafe("writeback_congestion_kb",
> + 0600,
> + fsc->client->debugfs_dir,
> + fsc,
> + &congestion_kb_fops);

Hi Chen,

debugfs_create_file_unsafe() has "unsafe" in its name for a reason.
Have you verified that this conversion is safe?

Thanks,

Ilya