2021-07-15 03:19:00

by Justin He

[permalink] [raw]
Subject: [PATCH RFC 07/13] iomap: simplify iomap_swapfile_fail() with '%pD' specifier

After the behavior of '%pD' is change to print the full path of file,
iomap_swapfile_fail() can be simplified.

Given the space with proper length would be allocated in vprintk_store(),
the kmalloc() is not required any more.

Besides, the previous number postfix of '%pD' in format string is
pointless.

Cc: Christoph Hellwig <[email protected]>
Cc: "Darrick J. Wong" <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Suggested-by: Christoph Hellwig <[email protected]>
Signed-off-by: Jia He <[email protected]>
---
fs/iomap/direct-io.c | 2 +-
fs/iomap/swapfile.c | 8 +-------
2 files changed, 2 insertions(+), 8 deletions(-)

diff --git a/fs/iomap/direct-io.c b/fs/iomap/direct-io.c
index 9398b8c31323..e876a5f9d888 100644
--- a/fs/iomap/direct-io.c
+++ b/fs/iomap/direct-io.c
@@ -426,7 +426,7 @@ iomap_dio_actor(struct inode *inode, loff_t pos, loff_t length,
* iomap_apply() call in the DIO path, then it will see the
* DELALLOC block that the page-mkwrite allocated.
*/
- pr_warn_ratelimited("Direct I/O collision with buffered writes! File: %pD4 Comm: %.20s\n",
+ pr_warn_ratelimited("Direct I/O collision with buffered writes! File: %pD Comm: %.20s\n",
dio->iocb->ki_filp, current->comm);
return -EIO;
default:
diff --git a/fs/iomap/swapfile.c b/fs/iomap/swapfile.c
index 6250ca6a1f85..17032c14e466 100644
--- a/fs/iomap/swapfile.c
+++ b/fs/iomap/swapfile.c
@@ -73,13 +73,7 @@ static int iomap_swapfile_add_extent(struct iomap_swapfile_info *isi)

static int iomap_swapfile_fail(struct iomap_swapfile_info *isi, const char *str)
{
- char *buf, *p = ERR_PTR(-ENOMEM);
-
- buf = kmalloc(PATH_MAX, GFP_KERNEL);
- if (buf)
- p = file_path(isi->file, buf, PATH_MAX);
- pr_err("swapon: file %s %s\n", IS_ERR(p) ? "<unknown>" : p, str);
- kfree(buf);
+ pr_err("swapon: file %pD %s\n", isi->file, str);
return -EINVAL;
}

--
2.17.1


2021-07-15 17:27:24

by Darrick J. Wong

[permalink] [raw]
Subject: Re: [PATCH RFC 07/13] iomap: simplify iomap_swapfile_fail() with '%pD' specifier

On Thu, Jul 15, 2021 at 11:15:27AM +0800, Jia He wrote:
> After the behavior of '%pD' is change to print the full path of file,
> iomap_swapfile_fail() can be simplified.
>
> Given the space with proper length would be allocated in vprintk_store(),
> the kmalloc() is not required any more.
>
> Besides, the previous number postfix of '%pD' in format string is
> pointless.
>
> Cc: Christoph Hellwig <[email protected]>
> Cc: "Darrick J. Wong" <[email protected]>
> Cc: [email protected]
> Cc: [email protected]
> Cc: [email protected]
> Suggested-by: Christoph Hellwig <[email protected]>
> Signed-off-by: Jia He <[email protected]>

Seems reasonable to me...
Acked-by: Darrick J. Wong <[email protected]>

--D

> ---
> fs/iomap/direct-io.c | 2 +-
> fs/iomap/swapfile.c | 8 +-------
> 2 files changed, 2 insertions(+), 8 deletions(-)
>
> diff --git a/fs/iomap/direct-io.c b/fs/iomap/direct-io.c
> index 9398b8c31323..e876a5f9d888 100644
> --- a/fs/iomap/direct-io.c
> +++ b/fs/iomap/direct-io.c
> @@ -426,7 +426,7 @@ iomap_dio_actor(struct inode *inode, loff_t pos, loff_t length,
> * iomap_apply() call in the DIO path, then it will see the
> * DELALLOC block that the page-mkwrite allocated.
> */
> - pr_warn_ratelimited("Direct I/O collision with buffered writes! File: %pD4 Comm: %.20s\n",
> + pr_warn_ratelimited("Direct I/O collision with buffered writes! File: %pD Comm: %.20s\n",
> dio->iocb->ki_filp, current->comm);
> return -EIO;
> default:
> diff --git a/fs/iomap/swapfile.c b/fs/iomap/swapfile.c
> index 6250ca6a1f85..17032c14e466 100644
> --- a/fs/iomap/swapfile.c
> +++ b/fs/iomap/swapfile.c
> @@ -73,13 +73,7 @@ static int iomap_swapfile_add_extent(struct iomap_swapfile_info *isi)
>
> static int iomap_swapfile_fail(struct iomap_swapfile_info *isi, const char *str)
> {
> - char *buf, *p = ERR_PTR(-ENOMEM);
> -
> - buf = kmalloc(PATH_MAX, GFP_KERNEL);
> - if (buf)
> - p = file_path(isi->file, buf, PATH_MAX);
> - pr_err("swapon: file %s %s\n", IS_ERR(p) ? "<unknown>" : p, str);
> - kfree(buf);
> + pr_err("swapon: file %pD %s\n", isi->file, str);
> return -EINVAL;
> }
>
> --
> 2.17.1
>

2021-07-16 06:13:13

by Christoph Hellwig

[permalink] [raw]
Subject: Re: [PATCH RFC 07/13] iomap: simplify iomap_swapfile_fail() with '%pD' specifier

On Thu, Jul 15, 2021 at 11:15:27AM +0800, Jia He wrote:
> After the behavior of '%pD' is change to print the full path of file,
> iomap_swapfile_fail() can be simplified.
>
> Given the space with proper length would be allocated in vprintk_store(),
> the kmalloc() is not required any more.
>
> Besides, the previous number postfix of '%pD' in format string is
> pointless.

This also touched iomap_dio_actor, but the commit og only mentions
iomap_swapfile_fail.

2021-07-16 06:18:34

by Justin He

[permalink] [raw]
Subject: RE: [PATCH RFC 07/13] iomap: simplify iomap_swapfile_fail() with '%pD' specifier

Hi Christoph

> -----Original Message-----
> From: Christoph Hellwig <[email protected]>
> Sent: Friday, July 16, 2021 2:11 PM
> To: Justin He <[email protected]>
> Cc: [email protected]; Linus Torvalds <torvalds@linux-
> foundation.org>; Christoph Hellwig <[email protected]>; nd <[email protected]>;
> Darrick J. Wong <[email protected]>; [email protected]; linux-
> [email protected]
> Subject: Re: [PATCH RFC 07/13] iomap: simplify iomap_swapfile_fail() with
> '%pD' specifier
>
> On Thu, Jul 15, 2021 at 11:15:27AM +0800, Jia He wrote:
> > After the behavior of '%pD' is change to print the full path of file,
> > iomap_swapfile_fail() can be simplified.
> >
> > Given the space with proper length would be allocated in vprintk_store(),
> > the kmalloc() is not required any more.
> >
> > Besides, the previous number postfix of '%pD' in format string is
> > pointless.
>
> This also touched iomap_dio_actor, but the commit og only mentions
> iomap_swapfile_fail.
Okay, I will refine the msg in next version.
Thanks


--
Cheers,
Justin (Jia He)