[PATCH RFC 11/13] md/bitmap: simplify the printing with '%pD' specifier

Subsystems: software raid (multiple disks) support, the rest

STALE1884d

3 messages, 3 authors, 2021-07-23 · open the first message on its own page

[PATCH RFC 11/13] md/bitmap: simplify the printing with '%pD' specifier

From: Jia He <hidden>
Date: 2021-07-15 03:16:38

After the behavior of '%pD' is changed to print the full path of file,
the log printing can be simplified.

Given the space with proper length would be allocated in vprintk_store(),
it is worthy of dropping kmalloc()/kfree() to avoid additional space
allocation. The error case is well handled in d_path_unsafe(), the error
string would be copied in '%pD' buffer, no need to additionally handle
IS_ERR().

Cc: Song Liu <song@kernel.org>
Cc: linux-raid@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Jia He <redacted>
---
 drivers/md/md-bitmap.c | 13 ++-----------
 1 file changed, 2 insertions(+), 11 deletions(-)
diff --git a/drivers/md/md-bitmap.c b/drivers/md/md-bitmap.c
index e29c6298ef5c..a82f1c2ef83c 100644
--- a/drivers/md/md-bitmap.c
+++ b/drivers/md/md-bitmap.c
@@ -862,21 +862,12 @@ static void md_bitmap_file_unmap(struct bitmap_storage *store)
  */
 static void md_bitmap_file_kick(struct bitmap *bitmap)
 {
-	char *path, *ptr = NULL;
-
 	if (!test_and_set_bit(BITMAP_STALE, &bitmap->flags)) {
 		md_bitmap_update_sb(bitmap);
 
 		if (bitmap->storage.file) {
-			path = kmalloc(PAGE_SIZE, GFP_KERNEL);
-			if (path)
-				ptr = file_path(bitmap->storage.file,
-					     path, PAGE_SIZE);
-
-			pr_warn("%s: kicking failed bitmap file %s from array!\n",
-				bmname(bitmap), IS_ERR(ptr) ? "" : ptr);
-
-			kfree(path);
+			pr_warn("%s: kicking failed bitmap file %pD from array!\n",
+				bmname(bitmap), bitmap->storage.file);
 		} else
 			pr_warn("%s: disabling internal bitmap due to errors\n",
 				bmname(bitmap));
-- 
2.17.1

Re: [PATCH RFC 11/13] md/bitmap: simplify the printing with '%pD' specifier

From: Guoqing Jiang <hidden>
Date: 2021-07-16 09:38:42


On 7/15/21 11:15 AM, Jia He wrote:
quoted hunk
After the behavior of '%pD' is changed to print the full path of file,
the log printing can be simplified.

Given the space with proper length would be allocated in vprintk_store(),
it is worthy of dropping kmalloc()/kfree() to avoid additional space
allocation. The error case is well handled in d_path_unsafe(), the error
string would be copied in '%pD' buffer, no need to additionally handle
IS_ERR().

Cc: Song Liu <song@kernel.org>
Cc: linux-raid@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Jia He <redacted>
---
  drivers/md/md-bitmap.c | 13 ++-----------
  1 file changed, 2 insertions(+), 11 deletions(-)
diff --git a/drivers/md/md-bitmap.c b/drivers/md/md-bitmap.c
index e29c6298ef5c..a82f1c2ef83c 100644
--- a/drivers/md/md-bitmap.c
+++ b/drivers/md/md-bitmap.c
@@ -862,21 +862,12 @@ static void md_bitmap_file_unmap(struct bitmap_storage *store)
   */
  static void md_bitmap_file_kick(struct bitmap *bitmap)
  {
-	char *path, *ptr = NULL;
-
  	if (!test_and_set_bit(BITMAP_STALE, &bitmap->flags)) {
  		md_bitmap_update_sb(bitmap);
  
  		if (bitmap->storage.file) {
-			path = kmalloc(PAGE_SIZE, GFP_KERNEL);
-			if (path)
-				ptr = file_path(bitmap->storage.file,
-					     path, PAGE_SIZE);
-
-			pr_warn("%s: kicking failed bitmap file %s from array!\n",
-				bmname(bitmap), IS_ERR(ptr) ? "" : ptr);
-
-			kfree(path);
+			pr_warn("%s: kicking failed bitmap file %pD from array!\n",
+				bmname(bitmap), bitmap->storage.file);
  		} else
  			pr_warn("%s: disabling internal bitmap due to errors\n",
  				bmname(bitmap));
Looks good,  Acked-by: Guoqing Jiang [off-list ref]

Thanks,
Guoqing

Re: [PATCH RFC 11/13] md/bitmap: simplify the printing with '%pD' specifier

From: Song Liu <song@kernel.org>
Date: 2021-07-23 17:05:29

On Fri, Jul 16, 2021 at 2:41 AM Guoqing Jiang [off-list ref] wrote:


On 7/15/21 11:15 AM, Jia He wrote:
quoted
After the behavior of '%pD' is changed to print the full path of file,
the log printing can be simplified.

Given the space with proper length would be allocated in vprintk_store(),
it is worthy of dropping kmalloc()/kfree() to avoid additional space
allocation. The error case is well handled in d_path_unsafe(), the error
string would be copied in '%pD' buffer, no need to additionally handle
IS_ERR().

Cc: Song Liu <song@kernel.org>
Cc: linux-raid@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Jia He <redacted>
---
  drivers/md/md-bitmap.c | 13 ++-----------
  1 file changed, 2 insertions(+), 11 deletions(-)
diff --git a/drivers/md/md-bitmap.c b/drivers/md/md-bitmap.c
index e29c6298ef5c..a82f1c2ef83c 100644
--- a/drivers/md/md-bitmap.c
+++ b/drivers/md/md-bitmap.c
@@ -862,21 +862,12 @@ static void md_bitmap_file_unmap(struct bitmap_storage *store)
   */
  static void md_bitmap_file_kick(struct bitmap *bitmap)
  {
-     char *path, *ptr = NULL;
-
      if (!test_and_set_bit(BITMAP_STALE, &bitmap->flags)) {
              md_bitmap_update_sb(bitmap);

              if (bitmap->storage.file) {
-                     path = kmalloc(PAGE_SIZE, GFP_KERNEL);
-                     if (path)
-                             ptr = file_path(bitmap->storage.file,
-                                          path, PAGE_SIZE);
-
-                     pr_warn("%s: kicking failed bitmap file %s from array!\n",
-                             bmname(bitmap), IS_ERR(ptr) ? "" : ptr);
-
-                     kfree(path);
+                     pr_warn("%s: kicking failed bitmap file %pD from array!\n",
+                             bmname(bitmap), bitmap->storage.file);
This is neat!

Acked-by: Song Liu <song@kernel.org>



quoted
              } else
                      pr_warn("%s: disabling internal bitmap due to errors\n",
                              bmname(bitmap));
Looks good,  Acked-by: Guoqing Jiang [off-list ref]
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help