From nobody Mon Feb 9 09:08:19 2026 Received: from out162-62-57-87.mail.qq.com (out162-62-57-87.mail.qq.com [162.62.57.87]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2D87F26E717 for ; Wed, 17 Dec 2025 09:09:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=162.62.57.87 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765962597; cv=none; b=RG4/Y4vu1PWSkqHVspGfp972/ANPJGotVMuClpr2OBRm0WZxrfmsUqGrAibOvQmrk/Qd1uR2mPB6PGMxhLyczod6bPBPGJ4gsC+6aH6Yu/b1KRNzIbbaCXuVPn1P82ZMVK492sYWHiUhg8CLICKU4gLJFwY2MQ+86dFzNFV5WC8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765962597; c=relaxed/simple; bh=rZn5r4L+kJ/iu1Ge35hLFGRVVDpwfhyygS+Bk7moHwk=; h=Message-ID:From:To:Cc:Subject:Date:MIME-Version; b=BvwwJXg3X/Pl/5BVpW4ws/ZDEBlkEGDgPI2oWdcQydqWZFQr7QmG21R86GywSwhF0Fc4Evpno9qEaaNrI+UK8oD9AXUSTc4Bvu9KpWyHfikNLG0J7gkt7gTTbwZxUFBPiGKxDjnzppOPS1561yXMas/PIdCbbDZnIjpN5sXW16g= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foxmail.com; spf=pass smtp.mailfrom=foxmail.com; dkim=pass (1024-bit key) header.d=foxmail.com header.i=@foxmail.com header.b=Qjkxu9Bl; arc=none smtp.client-ip=162.62.57.87 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foxmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=foxmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=foxmail.com header.i=@foxmail.com header.b="Qjkxu9Bl" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1765962583; bh=65vk8XPmA9E0WnIcrU///VhPn8CL2lAhWdMdLsav+IM=; h=From:To:Cc:Subject:Date; b=Qjkxu9Bl1LOOMrvVl4VAu6410Qvhfe8E1v72NUADU6G+ND61jJwH7laIYoJgQQoqD SYiqrxkBE8PkakfS571VRuuygzNjfErdVBiYQPHW1GOQj7IvaB3bdDHm/9TIN5mnaX Ysz3KhkuDQfkK2V1WbKUfOaXObtUM1GyF+bxE9/k= Received: from meizu-Precision-3660.meizu.com ([112.91.84.72]) by newxmesmtplogicsvrsza56-0.qq.com (NewEsmtp) with SMTP id 26891639; Wed, 17 Dec 2025 17:09:40 +0800 X-QQ-mid: xmsmtpt1765962580t04h2sk38 Message-ID: X-QQ-XMAILINFO: M2SvzgchpLqfpcOe5t585zGNl2qaBwieBCToh8zU2Ly1CywlEVuQDvrfwWuKqt Ad4d7i6Z5EhfcYoLYw2bkl2wF39s3DgdAAshaP7DlQsRxLrT6C/zmE3ldU0WQ7tqch37juT2p6wB qFmvnmUuFI1mBv2oEPm19Yd/lEedSBykzVcCz4faJ/y3+L5KlfNBPNmAXompJL53wa6bkN/MnZwp D+P2jdB+ej5clCTxiTFB1s+VbBKFzW0CQCTBZXU/YVIJql8sIvtQUrNYOOyLmCnR8Dpg0mB5qiax Dc0ycEWPtFf2QsLVWHojQ2HxfN2JW6v0YwqPPAwxOSUT58wGq8tdckTxCOxIobtrTWfP3mX3mHCM HTS6RQtE5hbww1H2iFUXu0h1g6DCixkIwtTEGlO/zzAaBESTeZVaRjfzp7HU00CbBlmfpcICXXph doDzhJZsmJTv4ZiMRWRph3RMMfq52n1Q/6sSa/khn4JdoI2W1gs5Fy5dRoCqE23hCZbfmuRyKfdT 1Qz/f8ZwAIE/VsGXxOA6gP7im1TDlOKe4ZCYvLFgAXm3tcRK/O5QWD8CP9Zjj3h/I0oOnQdVsmSr v80QwMrIuuRMFGjfNCgcDhnBIe96kg5X4mf3Ijuzn+yHpGLa9C6cXCn8JK+yTdJUtJIMYXTjz7k6 jzn1tKXOIw7Jb9ryBCZj16Jn0Aeh9vq+AmJPqmG+8zWKMdEfNp4d/2WXa9oCIRXfGi6BLorrpdyN ygUeibtKRjz6elhTIfrV/FgmjcQaJ8Xh6Wf0KOEQ/HSv7Ib7G/yFXWkFUJNrw5Sy8QAvG9XdHBmA /0B69wzy65LY5xQG4MhQcKq3c+vMNJvFgWRe5zAfmJxjlsqw/+egdpp8K4BLpkgsKT5CClgk5QUf G2QZ1QzOs6CarQTg8eqyZVJ7GfrL57lRxQVlWY2E5HQohBGWHm3WajZpUhXP/kRPAyWipw8lK/D+ buuQZANvT6BVQW15wkcahwEWWN16OOHn4+4vpww7llWvM5RI2gflegtL1PEqRP/OEOdz2P+bx45E ocm4KgzyUFlloAplOx+W71FSrenQDmg+Hh+3W7weheAwOlfwtm X-QQ-XMRINFO: M/715EihBoGSf6IYSX1iLFg= From: Yuwen Chen To: xiang@kernel.org Cc: chao@kernel.org, huyue2@coolpad.com, jefflexu@linux.alibaba.com, linux-erofs@lists.ozlabs.org, linux-kernel@vger.kernel.org, Yuwen Chen Subject: [PATCH] erofs: simplify the code using for_each_set_bit Date: Wed, 17 Dec 2025 17:09:39 +0800 X-OQ-MSGID: <20251217090939.2814708-1-ywen.chen@foxmail.com> X-Mailer: git-send-email 2.34.1 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" When mounting the EROFS file system, it is necessary to check the available compression algorithms. At this time, the for_each_set_bit function can be used to simplify the code logic. Signed-off-by: Yuwen Chen --- fs/erofs/decompressor.c | 10 +++------- fs/erofs/internal.h | 2 +- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/fs/erofs/decompressor.c b/fs/erofs/decompressor.c index 2ec9b2bb628d6..93e7ae2e363ff 100644 --- a/fs/erofs/decompressor.c +++ b/fs/erofs/decompressor.c @@ -405,7 +405,7 @@ int z_erofs_parse_cfgs(struct super_block *sb, struct e= rofs_super_block *dsb) { struct erofs_sb_info *sbi =3D EROFS_SB(sb); struct erofs_buf buf =3D __EROFS_BUF_INITIALIZER; - unsigned int algs, alg; + unsigned int alg; erofs_off_t offset; int size, ret =3D 0; =20 @@ -416,20 +416,16 @@ int z_erofs_parse_cfgs(struct super_block *sb, struct= erofs_super_block *dsb) =20 sbi->available_compr_algs =3D le16_to_cpu(dsb->u1.available_compr_algs); if (sbi->available_compr_algs & ~Z_EROFS_ALL_COMPR_ALGS) { - erofs_err(sb, "unidentified algorithms %x, please upgrade kernel", + erofs_err(sb, "unidentified algorithms %lx, please upgrade kernel", sbi->available_compr_algs & ~Z_EROFS_ALL_COMPR_ALGS); return -EOPNOTSUPP; } =20 erofs_init_metabuf(&buf, sb); offset =3D EROFS_SUPER_OFFSET + sbi->sb_size; - alg =3D 0; - for (algs =3D sbi->available_compr_algs; algs; algs >>=3D 1, ++alg) { + for_each_set_bit(alg, &sbi->available_compr_algs, Z_EROFS_COMPRESSION_MAX= ) { void *data; =20 - if (!(algs & 1)) - continue; - data =3D erofs_read_metadata(sb, &buf, &offset, &size); if (IS_ERR(data)) { ret =3D PTR_ERR(data); diff --git a/fs/erofs/internal.h b/fs/erofs/internal.h index c69174675caf7..c34cfcdf1e401 100644 --- a/fs/erofs/internal.h +++ b/fs/erofs/internal.h @@ -126,7 +126,7 @@ struct erofs_sb_info { struct xarray managed_pslots; =20 unsigned int shrinker_run_no; - u16 available_compr_algs; + unsigned long available_compr_algs; =20 /* pseudo inode to manage cached pages */ struct inode *managed_cache; --=20 2.34.1