From nobody Mon Jun 8 16:29:07 2026 Received: from mail-pj1-f44.google.com (mail-pj1-f44.google.com [209.85.216.44]) (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 8F3CB2D2488 for ; Thu, 28 May 2026 02:15:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779934557; cv=none; b=Qgpj/1mWifH1OBqR23maW4X1iE0itGiU9PqrWh5JQWxd8kxz18Caz7jam414ATeL4FbkA0xEL8J2qaZAYfSnWK7zNHcHZ0uIf9RDNQJIFlHNUVfOKGC+g9Xg7lvVY9X5V1g1cElyW86t49qLiGFjEiD9Ihmr3WI7APsZBo9fiZw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779934557; c=relaxed/simple; bh=cTDRdOQPPIBJHJS8UtAzmhpnUyPrrU4bxmh03cAS/Qk=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Content-Type; b=nb+3Nhag2l7LMkzDH8xzOUZYfU5J1Vjrfo3Ogr4Wz4v/ORitN9SPuUEAshf5fxfkhxHp5Vn9xJSwdjdbmoxME7EU+oxEM0bL8lJBoedPtnQMd9FucfthgoH6Nw0Kohe8wRs1Dnzw8kAb+FP+ojOySR/DPUwKmZWATUX4B0COFIc= 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=ESiqEVwh; arc=none smtp.client-ip=209.85.216.44 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="ESiqEVwh" Received: by mail-pj1-f44.google.com with SMTP id 98e67ed59e1d1-36a35e4eefeso4965532a91.1 for ; Wed, 27 May 2026 19:15:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779934556; x=1780539356; 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; bh=9qKTx4wwwn/KnQj5P1c8u+QpqNSgMGAUsRjMkSqVvk4=; b=ESiqEVwhcJKbNTU8d0lhrsqjOwTZFxsNF+0tg4WgClraPnwAXw+QorWPLlNs5YnsBJ uGXc/nauYt7EThMjKtXCAsD6+kbUGjYWzW30LT+agq14PNpJadQGC9n/pgoFYNoYQUTG lqJEeLrSa48FXg0gQ5zzkohVsVrdvebKXlpIHsazjBCIowXpWT7eQtF+uGJTVAWxTOzl QTxQ7+tUdXJAjC/loHeCvc3EDh+3723wMVA7FhUcys1HfBNGRG4mW6o1k0B7f4nrHG96 dfJMazN2uGx8mXltYyR8seOezkzrNjx45yh51IRmhDR4iyaU1LGB5E9LRxqV7V8JH0Fs TeIw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779934556; x=1780539356; 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; bh=9qKTx4wwwn/KnQj5P1c8u+QpqNSgMGAUsRjMkSqVvk4=; b=PYLXkP81lsNpBwMLp+a0WpoNJ4oiDeqBIWIHi2eFdukHkWeISGyR3AOAi8dNzCg2Ao l6MjwpH/8AQH7VJIavfP1H5g9Hdp5ks7neoiaMFrpjNep8CbAQc2AvavsadzB6mUJjBK 2jkjavxlVvKM3C3eEdZKA3nuXXUwIy32W/rAiec3+VvQ4PzaEFJs5xW1Yu3jC4eRvh1y 1GN6EOWP4TCW+JESyJE8MFQfV1IxuNs69nDv7VYtB6oWw1CpNp9d4R4gRD5aeki+QUKE +SdfCGqm4Q9PgxK1fSIPibPA7SZzu0gC5uk1wCfmabZncjYZgYZzO3se/soM7Li12JJC a17w== X-Forwarded-Encrypted: i=1; AFNElJ/3yMgAMKIPZ7C0qBFQ8RNGnKdKbXCnj99uhUq9NlERQf4s8YmxF3Ir37uzPYuJEsPZqZefLMTrf0SCNq0=@vger.kernel.org X-Gm-Message-State: AOJu0YxP47yWYl0gJp9DiZkCYvkcQPDHZSt7/K7b2RzoPqU7aJM/QxhT uOYzvoc+C/2Ja4FdnmpU/m9zs5e/sJ8ld9haTPTdHE9G0HQfbBGTCzQF X-Gm-Gg: Acq92OGOUlyI/GV2qv5BaUjIxwpY4dJIn6X9H/UcZJ1IpWrTDt848vctyVJgZX3feVJ rSacVB89NSj3CabEGEJzi0E4f9+VbMtquhL98laF6rrzEWFJLLEJ4/C5ANRx9BGfCBfKZTzY9d0 qboznnKRUMNJImKutXkkmvq40xToEo2p6mpJfuBmcZqfX07ts+26HmQB9ITVZkY8MnxBIJ41i29 ADomOKDodsrMQIMInimExs9V2rESWTYgnWSKLqNbeIz8hDv2XfBh/gOFygGZbbTShI+s7IsOPnz Atf1LqiVxNmZlkCsik3TZtvvLQI7EOOzm50EzQ63egcWarFGJpHGcS8dXcUKJKfiTwgjtA2gz7Z xfFcy1mOZfz9Yi1ekgqLIytnF6K+xlj4DQTCyKxTTwdgQFnarrdUvpyKJ0Ggy9JzWl+FdYIBTh1 EhOL4Fm9Gz6vTaJQkkU32mkU+cLBJnxLsv5snkjSablhNkV0bvge8= X-Received: by 2002:a17:90b:3887:b0:369:223a:cb60 with SMTP id 98e67ed59e1d1-36a674558fcmr23292850a91.8.1779934555746; Wed, 27 May 2026 19:15:55 -0700 (PDT) Received: from hyunchul-PC02.lge.net ([27.122.242.71]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-36b9090b6b7sm223234a91.7.2026.05.27.19.15.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 May 2026 19:15:55 -0700 (PDT) From: Hyunchul Lee To: Namjae Jeon Cc: Hyunchul Lee , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] ntfs: not change 0-byte $DATA attribute to non-resident Date: Thu, 28 May 2026 11:15:35 +0900 Message-ID: <20260528-f-0-byte-data-v1-1-9f36f5ce39b1@gmail.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-Type: text/plain; charset="utf-8" X-Mailer: b4 0.13.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1957; i=hyc.lee@gmail.com; h=from:subject:message-id; bh=cTDRdOQPPIBJHJS8UtAzmhpnUyPrrU4bxmh03cAS/Qk=; b=owEBbQKS/ZANAwAKATTyMPr3jkjTAcsmYgBqF6UFr7Q2QW/zcUfkpuUJK/6R99k2b5X+QQRO0 Oh/cFQrXreJAjMEAAEKAB0WIQTVhSnMU3bjbW4eb2I08jD6945I0wUCahelBQAKCRA08jD6945I 00cxEACWQZm6mmEBizp8h3eOL6Md6bxlVMGPCAQd7EdEQHLz2MvHfE0Tcnb0bAvna0HoAyOMztD UuZEwsLj32xcFIzquMdDuqPGBr4e5XunmP4o7H10vOsIPKspVShiVpYhf/AfhDbR6VppCXYlinB fShlyTEEE9n2N8BiLVAiLNt0J3f+SsteWAFwr2z7ej4DO7GoRS+f0FaR/EYsPIkWQ+S1duej5mP xzkyeCNawgyCputWr9G5TEJe+Su8K6b5QB10StRlbseT4VZmEcU+bfy1PstcT+mTPdG63xIKhyA 8NvG2qRRdEP9zembDoO3goLrVlQa82CTBfbbgVoV25v3C9GDcKg0DhBLZkMB+H6c7WfbrXX5o47 l97XpyDF+zP0WUN7k1dIs6nKknBoPpC3YY+pduMaPrOZUSjBidTY7tESIUm9974YymkNKeU4gKU uThv4X0Ygf9T4N2JGGf2DQD3FLygDMc0Wl3yxnw5oRCaX5OtXo2IO/rC5NSAS2h/HLsRQydGQ2r RqI/6MfBOFS/Nx7eePi5DewoG4+IYhHB/kUpoUissEXPvIVQvdOEPrDRR+oLMQxdSgK5MecirA9 /vXmZeFXuyC46lpXcnXa4d/YnkcfA7KhJ/1p0CpZcYntcvlTRyeaHNHxbGXNLlGyXSs6Z3gUXa1 /CTT8TifUey1Gvg== X-Developer-Key: i=hyc.lee@gmail.com; a=openpgp; fpr=D58529CC5376E36D6E1E6F6234F230FAF78E48D3 Content-Transfer-Encoding: quoted-printable When ntfs_resident_attr_resize() cannot grow a resident attribute in place, it retries after converting other resident attributes to non-resident to free space in the MFT recrord. Do not select zero-length resident $DATA attributes for this conversion. fsck treats 0-byte non-resident $DATA attribute as corruptions. Signed-off-by: Hyunchul Lee --- fs/ntfs/attrib.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/fs/ntfs/attrib.c b/fs/ntfs/attrib.c index 9d676375f25c..2872b4ce1835 100644 --- a/fs/ntfs/attrib.c +++ b/fs/ntfs/attrib.c @@ -4537,10 +4537,12 @@ static int ntfs_resident_attr_resize(struct ntfs_in= ode *attr_ni, const s64 newsi while (!(err =3D ntfs_attr_lookup(AT_UNUSED, NULL, 0, 0, 0, NULL, 0, ctx)= )) { struct inode *tvi; struct attr_record *a; + u32 value_len; =20 a =3D ctx->attr; if (a->non_resident || a->type =3D=3D AT_ATTRIBUTE_LIST) continue; + value_len =3D le32_to_cpu(a->data.resident.value_length); =20 if (ntfs_attr_can_be_non_resident(vol, a->type)) continue; @@ -4552,6 +4554,8 @@ static int ntfs_resident_attr_resize(struct ntfs_inod= e *attr_ni, const s64 newsi if (le32_to_cpu(a->length) <=3D (sizeof(struct attr_record) - sizeof(s64= )) + ((a->name_length * sizeof(__le16) + 7) & ~7) + 8) continue; + if (a->type =3D=3D AT_DATA && !value_len) + continue; =20 if (a->type =3D=3D AT_DATA) tvi =3D ntfs_iget(sb, base_ni->mft_no); @@ -4564,8 +4568,7 @@ static int ntfs_resident_attr_resize(struct ntfs_inod= e *attr_ni, const s64 newsi continue; } =20 - if (ntfs_attr_make_non_resident(NTFS_I(tvi), - le32_to_cpu(ctx->attr->data.resident.value_length))) { + if (ntfs_attr_make_non_resident(NTFS_I(tvi), value_len)) { iput(tvi); continue; } --- base-commit: 47a20013412ac44a71be899c206a2dc71c7a5dd9 change-id: 20260528-f-0-byte-data-ff696b1bacf6 Best regards, --=20 Thanks, Hyunchul