From nobody Mon Sep 28 07:24:30 2026 Received: from mail-pg1-f179.google.com (mail-pg1-f179.google.com [209.85.215.179]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5C2783E49DE for ; Tue, 25 Aug 2026 08:37:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787647067; cv=none; b=dt/e0DFpBRGzhEpPswstO2E+6pLGhCcuLDmkFnKeN9GJH/FlPRL8Y9xR9FAyFJhR+cyUWzAz6+ZTCv30m1U2f/gqxbb6I/Fc56l09wxs9gMkVisbHh8HdjG4CTxy4QrwbvkTWRrASs+8qUEtmgjIVfCdwWhqCMitzGzh/0DbX1k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787647067; c=relaxed/simple; bh=wxJGXWCIoHxymrVZawU6RsjxVkIqwKGANEH61hK8Im0=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=NkzCnvCWy8eIzebmYIysK2vcmTSXoPuRgY+2cywJQ2BFuMbgrFlY99yvmHqZHYn269nWg5g7Rws7rKFg8/epg2VYGUKAQwOKtMU15V0JXM7h6+hV/Na++K5X1SHHSz1nho9GBFQrmGowyXggMKL0na6X78q+JQy4PupllaSagD8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=FwbUvSgo; arc=none smtp.client-ip=209.85.215.179 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="FwbUvSgo" Received: by mail-pg1-f179.google.com with SMTP id 41be03b00d2f7-cbe827e3cb4so5094297a12.3 for ; Tue, 25 Aug 2026 01:37:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787647066; x=1788251866; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to:content-type; bh=Mb+CK2NqBUYVaIe5Wsr+/1j4bZr/e8glNldexkHYN0o=; b=FwbUvSgo7kuXYarPow/WXCcawC1+3q+JHakqPHq9g3Xlu0DQeIAp9shD1MmnoV9BYg 2qXw1E780m7kYJPUuzQlxv9945QuQ49RHoCzRmoQYo8vEcxcPuuNY4X9GY5EHsTY3nmA 5eTWeFKObI68kpYWjdam3kKILLVNynANPYZSqM5rCagv3mmV4PL8MuFncWKBXvfp5GpZ 29RYHIThVmKu7JAC1bo88CceKaWe8irDAggC/wnM8VYoDP9sozFhFSXCALJyr5MtsXP3 Wp4Fout2tIUbzFAdtb+ahTPFuOuQ9x4XJ73H+3qP+eYHGAtUUQqnm2j20/SnxpQEp0hd ZXbA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787647066; x=1788251866; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=Mb+CK2NqBUYVaIe5Wsr+/1j4bZr/e8glNldexkHYN0o=; b=KvriCxVKVTsR4pdksNd+MrJrZWl3LqbyfGuWHGoTaKvQxItj1dg690oexQolPN9cJ6 kYnvL02BS1IsbrdlTs2SMMK3OvHXv5yAP8Bz7Q4mJj1jByVdR0ZSiYVcVxDLm3qIh/fx r6FZTRYs/aYisiR5BCXN6C2T98TG83z9HHRaiGBDUkcLX4D4mGiFXrqSu3aKOiEGrg9u xpVpYbmMUAIg1Tpq+Jf1eSCWbneyhr9G0ZsTv7bzp+IPzMPozz+otFrY0F6cvgD99od4 8u5Elvnc3m5Dma7ymRQRWayjRJEp0UrTWSEluc45ECQ8c1+mGswNZC3DofhHJm9htAUy WwGw== X-Forwarded-Encrypted: i=1; AHgh+Ro5wvtX7KuLIp0eiXxkpCJd3JJ20mExrZr85PN9G6zP9oVSV4q5eaUjks7gNSkQlyifgQ7CHmS0ZMz9brA=@vger.kernel.org X-Gm-Message-State: AFuF++k27bKrP6olN49ItKBlywHev10cq/s4N17p6WtcPM1PsWoARRZW kOHNG7TGjnwg0u2wXlKoMgX+d7NZT04jYeEhb4gzY3I7Y/EvVRelcnUy X-Gm-Gg: AR+sD10l3UBy0OrdEEfhQtyDql1EgLk82cE4/X2P5daVrAd/3heUnmoVThChk3J4ycw av1NsGKySC63m8ysZY/hGo7AXFFhTw6nMJLNXJNgEH8gIj6Ixyi0uLLHN3MqqUduIylYAIFfFXl XY2pjD7Z2k3PMgPjznt4sKNUWNZPMri5j7LrXo04WcC325y6aMQ103lokcsldPah4RHbKC5CrCH hryg2PKGmb5/2uqJROVFXDhYr5IKWbBEYoGqA3vLRxdcSH6HIPWKOyG3E0sVaYP2g0XssPIBueS sNw5xxV93sjKO6/YZTP3zTkQrUhFcS245+f5HnOQdePtbzezDIGng72M9+gbpxS6IRQvVELM1y+ yae+dkUMgzL2KSkJA105HnBaHXd+QAGBPuFYr34d/qzSeUKxMXuVI4fxSe+3iymH1iCpXZXWE6Q sk+AEKvzvhB6qfDkxF2JmnYug0TDsJqgbz+hSkOjeor2iNZ8TXAS/5eoY1pj+TWw9Yu5IrZkB53 PREHGOkQz55SejT/uWx/+RVQr8I8bFasoU= X-Received: by 2002:a17:90b:5844:b0:393:1d92:db5 with SMTP id 98e67ed59e1d1-395c35e1199mr67956027a91.10.1787647065666; Tue, 25 Aug 2026 01:37:45 -0700 (PDT) Received: from qiwenjie-ThinkCentre-M760t.mioffice.cn ([43.224.245.241]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-39645d31e74sm2941246a91.11.2026.08.25.01.37.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 25 Aug 2026 01:37:45 -0700 (PDT) From: Wenjie Qi X-Google-Original-From: Wenjie Qi To: jaegeuk@kernel.org, chao@kernel.org Cc: s_min.jeong@samsung.com, daehojeong@google.com, linux-f2fs-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org, qiwenjie@xiaomi.com, qwjhust@gmail.com Subject: [PATCH] f2fs: propagate resizable_tail_secno mount option Date: Tue, 25 Aug 2026 16:37:38 +0800 Message-ID: <20260825083738.526423-1-qiwenjie@xiaomi.com> X-Mailer: git-send-email 2.43.0 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" Mount parsing stores resizable_tail_secno in F2FS_CTX_INFO(ctx), but it does not mark the option in ctx->spec_mask. As a result, f2fs_apply_options() never copies the value into F2FS_OPTION(sbi), so adjust_pinned_area_boundary() ignores the requested tail reservation. Set the missing spec_mask bit and propagate the parsed value through f2fs_apply_options(). Fixes: d8745ba260ab ("f2fs: support resizable tail section and unify pinned= allocation") Signed-off-by: Wenjie Qi --- QEMU validation summary: - plain mount reported `pinned_area_max_secno=3D502` - `-o resizable_tail_secno=3D1` reported `pinned_area_max_secno=3D501` - bounded fill stayed within the reduced boundary through the first `FALLOC_RET=3D-1 ERRNO=3D28` fs/f2fs/super.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c index c1e315282ec..6238dfe6f4e 100644 --- a/fs/f2fs/super.c +++ b/fs/f2fs/super.c @@ -406,6 +406,7 @@ static match_table_t f2fs_checkpoint_tokens =3D { #define F2FS_SPEC_errors (1 << 23) #define F2FS_SPEC_lookup_mode (1 << 24) #define F2FS_SPEC_reserve_node (1 << 25) +#define F2FS_SPEC_resizable_tail_secno BIT(26) =20 struct f2fs_fs_context { struct f2fs_mount_info info; @@ -1250,6 +1251,7 @@ static int f2fs_parse_param(struct fs_context *fc, st= ruct fs_parameter *param) break; case Opt_resizable_tail_secno: F2FS_CTX_INFO(ctx).resizable_tail_secno =3D result.uint_32; + ctx->spec_mask |=3D F2FS_SPEC_resizable_tail_secno; break; } return 0; @@ -1779,6 +1781,9 @@ static void f2fs_apply_options(struct fs_context *fc,= struct super_block *sb) F2FS_OPTION(sbi).errors =3D F2FS_CTX_INFO(ctx).errors; if (ctx->spec_mask & F2FS_SPEC_lookup_mode) F2FS_OPTION(sbi).lookup_mode =3D F2FS_CTX_INFO(ctx).lookup_mode; + if (ctx->spec_mask & F2FS_SPEC_resizable_tail_secno) + F2FS_OPTION(sbi).resizable_tail_secno =3D + F2FS_CTX_INFO(ctx).resizable_tail_secno; =20 f2fs_apply_compression(fc, sb); f2fs_apply_test_dummy_encryption(fc, sb); base-commit: d8745ba260abbcaf75fd458881381019ab3c5c07 --=20 2.43.0