Re: [PATCH] ext4: make ext4_mb_initialize_context return void

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 10/27/22 2:29 PM, Jason Yan wrote:

On 2022/10/27 11:24, Guoqing Jiang wrote:
Change the return type to void since it always return 0, and no need
to do the checking in ext4_mb_new_blocks.

Signed-off-by: Guoqing Jiang <guoqing.jiang@xxxxxxxxx>
---
  fs/ext4/mballoc.c | 10 ++--------
  1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c
index 9dad93059945..5b2ae37a8b80 100644
--- a/fs/ext4/mballoc.c
+++ b/fs/ext4/mballoc.c
@@ -5204,7 +5204,7 @@ static void ext4_mb_group_or_file(struct ext4_allocation_context *ac)
      mutex_lock(&ac->ac_lg->lg_mutex);
  }
  -static noinline_for_stack int
+static noinline_for_stack void
  ext4_mb_initialize_context(struct ext4_allocation_context *ac,
                  struct ext4_allocation_request *ar)
  {
@@ -5253,8 +5253,6 @@ ext4_mb_initialize_context(struct ext4_allocation_context *ac,
              (unsigned) ar->lleft, (unsigned) ar->pleft,
              (unsigned) ar->lright, (unsigned) ar->pright,
              inode_is_open_for_write(ar->inode) ? "" : "non-");
-    return 0;
-
  }
    static noinline_for_stack void
@@ -5591,11 +5589,7 @@ ext4_fsblk_t ext4_mb_new_blocks(handle_t *handle,
          goto out;
      }
  -    *errp = ext4_mb_initialize_context(ac, ar);
-    if (*errp) {
-        ar->len = 0;
-        goto out;
-    }
+    ext4_mb_initialize_context(ac, ar);

This changed the logic here slightly. *errp will not be intialized with zero after this change. So we need to carefully check whether this will cause any issues.

Yes, thanks for reminder. I think "*errp" is always set later with below.

https://elixir.bootlin.com/linux/v6.1-rc2/source/fs/ext4/mballoc.c#L5606
https://elixir.bootlin.com/linux/v6.1-rc2/source/fs/ext4/mballoc.c#L5611
https://elixir.bootlin.com/linux/v6.1-rc2/source/fs/ext4/mballoc.c#L5629
https://elixir.bootlin.com/linux/v6.1-rc2/source/fs/ext4/mballoc.c#L5646

Is there any place where don't set it accordfingly? If so,  the below should be kept.

*errp = ext4_mb_initialize_context(ac, ar);

Thanks,
Guoqing



[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux