erofs: allocate extra bvec pages directly instead of retrying
authorGao Xiang <hsiangkao@linux.alibaba.com>
Fri, 26 May 2023 20:14:54 +0000 (04:14 +0800)
committerGao Xiang <hsiangkao@linux.alibaba.com>
Mon, 29 May 2023 15:04:45 +0000 (23:04 +0800)
commit05b63d2beb8b0f752d1f5cdd051c8bdbf532cedd
tree7ec36d07082fef2dd9e7325d42f09f98a58d9d41
parent796e9149a2fcdba5543e247abd8d911a399bb9a6
erofs: allocate extra bvec pages directly instead of retrying

If non-bootstrap bvecs cannot be kept in place (very rarely), an extra
short-lived page is allocated.

Let's just allocate it immediately rather than do unnecessary -EAGAIN
return first and retry as a cleanup.  Also it's unnecessary to use
__GFP_NOFAIL here since we could gracefully fail out this case instead.

Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
Reviewed-by: Yue Hu <huyue2@coolpad.com>
Link: https://lore.kernel.org/r/20230526201459.128169-2-hsiangkao@linux.alibaba.com
fs/erofs/zdata.c